1. Name
grml2usb - install grml ISO(s) on usb device for booting
2. Synopsis
grml2usb [ options ] <ISO[s]> <device>
3. Introduction
grml2usb installs grml on a given partition of your usb device and makes it @@ -590,20 +781,13 @@ MBR using the --skip-mbr option or if you encounter any problems with t default MBR consider using --syslinux-mbr instead.
- - | -Whereas grml2usb is the script to install recent grml ISOs (>=2009.10) the -script grml2usb-compat supports older grml releases (<2009.10) as well. | -
4. Options
The ISO[s] should be the path to one or multiple grml-ISOs and/or the path to -the currently running live-system (being /live/image).
The device either might be a device name like /dev/sdX1 or a directory. When specifying a device name the device is mounted automatically. When specifying a directory grml2usb is assuming that you did set up a bootloader on your own (or @@ -616,7 +800,8 @@ don’t need one) and a bootloader won’t be installed automatically.
Use specified bootoptions as default. To use flavour name as a argument for a -boot parameter use %flavour which will be expanded to the flavour name. +boot parameter use %flavour which will be expanded to the flavour name. To add +multiple bootoptions you can specify the option multiple time.
- ---lilo-binary=… - -
-
-
-Use specified lilo executable for installing master boot record (MBR) when using -the --syslinux-mbr option. By default any system wide (from $PATH) lilo -executable is taken. If there can not be find any lilo executable the -statically compiled version of the grml2usb Debian package (see -/usr/share/grml2usb/lilo/lilo.static.[amd64|i386]) is taken. -
-
- - --mbr-menu
-
@@ -739,8 +912,7 @@ Do not install /boot/addons/ files (like dos, grub, memdisk,…).
Remove specified bootoption (could be a regex) from existing boot options. Use -multiple entries for removing different bootoptions at once. (Note: this option -is not support in grml2usb-compat.) +multiple entries for removing different bootoptions at once.
- @@ -791,8 +963,7 @@ Install syslinux' master boot record (MBR, which is booting from the partition with the "active" flag set) instead of the default one. If you encounter any problems with the default MBR you can try using the syslinux MBR instead. If that works for you please let us know so we can adjust our default -MBR accordingly. Note: When using the --syslinux-mbr option lilo is executed -before the MBR is installed so the according partitions are set active. +MBR accordingly.
5. Developers Corner
5.1. Directory layout on usb device
+5.1. Directory layout on usb device
boot/ -> @@ -888,12 +1062,16 @@ Enable verbose mode. | `-- grml-small.squashfs [squashfs file for grml-small] `-- ...
5.2. Grabbing the source
+5.2. Grabbing the source
% git clone git://git.grml.org/grml2usb.git
5.3. Developers Debugging Hints
+5.3. Developers Debugging Hints
To play with grml2usb you can avoid using a real device via a loopback file setup, like:
# mkfs.vfat /dev/loop1 -# grml2usb --bootloader-only /grml/isos/grml-small_2009.10.iso /dev/loop1+# grml2usb --bootloader-only /grml/isos/grml-small_2013.01.iso /dev/loop1
5.4. Performance tracing
+5.4. Performance tracing
# blktrace -d /dev/sdX -o - | blkparse -i - -# grml2usb grml_2009.10.iso /dev/sdX1+# grml2usb grml_2013.01.iso /dev/sdX1
6. Troubleshooting and Pitfalls when booting
Here is a list of common error messages from BIOS/bootloader when trying to boot @@ -1081,9 +1264,12 @@ isolinux/syslinux fixes the problem.
7. Frequently Asked Questions (FAQ)
7.1. Where can I get grml2usb?
+7.1. Where can I get grml2usb?
grml2usb is available as Debian package via the grml-testing Debian repository.
If you do not want to (or can’t) use the grml2usb Debian package you can either @@ -1109,19 +1295,9 @@ files provided either via the Debian package, the git tree or the file grml2usb.tgz.
7.2. 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 -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.
7.3. Why can’t I just dd the ISO to a USB device?
+7.2. 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.
FAT32 is supported since syslinux version 3.0. |
7.16. I think I’ve got a really cool idea!
+7.14. Addons → Hardware Detection Tool freezes
+This usually means that the machine you ran grml2usb on had syslinux 3.x +installed. The version of hdt (Hardware detection tool) shipping with Grml +2010.12 and newer requires syslinux 4.x.
7.15. I think I’ve got a really cool idea!
Great! Please check out the TODO file. Feel free to report your wishes to the author. Patches highly appreciated.
7.17. I’ve problems with booting from USB.
+7.16. I’ve problems with booting from USB.
Check out Troubleshooting and Pitfalls when booting.
7.18. I’ve found a bug!
+7.17. I’ve found a bug!
Please report it to the author. Please provide usage examples and output of your grml2usb commandline (consider using the "--verbose" option).
8. Usage examples
# grml2usb /home/grml/grml_2009.10.iso /dev/sdX1+
# grml2usb /home/grml/grml_2013.01.iso /dev/sdX1
Install specified ISO on device /dev/sdX1.
# grml2usb /home/grml/grml_2009.10.iso /home/grml/grml_small_2009.10.iso /dev/sdX1+
# grml2usb /home/grml/grml_2013.01.iso /home/grml/grml_small_2013.01.iso /dev/sdX1
Install specified ISOs on device /dev/sdX1 for multibooting ISOs.
# grml2usb /live/image /dev/sdX1+
# grml2usb /lib/live/mount/medium /dev/sdX1
Install currently running grml live system on device /dev/sdX1.
Install currently running Grml live system on device /dev/sdX1.
# grml2usb /live/image /home/grml/grml_2009.10.iso /dev/sdX1+
# grml2usb /lib/live/mount/medium /home/grml/grml_2013.01.iso /dev/sdX1
Install currently running grml live system and the specified +
Install currently running Grml live system and the specified ISO on device /dev/sdX1 for multibooting.
# grml2usb --fat16 /home/grml/grml_2009.10.iso /dev/sdX1+
# grml2usb --fat16 /home/grml/grml_2013.01.iso /dev/sdX1
Install specified ISO on device /dev/sdX1 and format partition /dev/sdX1 with FAT16 filesystem.
# grml2usb --grub --grub-mbr /home/grml/grml_2009.10.iso /dev/sdX1+
# grml2usb --grub --grub-mbr /home/grml/grml_2013.01.iso /dev/sdX1
Install specified ISO on device /dev/sdX1 and use grub as bootloader (instead of syslinux being the default) and install a master boot record (MBR) to the MBR of /dev/sdX.
# grml2usb-compat /home/grml/grml_2009.05.iso /dev/sdX1-
Install older grml ISO on device /dev/sdX1.
# grml2usb --bootoptions="lang=de ssh=mysecret" grml_2009.10.iso /dev/sdX1+
# grml2usb --bootoptions="lang=de ssh=mysecret" grml_2013.01.iso /dev/sdX1 +# grml2usb --bootoptions="lang=de" --bootoptions="ssh=mysecret" grml_2013.01.iso /dev/sdX1
Install specified ISO on device /dev/sdX1 and use "lang=de ssh=mysecret" as default bootoptions.
# grml2usb --remove-bootoption="vga=791" --remove-bootoption="quiet" grml_2009.10.iso /dev/sdX1+
# grml2usb --remove-bootoption="vga=791" --remove-bootoption="nomce" grml_2013.01.iso /dev/sdX1
Install specified ISO on device /dev/sdX1 remove vga=791 and quiet from existing bootoptions.
Install specified ISO on device /dev/sdX1 remove vga=791 and nomce from existing bootoptions.
# grml2usb --bootoptions="persistent-path=%flavour_name" grml64_2010.04.iso grml_2010.04.iso /dev/sdX1@@ -1317,24 +1512,31 @@ default bootoptions.
9. Online Ressources
Check out the grml2usb webpage and the grml2usb git repository.
10. Bugs
Please report feedback, bugreports and wishes to the author.
11. Author
Michael Prokop <mika@grml.org>