Grml officially supports booting from usb-stick with all grml flavours. First of all make sure your system supports booting via usb/firewire. Some hardware claims to be able to boot via usb/firewire but does not really support it the way it should work.
Please consider using grml2usb for installing grml on your usb device! It does all the single steps automatically for you with just one single command line! (See below.)
You have three main options how to install a Grml ISO to your usb device:
http://git.grml.org/?p=grml2usb.git will perform all the annoying procedures automatically with one single command line for you (except for the device partitioning of course)! Make sure you have a recent version of the grml2usb Debian package installed. Check out grml.org/grml2usb/ or the grml2usb manpage for details.
Note: starting with grml2usb version 0.9.2 it's not a shellscript anymore, instead grml2usb is completely rewritten from scratch in Python. It provides a much more powerful interface, featuring multi-ISO support, providing support for additional bootoptions, grub as bootmanager and automatic installation of a known-to-work MBR (master boot record).
Starting with release 2009.10 the grml ISOs are capable of being dd-ed to a device. This means that you can install a given grml ISO to your USB device using dd(1) like:
dd if=grml.iso of=/dev/sdX
where /dev/sdX corresponds with your USB device (e.g. /dev/sdb). Please note that executing this command will destroy any existing data on your USB device. This method is not as flexible as using grml2usb (lacks support for multi-ISO, specifying additional default bootoptions,…) but might be useful if grml2usb isn't an option for you.
To boot this on a Mac, hold down the Option (alt) key while rebooting and select “EFI Boot” from the Disk Chooser.
(If you have nVidia graphics, you must select “Disable Kernel-Mode-Setting” due to bugs in the drivers.)
Unfortunately, booting from a USB stick is not pretty well supported by all BIOSses. Some BIOSses offer different modes for USB booting. The proper mode to boot a USB stick is “USB-HDD”. If that doesn't work or is not supported by your system, you need to format your USB-Stick as USB-ZIP.
To do this, the syslinux source distribution contains an utility called mkdiskimage, which you can use to re-format your USB stick in USB-ZIP format. This procedure will erase all data on your stick, and leave you with the stick not being used to its full capacity due to rounding requirements:
# mkdiskimage -4 /dev/<your-usb-stick-device> 0 64 32
Then continue installing as usual. Note that this is not going to work for any device larger than 8 GB, since mkdiskimage only supports 1024c 256h 63s. For a more detailed explanation, refer to /usr/share/doc/syslinux-common/usbkey.txt.
Notice: your USB device is accessed after running the BIOS routine and you get “No operating system found”? Make sure the grml-iso is on the first partition of the USB device and that the partition really starts at the first sector of the USB device. Verify this via running 'cfdisk /dev/sda' (adjust /dev/sda to your usb device). If 'cfdisk' doesn't work, use fdisk or [g]parted. Also, make sure that the disk is bootable. There should be a * (star) below column 'boot'.
If you installed grml on an external harddisk (usb/firewire) through grml2hd please make sure the root= option on the kernelcommand line (in lilo/grub) is correct, otherwise booting will fail as the root filesystem can not be found. To work around the issue at all you could use labels/UUIDs as well.
Based on the tool WinBuilder you can build Boot-CDs and USB-Boot-Devices.
This is surprisingly easy to accomplish in just 4 steps:
usb-creator-gtkto make a usb-boot-stick using a ubuntu iso of your choice
grml2usb –grub –grub-mbrto install the grml iso's of your choice on the same usb-boot-stick