As reported on Launchpad as bug 574468, installation of 64-bit Ubuntu 10.04 fails on IBM Bladecenters because the installer fails to detect the CD, due to a bug that has yet to be tracked down.
I've developed a workaround that will allow Ubuntu 10.04 Server to be installed on a Bladecenter blade by mounting an Ubuntu Server ISO image as a loopback device (and then further working around issues that arise from manually mounting the ISO image), and want to document it here.
You will need:
1. an Ubuntu Server 10.04 CD.
2. a USB stick formatted as ext2 with the Ubuntu Server ISO image stored on it. Other file systems may work as well, however fat32 does not seem to work, as I was unable to mount a fat32 USB stick in the installer shell.
3. a Bladecenter with a CD drive and a USB port. Both devices should be "attached" to whichever blade you're trying to install Ubuntu on.
1. boot your blade to the Ubuntu Server CD. Make sure the USB stick is plugged in as well.
2. proceed with the installer as normal, setting the keyboard layout, etc.
3. when the installer gets to the point where it fails to detect the CD, go back to the main menu and select "Execute Shell."
4. in the shell, mount the USB stick with commands like these:
5. copy the Ubuntu Server ISO image to the /root directory of the live file system with a command like:Code:mkdir /mnt/sdb1 mount /dev/sdb1 /mnt/sdb1
6. mount the Ubuntu Server ISO image as a loopback device with mountpoint /cdrom:Code:cp /mnt/sdb1/ubuntu-10.04-server-amd64.iso /root/ubuntu-10.04-server-amd64.iso
7. unmount the USB stick (but leave it plugged in):Code:mount -o loop -t iso9660 /root/ubuntu-10.04-server-amd64.iso /cdrom
Unmounting the USB stick seemed to be necessary in order to work around the "Failed to determine codename" issue detailed below in steps 9 and 10.Code:umount /dev/sdb1
8. type "exit" to exit the shell and go back to the main menu. From there, select the option to detect the CD ROM.
9. continue with the installation. It will go through networking and partitioning. After partitioning, however, it will fail again, complaining that it "Failed to determine codename for release."
10. at this point, go back to the main menu and choose the option to "Load installer components from CD." Then check the option that reads "Load Installer Components from an ISO Image" and press Continue.
After the packages for detecting and loading ISOs are installed, the installer should automatically search all available disk drives (mounted and unmounted) for ISO images. It should find the ISO image stored on your USB key and mount it. Thereafter, the installation will continue as normal and you will not get the error message about failing to determine the codename for the release. If this process fails, go back to the command shell and unmount your USB key--for some reason I found that if the key was mounted, the installer wasn't able to auto-detect the ISO image stored on it.
The codename issue seems to be related to the installer not liking that the ISO image was mounted manually. Letting the installer find and mount the ISO image itself apparently allows it to perform whatever magic is required to allow the installation to proceed. I figured this out mostly thanks to the tip in post #3 of bug 122402.
Here's hoping the real bug gets fixed soon so that all this hassle is not necessary in order to install an LTS release on popular server hardware.