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:

  1. You have an Intel Itanium IA-64 server with Ubuntu 8.04 booting properly
  2. Make a standard dist-upgrade to 9.04 version but don’t do a reboot :-)
  3. 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
  4. Download kernel source:
    apt-get source  linux-image-2.6.31-23-ia64
  5. 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
  6. Hold enter to accept the default options ;-)
    make KDEB_PKGVERSION=custom.1.0 deb-pkg
  7. 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
  8. Install the new kernel via dpkg.
     dpkg -i ../linux-image-2.6.31.12_custom.1.0_ia64.deb
  9. Build initrd for the new kernel:
    mkinitramfs -o /boot/initrd.img-2.6.31.12 2.6.31.12
  10. 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;
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • LinkedIn
  • Reddit
  • Twitter
  • Live
  • Wykop

Leave a Reply