Table of Contents
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. apt-get dist-upgrade
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.