Upgrade domU to Lenny

From Wiki

Jump to: navigation, search

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"

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.





Personal tools