USB booting :: Boot from USB .iso AND LiveCD?



Ok, I'm in a bit of a pickle.  I ran the dsl-hdinstall script in DSL-N and grub got confused about what is, and isn't, my HD.  Basically the grub process hangs without finding anything to boot and reports "Error 15".

In the past I have succesfully installed DSL 2.1b to this machine, and had grub setup properly on the MBR.  I have the DSL 2.1b .iso file saved to a USB drive, but I don't really know how I can boot off of it.  I have a DSL-N LiveCD, and a mountable/writable Linux partition on my laptop.  

Is there some way for me to use the combination of LiveCD and .iso file to boot into the older version of DSL?  I do not have any writable CD's with me, so I can't just burn a new 2.1b CD from the ISO.

Thanks,

Roger
--

Ok, found my own answer for this, which I am posting, as it is an excellent way to create a bootable USB drive for someone who doesn't have a floppy drive.  This is an adaptation of the info found at - http://wiki.debian.org/BootUsb.  Devices are named as they would be in DSL-N, or any other Linux distro using kernel 2.6.11 on a SATA equipped PC.

Specific Steps
----------------------------------
- fire up whatever liveCD you have.
- mount the linux partition on your HD
> mount /dev/sda2
- Partition the USB pendrive with fdisk (the USB key must not be mounted!).
> fdisk /dev/uba1
- Press P to see the list of all partitions.
- Use D repeatedly to delete all partitions.
- Create a new partition pressing N, P, 1 and accept all defaults concerning the size (minimum partition size necessary will be around 60 MB).
- Set the bootable flag with A,
- press T, 6 to create a FAT16 partition and
- press W to store and exit from fdisk.
- create a filesystem on the USB drive
> mkdosfs /dev/uba1

To install DamnSmallLinux onto the pendrive, download the ISO image to a directory on the Linux partition of your HD, and as root user go the directory with the dsl-*.iso file and type the following:

> mkdir dsl_temp
> mkdir dsl_usb
> mount -o loop dsl-*.iso dsl_temp
> cp -a dsl_temp/* dsl_usb
> cd dsl_usb
> mv boot/isolinux/* ./
> rm -Rf boot
> mv isolinux.bin syslinux.bin
> mv isolinux.cfg syslinux.cfg
> cd ..
> mkdir usb_pen
> mount -t vfat /dev/uba1 usb_pen
> cp -a dsl_usb/* usb_pen
> umount usb_pen
> syslinux /dev/uba1

- Set your BIOS so USB is enabled and USD+HDD is the first device in the boot list and "Bob's your uncle".

Phew!


original here.