Installing Suse Linux 9.2 on a USB hard drive
This is a helpful link:
http://www.simonf.com/usb/I finally got it working. I'm not completely booting of the USB drive, though. I'm using a tiny boot partition on the primary drive.
The set-up is: I got a Dell Inspiron 8600 which came pre-installed with Windows XP. There was a hidden DOS partition of about 4GB on the internal 60GB hard-drive that I think is used for system diagnostics and recovery. This partition came in handy when I installed Linux.
What Linux - I got Suse Linux 9.2 Professional. Booting off the DVD, I was able to resize the DOS partition, clipping off about a gig. The new free space I used for a new Linux boot partition (1GB is more than enough). On my external USB drive, I put a swap partition and the main partition for root. The GRUB boot manager I installed on the primary internal hard-disk of the laptop where I set Windows XP as the default OS and Linux as the second choice (since Linux only boots if the USB drive is plugged in). Overwriting my boot configuration on the primary drive (HDA) with the Linux boot manager wasn't an easy decision since I wasn't sure how reliable this would work out and whether I could easily switch back to my old boot loader if things went wrong. Anyway, I did it and it turned out to be a good decision.
If you do decide to revert back to the old boot loader, you can reset the master boot record with the DOS command "fdisk /mbr" (fdisk I found on one of the CD-ROMs that came with the Dell). Should this not work, don't panic (for the moment). Reboot the Linux CD and run a complete installation with GRUB on HDA (you should see your original XP partition there and leave it as is). This may help to get the partition allocation table into a consistent state. Disclaimer: don't blame me if anyithing goes wrong. And make sure you have a complete backup of your data before you start playing around with the boot configuration of your computer.
OK, after running the Linux installation I rebooted and was able to select Linux in the GRUB boot manager menu. Here came the tricky part, Linux started booting off the boot partition on HDA but then wasn't able to mount the root partition on the USB drive. According to a hint I found on the web, I built a custom Linux kernel (adding some time delay allowing the USB drive to get ready). Since I found the required GNU compiler tools and all of the source on the Linux CD, this was easy as pie. Being a Linux newby, I was very impressed by how easy it is to patch the inside of your Linux in a (depending on what you do) reliable way. As it turned out, though, I don't think now that building a custom kernel would have been necessary.
What's really needed for my set-up was a new initrd image with the USB and SCSI drivers pre-loaded and a small patch to the initrd script itself (just pre-loading the modules wasn't enough - that's for sure). The link at the top of the post (the instrcutions for Fedora Core 3) gave me the necessary tips. Thanks, Simon and Stanislav.