Booting Debian from a USB drive

I’ve recently installed Debian etch distribution on an external USB hard drive. I was positively surprised how smooth the installation process was and how well the resulting system worked. Especially Czech environment was complete and well set up for the Czech speaking user without any need of further adjustments. The release managers and the debian-installer team do clearly good work and Debian 4.0 freeze may be short.

The only problem was how to boot from the USB drive. Initially it appeared to be easy as the computer offered USB booting in BIOS. But that didn’t work, perhaps the BIOS was buggy. So I decided to make a bootable CD for the system.

For the record, here is the process of making a bootable CD for an etch system on an external USB drive. Some steps may be redundant, I don’t know, but the final CD worked and this is what matters.

  • Connect the USB drive to a similar computer, mount it and chroot into it.
  • Install the ‘initramfs-tools’ package.
  • Add the following module names to ‘/etc/initramfs-tools/modules’: ‘usb-ehci’, ‘usb-ohci’, ‘usb-uhci’, ‘scsi-mod’, ‘sd-mod’, ‘usb-storage’.
  • Run ‘update-initramfs’.
  • You can leave the chrooted environment now.
  • Install ‘syslinux’ and read its documentation.
  • Create a syslinux working directory as described in the syslinux documentation. Name the kernel image file ‘linux’ unless you want to change the defaults. Don’t forget to put the following option (the only one required) into ‘isolinux.cfg’: ‘APPEND initrd=initrd.img root=/dev/sda1’ (change the names of the initrd file and root partition accordingly).
  • Make the ISO image, burn it onto CD and boot it.

Leave a Reply

Your email address will not be published. Required fields are marked *