Upgrade domU to Lenny
Debian Lenny (version 5) was released on the 14th of Feb, 2009.
I decided to upgrade one of my domU's to Lenny to see how the dist-upgrade went.
A nice email was sent to root with all the changes. There were a few questions about restarting services, and selecting which default configs to keep.
Kernel Error: 4gb seg fixup
Anyways, after I dist-upgraded, I got a whole load of kernel error messages:
Feb 15 18:18:03 twister kernel: printk: 694 messages suppressed. Feb 15 18:18:03 twister kernel: 4gb seg fixup, process python (pid 1618), cs:ip 73:b7dff870 Feb 15 18:18:08 twister kernel: printk: 696 messages suppressed. Feb 15 18:19:03 twister kernel: printk: 693 messages suppressed. Feb 15 18:19:03 twister kernel: 4gb seg fixup, process snmpd (pid 1657), cs:ip 73:b7bf71b4 Feb 15 18:19:08 twister kernel: printk: 695 messages suppressed. Feb 15 18:19:08 twister kernel: 4gb seg fixup, process snmpd (pid 1657), cs:ip 73:b7bf71b4
These appeared for various running daemons.
Reasons for 4gb seg fixup
- DomU was running Debian Lenny.
- The DomU while running Lenny was using a Debian Etch Kernel on dom0
- Solution 1: Upgrade dom0 to Debian Lenny, and thus dom0 would be using a correct kernel.
- Solution 2: See below:
Solution to 4gb seg fixup on DomU Xen
#On the domU apt-get install libc6-xen (should already be installed) mv /lib/tls /lib/tls.disabled (should already be done) vi /etc/ld.so.conf.d/libc6-xen.conf #change "hwcap 1 nosegneg" to "hwcap 0 nosegneg" ldconfig reboot
Edit to 4gb seg fixup
After dis-upgrading lenny on another domU, after closer watching of the upgrade process, there was one step relating to this issue which I may have overlooked. The step was:
Setting up libc6-xen (2.7-18) ... Configuration file `/etc/ld.so.conf.d/libc6-xen.conf' ==> File on system created by you or by a script. ==> File also in package provided by package maintainer. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : background this process to examine the situation The default action is to keep your current version. *** libc6-xen.conf (Y/I/N/O/D/Z) [default=N] ? D --- /etc/ld.so.conf.d/libc6-xen.conf 2007-04-20 17:34:58.000000000 +0100 +++ /etc/ld.so.conf.d/libc6-xen.conf.dpkg-new 2009-01-04 18:12:21.000000000 +0000 @@ -1 +1,6 @@ -hwcap 0 nosegneg +# This directive teaches ldconfig to search in nosegneg subdirectories +# and cache the DSOs there with extra bit 1 set in their hwcap match +# fields. In Xen guest kernels, the vDSO tells the dynamic linker to +# search in nosegneg subdirectories and to match this extra hwcap bit +# in the ld.so.cache file. +hwcap 1 nosegneg
So, simply by choosing the default option, the correct entry gets added to /etc/ld.so.conf.d/libc6-xen.conf! I did do a reboot of the VM, and there were no 4gb seg fixup errors :-) All in all, on my second domU upgrade to lenny, there were no errors at all at all. Good Job Debian.