"grml officially supports booting from usb-stick with all grml flavours. [...]

Prepare system

* Get the grml iso
* Mount the iso loopback (e.g. mount -o loop grml_small_0.4.iso /mnt/grml-iso)
* Make FAT16 filesystem on the usbstick (e.g. mkfs.vfat -F 16 -v /dev/sda1)
* Mount the usbstick (e.g. mount /dev/sda1 /mnt/external1)
* Copy everything to the usbstick (e.g. cp -r /mnt/grml-iso/* /mnt/external1).
* Move all files from /mnt/external1/boot/isolinux/ (mv /mnt/external1/boot/isolinux/* /mnt/external1) and the files linux26 and the minirt.gz (since grml1.1: initrd.gz!) from the directory named like the grml-flavour (/boot/grml, /boot/grmlmedium, /boot/grml64,...) to root of usb-stick
* Umount the usbstick and the grml-iso
* Run syslinux on the usbstick (e.g. syslinux /dev/sda1)
* Check if the usbstick has an valid mbr, else dd if=mbr.bin of=/dev/sda (mbr.bin is in the syslinux package, usually installed in /usr/lib/syslinux/mbr.bin)
* may need to set the bootable flag using parted (or fdisk)"