Originally posted by: drag
Ya.. I have a USB key I installed Debian to.
The trick is that you have to give the file system a label edit the bootloader and /etc/fstab to refer to that label instead of the actual device. That way as you go from computer to computer and the devices change then it'll still be able to find the file system.
Then it'll probably help that if your using initramfs you edit the /etc/initramf-tools/modules to include drivers for USB devices. Stuff like echi_hcd, ohci_hcd, and uhci_hcd which will provide USB controller drivers for 99% of PCs out there. Then add usb-storage.
Then you rebuild the initrd and that way you will include support for usb devices at boot up time.
Now the one thing I haven't realy figured out is the bootloader.... I think I had better luck with Lilo.
Not realy the most practical thing to use, but it's interesting to play around with.
The trick to getting the system installed in the easiest way possible is to use Qemu (and Kqemu for acceleration). You plug in your USB device into your Linux computer. If your desktop automounts it then make sure that you umount it before proceeding.
Then you download the ISO image of the OS you want to install.
Then you launch Qemu (try qemu-launcher program for GUI configuration) using sudo or as root and use the ISO image for the cdrom, the usb device for the harddrive and have it boot the cdrom.
Then in the VM environment you can install to the USB drive like a regular harddrive.
Also this way you can boot up the drive in a VM environment to try different things if the computer won't boot in a real computer. No matter what is wrong it would be a fairly easy fix. The main problem I have is that a lot of even fairly modern computers don't support booting from a USB drive.
But it generally works.