The key idea is to modify the mini ramdisk to start USB support module during the boot sequence.
Here it is:
1) Install from CD
2) After installation, leave CD in drive and reboot with the parameter rescue
3) Pick your language and country
4) Wait for hardware detection to complete(was quite long on my system, seemed stuck for a while)
5) hostname: Ubuntu
7) My system appears stuck here with a blue screen saying "Ubuntu Installer rescue mode"
my system was not stuck but I still needed to type Ctrl-AltF2
From here it is slightly different for mkinitramfs (Breezy) as opposed to mkinitrd (Hoary):
A. edit /etc/mkinitramfs/modules to add the following:
ehci-hcd
usb-storage
scsi_mod
sd_mod
(nano didn't seem to come with Breezy, so use vim)
B. make the new image file:
mkinitramfs -o /boot/initrd_usb.img /lib/modules/
so for me that was
mkinitramfs -o /boot/initrd_usb.img /lib/modules/2.6.12-9-386
You will likely need to edit your grub.conf file.
title Ubuntu Breezy (2.6.12-9-386) USB
root (hd1,6)
kernel /vmlinuz-2.6.12-9-386 root=/dev/sda1 ro quiet splash
initrd /initrd_usb.img
savedefault
Restart and enjoy the fruit
I need to add some more info:
When you can't seem to boot th external USB because of the order of your USB drive is different from machine to machine, follow this step:
I installed linux on my laptop with the root HDD of GRUB set to hd1. This may not be the case if you switch to another machine. It could be hd0 or hd2 for example.
So when you get the error message from GRUB saying that it cannot find the boot sector, "Do not panic".
All you need to do is to press the "E" key to enter editor mode in GRUB and modify the "root" parameter from (hd1,0) to something like (hdx,0) where "x" is the actuall HDD contaning the boot partition.
I hope it helps solving you all's problems with different hardware structure.
Cheers.
Doug