Yenya's World

Wed, 07 Dec 2005

Upgrading to 64 bits

We are gradually upgrading the working servers in our IS MU cluster to a new hardware - systems based on AMD Athlon64 x2. I don't want to move the whole web cluster to a native 64-bit OS before all servers are upgraded. After having problems with 32-bit GRUB on the new hardware, I have hacked up the following solution:

I have moved all the directories from the root directory to a subdirectory /i386, installed a fresh installation of 64-bit Fedora on this filesystem (keeping the /i386 directory intact), and I boot a native 64-bit kernel with /sbin/init chrooted[?] to the /i386 subdirectory.

Well, the above is just a basic idea. In fact, few other tweaks had to be done - for example sysfs and /dev have to be mounted also inside the chrooted tree before the /sbin/init is started, the root filesystem has to be mounted read-write (because in the chrooted environment the root directory cannot be remounted by the rc.sysinit script - it is not a mount-point at all), few system 32-bit utilities (such as iptables) do not work under the 64-bit kernel, etc.

The whole solution is that I boot a script /i386-start instead of /sbin/init, and this script just runs

exec /usr/sbin/chroot /i386 /sbin/init "$@"

after setting up the system environment. This gives me a chrooted init, running as process #1. I have also started another instance of sshd that listens on a address, so that I can connect to the "outside" 64-bit environment when needed (when installing a new kernel, for example).

Section: /computers (RSS feed) | Permanent link | 0 writebacks


Yenya's World: Linux and beyond - Yenya's blog.


RSS feed

Jan "Yenya" Kasprzak

The main page of this blog



Blog roll:

alphabetically :-)