My VPS provider uses Xen and the distro images from Jailtime.org. Recently I installed a fresh Fedora Core 6 image (as they don't have a Fedora 7 image) and found a very subtle bug.
In the tweaks section of the FC6 image at Jailtime.org it is said:
To resolve tls issues, issued the following commands (*): # cp /lib/i686/nosegneg/lib* /lib/i686/ # ldconfig
The problem with this hack is that when you upgrade your glibc, the copied files will remain and will conflict with the new updated files. This is not theoretical, right now if you download and run the image, then execute yum upgrade your VM is hosed. End result, segmentation faults all around and you VM won't boot anymore.
To avoid the problem, remove all files copied into /lib/i686:
# rm -f /lib/i686/libpthread* /lib/i686/libc* /lib/i686/libm* \
/lib/i686/librt* /lib/i686/libthread_db*
The alternative to fix TLS problems is proposed on the Jailtime.org site itself:
An alternative to the tweak above is to use the following commands: # echo "hwcap 0 nosegneg" > /etc/ld.so.conf.d/libc6-xen.conf # ldconfig
But it came with the cryptic warning that "This alternative did not work in the jailtime image however". Well, it does work with the Jailtime.org image.
By the way, after this issue was solved, I was able not only to update FC6, but to upgrade to F7 using Yum. The only extra step necessary is to make sure in the newly installed /etc/rc.d/rc.sysinit has the /sbin/start_udev line is commented out. Also, for some strange reason, the libgcc and libstdc++ packages have a higher version number in FC6 than in F7, so you will have to update these two by hand. Besides that, just follow this procedure.
Posted at: 13:47 | Category: /virtualization | permalink
Copyright © 2007,2008,2009,2010 Gustavo M. D. Vieira