Ubuntu 9.04 on Intel Itanium2 hangs after upgrade
This is a hint for all those who are happy users of IA-64 and Ubuntu 8.04 (hardy) and would like to upgrade to 9.04 (karmic).
The upgrade process is as simple as editing /etc/apt/sources.list, changing hardy to karmic and doing apt-get dist-upgrade. After that however, you will experience a blank screen with flashing cursor after initrd is loaded. It seems that there is a problem with some changed features in the kernel.
As I didn’t have enough patience and time to recompile the kernel milion times, I thought about a little trick. I have used the config of the working kernel from hardy as a base and built a new kernel for 9.04.
I have used the same approach to upgrade from 8.04 to 9.04. Firstly, from hardy to karmic, and then from karmic to lucid. And it works perfectly!
Here is a step by step instruction:
- You have an Intel Itanium IA-64 server with Ubuntu 8.04 booting properly
- Make a standard dist-upgrade to 9.04 version but don’t do a reboot :-)
- Install packages for the kernel build:
apt-get install autoconf gcc make dpkg-dev kernel-wedge debhelper xmlto docbook-utils gs transfig sharutils dpkg-dev
- Download kernel source:
apt-get source linux-image-2.6.31-23-ia64
- Get the working old config and build a new kernel with the old config. You’ll have to hold enter for some time to answer the question about new config options in the new kernel. I have used the default values.
cd linux-2.6.31/ cp /boot/config-2.6.24-19-mckinley linux-2.6.31/debian.master/config/ia64/config.common.ia64 cp /boot/config-2.6.24-19-mckinley .config
- Hold enter to accept the default options ;-)
make KDEB_PKGVERSION=custom.1.0 deb-pkg
- Build the kernel and the DEB package
mkinitramfs -o /boot/initrd.img-2.6.31.12 2.6.31.12 cd linux-2.6.32/ cp /boot/config-2.6.24-19-mckinley .config make KDEB_PKGVERSION=custom.1.0 deb-pkgmkinitramfs -o /boot/initrd.img-2.6.32.12 2.6.32.12
- Install the new kernel via dpkg.
dpkg -i ../linux-image-2.6.31.12_custom.1.0_ia64.deb
- Build initrd for the new kernel:
mkinitramfs -o /boot/initrd.img-2.6.31.12 2.6.31.12
- Make appropriate links and put your new kernel in /etc/elilo.conf and run elilo
Reboot and have fun with your upgraded Ubuntu :)
For a quick procedure:
cd / apt-get remove --purge linux-image-2.6.31-23-ia64; dpkg -i /home/warden/linux-image-2.6.31.12_custom.1.0_ia64.deb; mkinitramfs -o /boot/initrd.img-2.6.31.12 2.6.31.12; ln -s boot/vmlinuz-2.6.31.12 vmlinuz; ln -s boot/initrd.img-2.6.31.12 initrd.img; elilo;