+ # mkfs.vfat /dev/loop1
+ # grml2usb --bootloader-only /grml/isos/grml-small_2009.10.iso /dev/loop1
+
+[[performance-tracing]]
+Performance tracing
+~~~~~~~~~~~~~~~~~~~
+
+ # blktrace -d /dev/sdX -o - | blkparse -i -
+ # grml2usb grml_2009.10.iso /dev/sdX1
+
+[[troubleshooting]]
+Troubleshooting and Pitfalls when booting
+-----------------------------------------
+
+Here is a list of common error messages from BIOS/bootloader when trying to boot
+from USB.
+
+///////////////////////////////////////////////////////////
+TODO: better list type for the error message / reason part?
+See http://www.methods.co.nz/asciidoc/userguide.html
+///////////////////////////////////////////////////////////
+
+[horizontal]
+*Error message*:: ran out of input data. System halted
+
+*Reason*:: Everything OK, except for the filesystem used on your usb device. So
+instead of fat16 you are using for example fat32. Fix: use the appropriate
+filesystem (fat16 for usb pens usually). The Bootsplash might be displayed, the
+kernel loads but you very soon get the error message.
+
+*Error message*:: Invalid operating system
+
+*Reason*:: the partition layout is not ok. Very probably there's no primary
+ partition (/dev/sdX{1..4}) or none has the flag 'bootable' set.
+
+*Error message*:: Boot error.
+
+*Reason*:: 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, syslinux
+contains an utility called mkdiskimage, which you can use to re-format your USB
+stick in USB-ZIP format running 'mkdiskimage -4 /dev/sdX 1 64 32'. Please be
+aware that this procedure will erase all data on your stick. After executing
+mkdiskimage just continue installing as usual (grml2usb ... /dev/sdX4). 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.
+
+*Error message*:: No operating system found.
+
+*Reason*:: you forgot to set the boot-flag on the partition. Or there really isn't
+any operating system at all. :)
+
+*Error message*:: kernel-panic: unable to mount root-fs...
+
+*Reason*:: Kernel boots but fails to find the root filesystem. The root=
+argument in your kernel commandline is pointing to the wrong device. Adjust
+root=..., consider using root=UUID=....
+
+*Error message*:: Could not find kernel image: ...
+
+*Reason*:: either a broken isolinux/syslinux version or a broken BIOS. Check out
+whether the vendor provides a BIOS update or if using bootloader grub instead of
+isolinux/syslinux fixes the problem.
+
+[[faq]]
+Frequently Asked Questions (FAQ)
+--------------------------------
+
+[[download]]
+Where can I get grml2usb?
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+grml2usb is available as Debian package via link:http://deb.grml.org/[the
+grml-testing Debian repository].
+
+If you do not want to (or can't) use the grml2usb Debian package you can either
+use the grml2usb git tree running:
+
+ git clone git://git.grml.org/grml2usb.git
+ cd grml2usb
+ make -C mbr
+ sudo ./grml2usb ...
+
+or download the provided
+link:http://grml.org/grml2usb/grml2usb.tgz[http://grml.org/grml2usb/grml2usb.tgz]
+(link:http://grml.org/grml2usb/grml2usb.tgz.md5.asc[gpg signed md5 hash]).
+Download and extract the tarball and execute the provided script 'install.sh'.
+
+[NOTE]
+It is *NOT* enough to have just the grml2usb script itself without the according
+files provided either via the Debian package, the git tree or the file
+grml2usb.tgz.
+
+[[grml2hd-vs-grml2usb]]
+What's the difference between grml2hd and grml2usb?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+grml2hd installs a running grml system to a harddisk. When rebooting the
+harddisk installation can be modified and changes will find their way to the
+harddisk immediately. grml2usb copies just the compressed chroot filesystem
+(being the squashfs file), some further informational files and a bootloader to
+your device. This way you don't need as much space as with a harddisk
+installation (just a USB device with >=ISO size) and when rebooting the system
+your changes will be lost (unless you are using the persistency feature, see
+link:http://wiki.grml.org/doku.php?id=persistency[http://wiki.grml.org/doku.php?id=persistency]).
+Think of using a better CD version: booting is (usually) faster, you don't need
+to burn a new CD when a new ISO version arrives (just install the new ISO using
+grml2usb) and you can carry additional files on a writable medium with yourself.
+
+[[dd]]
+Why can't I just dd the ISO to a USB device?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Well, you can. :) Starting with grml 2009.10 the ISOs are dd-able straight out-of-the-box.
+
+[IMPORTANT]
+Note that ANY existing data on your USB device will be destroyed when
+using the dd approach.
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+Grab a recent grml ISO and use
+link:http://syslinux.zytor.com/wiki/index.php/Doc/isolinux#HYBRID_CD-ROM.2FHARD_DISK_MODE[isohybrid
+from the syslinux project]:
+
+ % isohybrid grml_2009.10.iso
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+This allows you to dd the Grml ISO to your USB device (use for example
+link:http://www.chrysocome.net/rawwrite[rawwrite] if you've just a Windows
+system available) running:
+
+ % dd if=grml_2009.10.iso of=/dev/sdX
+
+where /dev/sdX is your USB device. Of course this doesn't provide such a
+flexible system like with grml2usb (no multi-ISO setup, no additional default
+bootoptions,...) but it's a nice way to get a working USB boot setup if you
+don't have grml2usb available.
+
+[[grml2usb-vs-dd]]
+What's the difference between grml2usb and just using dd?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~