Requirements

From within DSL

Some things have changed since this page was originally written. Since then, an easy (and working) method to install DSL to a USB flash drive is available from within the DSL LiveCD main menu. Simply open the Main menu, go to Apps then Tools and select either a USBZIP or USBHDD and follow the prompts.
See the page at USB Booting for more information.

If you need to wipe the MBR on the Flash Disk, do it with a command like below. This shouldn't be necessary unless there's another funky bootloader in the MBR (like, if you were experimenting with another bootable USB linux distro).

BE *VERY* CAREFUL NOT TO WIPE YOUR HARD DRIVE'S MBR HERE!!! Replace sdX with the path to your USB drive

Use d to delete existing partitions until none remain. Use n,p,1 to create a new primary partition. Use a to make it bootable. Use t,b to make it W95 FAT32. Don't forget to hit 'a' to make it bootable!

Create a FAT16 or FAT32 partition on the pendrive: ("-F 32" will create a FAT32 partition; "-F 16" will make a FAT16 one)

mkfs.vfat -F 32 /dev/sdX1

Mount the pendrive & unzip the dsl-embedded.zip file onto this.

Unmount the pendrive

Next use syslinux to make it bootable.

syslinux -s /dev/sdX1

You can now boot via QEMU (from within Linux or windows), OR as native from the USB drive.

You can also run DSL from a GRUB bootloader menu on your USB key. This is very useful if you're using DSL as part of a data/system rescue toolkit, as you can include multiple preset configurations of DSL as well as other utilities.

Note: syslinux needs the package "mcopy" included in the package "mtools".

Note: Unfortunately, this method does NOT give a 50MB Linux Distribution because qemu dir and method is (comparatively) big.
You will end up with a 110MB distribution.

Note: The iocharset=utf8 option when mounting the USB stick may result in the "KNOPPIX/KNOPPIX" not being found upon booting.

Method I

Unzip "dsl-embedded.zip" to your flash drive (you could use the "Extract all files" built into XP with the destination as "F:\")

Download "syslinux-3.63.zip" from Syslinux - Syslinux can also be used by various other platforms, such as Unix.

Go to a command prompt and run syslinux for your drive from \win32\syslinux.exe typing:SYSLINUX -ma F:

If you are running Windows Vista, remember to start cmd.exe as Administrator, otherwise the normal cmd.exe won't be able to access the MBR of your USB drive.

reboot.

Note: Booting from USB may or may not work on your computer, mostly dependent on its age and bios setup. Some systems may have problems booting from USB drives formatted as FAT32. Changing the format step to

Method II

NOTE: HP USB Key Utility setup will only run on vista if you run the installation in compatibility mode. To apply this, rightclick on the installation file and go to "Properties". Open the tab "Compatibility" and choose "Windows XP Service Pack 2". Apply and then it's working on vista too. Note: You don't need to run the installed program in this mode.

Convert .iso to USB installation

With the guide from [1] you can install the .iso contents non-destructively onto a USB partition. Leave out all the partitioning or formating stuff to prepare an existing and used USB drive for DSL booting:

Note: All path names are examples! Please adapt or you may corrupt existing partitions or files.

Mount USB drive, with e.g. mount /dev/sdx1 /flash - can be either FAT16 or FAT32!

Questions

Why is it that DSL installed on USB disk won't finish booting after conversion from .iso?

It appears that KNOPPIX file is hard-wired to seek for CD-ROM and not USB drive. Use embedded version.

Why does the from-within-Linux method require FAT16, but the Windows method work with FAT32? Could I just leave and reuse an existing FAT32 USB partition using the Linux syslinux version?

Either method should work however, as per previous notes, using FAT might provide better results than FAT32.

Syslinux is the key reason for FAT16 vs. FAT32... CentOS 4.4 (which is essentially Red Hat ES4) comes with syslinux 2.11 which does not support FAT32. Syslinux 3.35 (the latest, as of this writing) works with FAT32 just fine.

Modifications for v 3.2 Embedded

Trying to run the dsl-linux.sh in my distro did not work I had to modify the file (it was setup for a second drive and qemu did not exist in the download)

Here are some configuration settings that I found I had to modify after the installation. I also created an autorun.inf that works flawlessly with this. The autorun.inf file is also configured for use of TightVNC if the folder tightvnc is created at the root of the drive. I also created a context link to the folder USB.

You must also download qemu and copy these files to the qemu dir on the usb drive.

qemu

qemu-img

qemu-i386

If you wish to use the rest of the context menu I've created, download the TightVNC installer, vncviewer and put them in a \tightvnc.

At this point I made all of the damn small linux files hidden and hid the TightVNC, USB folders. Its a low level of security but works nicely. To use anything you just right click the drive in My Computer.