View Single Post
Posts: 915 | Thanked: 3,209 times | Joined on Jan 2011 @ Germany
#3030
I may have made some progress towards a Jessie dist-upgrade. At least I managed to dist-upgrade my basic ED image.

What I did is basically going through the source code of Debian's eglibc package and change every relevant kernel version check from 2.6.32 to 2.6.28, which would be these files:
Code:
debian/sysdeps/linux.mk:MIN_KERNEL_SUPPORTED := 2.6.32
debian/debhelper.in/libc.preinst:        if linux_compare_versions "$kernel_ver" lt 2.6.32
ports/sysdeps/unix/sysv/linux/tile/configure.in:arch_minimum_kernel=2.6.32
ports/sysdeps/unix/sysv/linux/tile/configure:arch_minimum_kernel=2.6.32
Unfortunately while the libraries still build some eglibc testsuite checks will fail, causing Debian's debuild not to build packages from them. So I had to make sure the testsuite results would be ignored, which can be done by making sure the compare script always exits with error code 0, which can be done by simply uncommenting the penultimate line in this file:
Code:
debian/testsuite-checking/compare.sh:#exit 0
debuild will then build a whole bunch of custom packages from the eglibc source code, but as far as I can tell, only libc6 and libc-bin will actually be needed. You'll find those two packages in the link [1] (which should work for at least 30 days). The rest can be taken from the debian repository.

Using custom packages for a dist-upgrade is a bit tricky, especially when these packages are the very core of a Debian installation. I tried to install the modified libc6 and libc-bin packages via dpkg prior to the dist-upgrade, but got an error because the packages locales and locales-all could not be deconfigured.
My quick&dirty solution was to simply uninstall them (warning: this temporarilly broke my keyboard support, xvkbd's on-screen keyboard still worked, but only partially - letters and cursors worked, numbers and special characters didn't) and reinstall them after I upgraded libc6.

Then I set my libc6 and libc-bin on hold to make sure they won't be replaced by packages from the Debian repository and ran the dist-upgrade.
edit: For some reason I had to reinstall lsb-release afterwards.


The tricky thing of the whole process is that you'll need a working Jessie/armel installation to build these packages in the first place. So it's some kind of a vicious circle. I managed to break it by using a Jessie/armel chroot on my Cubieboard2, which took about 8 hours to build the packages. In parallel I started the same task in a qemu-arm machine on my Desktop PC (i7-2700k) which is running for almost 48 hours now and I expect it to run at least another 24 hours.
Cross-compiling for armel on an x86 machine should be the fastest (from previous experiments with compiling eglibc in amd64 I'd expect it to take an hour on my Desktop-PC) if you know how too do that. I don't.
However, once you have a working Jessie installation on your N900 theoretically you should be able to build newer versions of eglibc on your own in maybe a day or so. I haven't tried though and of course there's always the watchdog.

As some kind of a disclaimer, I honestly have no idea what results will come from my changes. There may be no regressions compared to Wheezy at all but it may also eat your children.
I think I read either in the libc6 or udev changelog that it will break udev, but I haven't tried and at least from my point of view there's little use for udev in ED in the first place.
One thing I have noticed is that LXDE's cpu monitor doesn't work properly anymore. It shows single peaks every few milliseconds no matter if the device is idle or under full usage. Also Jessie seems to be quite a bit slower than Wheezy. I have no idea if these problems are due to my changes or due to the ever-growing age difference (and therefore potential incompatibility) between Maemo and Debian and a general tendency of software to bloat as time (and versions) go by.

Of course since Jessie is still testing this workaround may not work anymore when Jessie is released. In fact the very next update to eglibc or any package that depends on it (which is virtually the whole distribution) may break it.

Oh, and before you ask: Jessie will neither fix the gparted, nor the gimp problem encountered in Wheezy. I checked both. At least for gimp I suspect some underlying outdated Maemo libraries to be the real reason, not ED itself. But unfortunately I can't remember where I got that idea from. I may try to verify this by running an ED image on my Cubieboard2 (where both programs work fine natively) but I'm not sure yet since answering this question seems completely academic to me.


[1] http://netload.in/dateikeNBnk8xOg/eg...ulu.tar.gz.htm

Last edited by sulu; 2013-12-15 at 16:40.
 

The Following 5 Users Say Thank You to sulu For This Useful Post: