Upgrade domU to Lenny
From Wiki
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.
Contents |
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.
http://www.completefusion.com/wordpress/4gb-seg-fixup-errors-on-debian-lenny-xen-domu/
http://www.nabble.com/Bug-499366:-%224gb-seg-fixup%22-not-fixed-in-2.7-14--td19972026.html
http://blog.kabisa.nl/2009/01/30/4gb-seg-fixup-errors-on-debian-lenny-xen-domu/
http://lists.xensource.com/archives/html/xen-users/2006-11/msg00026.html
