paperlined.org
sysadmin > boot > usb-resident
document updated 14 years ago, on Sep 8, 2009
Follow these steps to make the ultimate swiss-army-knife bootable thumb drive.

0) setup partitions

Create a FAT16 partition that takes up all but the last 750mb of the drive. The second partition should be 750mb... make it FAT16, it doesn't matter.

1) DOS (on LARGE USB partition)

Key point: Once you get this working, it looks to DOS like it's running off an internal hard drive. BIOS is the only one that does any work, there's no extra drivers required (i.e. no two-stage crap). It's exactly equivalent to booting DOS off of a USB-connected hard-drive.

Follow these instructions.

2) GRUB ⇒ DOS (on a large USB partition)

Once you confirm that DOS is able to boot all by itself, you can install GRUB on top of it (so you can boot many different things).

Copy the /boot/grub/ files (START with the super grub disk, since there's useful info there) into the same DOS partition. Then boot into Knoppix, start grub, and do root (hd0,0); setup (hd0).

In menu.lst, add this entry:

title DOS (thumb drive)
    rootnoverify $(grub_device)         # the same partition that holds menu.lst is also DOS-bootable
    chainloader +1
    boot

3) GRUB ⇒ Knoppix (on the same DOS partition)

Copy the contents of the 700MB Knoppix ISO onto the same partition, and add this to menu.lst:
title Knoppix
    usbshift
    kernel          /boot/Knoppix/boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix
    initrd          /boot/Knoppix/boot/isolinux/minirt.gz
(In this case, I split the contents into two different folders: (BECAUSE I CAN'T GET knoppix_dir TO WORK)
\boot\Knoppix\boot\isolinux\*
\Knoppix\*)

4) GRUB ⇒ ISO (on its own partition)

(if needed, use GParted to resize the partition, and create a 750mb partition at the end)

See more here. There are lots of LiveUSB distros that were converted from LiveCDs, but there doesn't seem to be a silver-bullet way of converting ISOs.