using the '--skip-mbr' option or if you encounter any problems with the default
MBR consider using '--syslinux-mbr' instead.
+[NOTE]
+Whereas grml2usb is the script to install recent grml ISOs (>=2009.10) the
+script grml2usb-compat supports older grml releases (<2009.10) as well.
+
[[options]]
Options
-------
Do not install /boot/addons/ files (like dos, grub, memdisk,...).
+ *\--remove-bootoption=...*::
+
+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.)
+
*\--skip-grub-config*::
Skip generation of grub configuration files. By default the configuration
*\--syslinux*::
-This option is deprecated and is being left only for backwards compability
+This option is deprecated and is being left only for backwards compatibility
reasons. Syslinux is the default bootloader of grml2usb and therefore the
'--syslinux' option doesn't have any effects. If you do not want to use syslinux
as bootloader consider using the '--grub' option.
| |-- linux26
| |-- initrd.gz
|-- grub/
- | |-- grml.png [splash screen for grub2]
+ | |-- grml.png [graphical bootsplash background image for grub2]
| |-- grub.cfg [configuration file for grub2]
| |-- menu.lst [configuration file for grub1]
| |-- splash.xpm.gz [splash screen for grub1]
`-- syslinux/
- |-- boot.msg [boot splash for syslinux]
- |-- f1 [screen when pressing f1]
- |-- f2 [screen when pressing f2]
- |-- f3 [...]
- |-- f4
- |-- f5
- |-- f6
- |-- f7
- |-- f8
- |-- f9
- |-- f10
- |-- logo.16 [graphical part of boot splash]
- `-- syslinux.cfg [configuration file for syslinux]
+ |-- grml.png [graphical bootsplash background image for syslinux]
+ |-- syslinux.cfg [main configuration file for syslinux]
+ `-- [....] [several further config files for syslinux]
grml/
|-- grml2usb.txt [not yet implemented]
Finally create a filesystem and execute grml2usb as needed:
# mkfs.vfat /dev/loop1
- # grml2usb --bootloader-only /grml/isos/grml-small_2009.05.iso /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.05.iso /dev/sdX1
+ # grml2usb grml_2009.10.iso /dev/sdX1
[[troubleshooting]]
Troubleshooting and Pitfalls when booting
*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
Why can't I just dd the ISO to a USB device?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Well, you can. :)
+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.05.iso
+ % isohybrid grml_2009.10.iso
+///////////////////////////////////////////////////////////////////////////////////////////////////
-This allows you to dd the grml ISO to your USB device (use for example
+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.05.iso of=/dev/sdX
+ % dd if=grml_2009.10.iso of=/dev/sdX
-where /dev/sdX is your USB device.
-
-[TIP]
-Upcoming stable versions of grml will provide dd-able ISOs straight
-out-of-the-box (and current link:http://daily.grml.org/[daily snapshots] already
-do) using a so called manifold boot method.
+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?
grml2usb does not remove any data from your USB device and does not alter the
partition table at all. grml2usb provides multi-ISO support, support for adding
-default bootoptions and selecting the bootloader (grub vs. syslinux) without
+default bootoptions and selecting the bootloader (syslinux vs. grub) without
having to manually touch the ISO at all.
[[grml2iso]]
grml2iso is a script which uses grml2usb to generate a multiboot ISO out of
several grml ISOs. See 'man grml2iso' for further details.
+[[grml2usb-compat]]
+grml2usb fails with "Fatal: file default.cfg could not be found."
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you are trying to install an older grml ISO (older than grml 2009.10) with a
+recent version of grml2usb then you might notice:
+
+ Fatal: file default.cfg could not be found.
+ Note: this grml2usb version requires an ISO generated by grml-live >=0.9.24 ...
+ ... either use grml releases >=2009.10 or switch to an older grml2usb version.
+ Please visit http://grml.org/grml2usb/#grml2usb-compat for further information
+ Fatal: a critical error happend during execution (not a grml ISO?), giving up
+
+Breaking the backward compatibility was necessary to avoid maintainability hell.
+If you want to install older grml ISOs please use the grml2usb-compat script
+which provides support for older releases.
+
[[menu-lst]]
Why is there a menu.lst and a grub.cfg inside /boot/grub/?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Usage examples
--------------
- # grml2usb /home/grml/grml_2009.05.iso /dev/sdX1
+ # grml2usb /home/grml/grml_2009.10.iso /dev/sdX1
Install specified ISO on device /dev/sdX1.
- # grml2usb /home/grml/grml_2009.05.iso /home/grml/grml_small_2009.05.iso /dev/sdX1
+ # grml2usb /home/grml/grml_2009.10.iso /home/grml/grml_small_2009.10.iso /dev/sdX1
Install specified ISOs on device /dev/sdX1 for multibooting ISOs.
-Note: boot "grml" as usual, for booting grml-small use "grml-small on the
-bootprompt, for grml64 use "grml64" and so on... The *first* specified ISO is
-the one being the default (when just pressing enter or waiting until the timeout
-is reached).
# grml2usb /live/image /dev/sdX1
Install currently running grml live system on device /dev/sdX1.
- # grml2usb /live/image /home/grml/grml_2009.05.iso /dev/sdX1
+ # grml2usb /live/image /home/grml/grml_2009.10.iso /dev/sdX1
Install currently running grml live system and the specified
ISO on device /dev/sdX1 for multibooting.
- # grml2usb --fat16 /home/grml/grml_2009.05.iso /dev/sdX1
+ # grml2usb --fat16 /home/grml/grml_2009.10.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.05.iso /dev/sdX1
+ # grml2usb --grub --grub-mbr /home/grml/grml_2009.10.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 --kernel=/boot/vmlinuz-2.6.28-grml --initrd=/boot/initrd.img-2.6.28-grml \
- /home/grml/grml_2009.05.iso /dev/sdX1
+ /home/grml/grml_2009.10.iso /dev/sdX1
Install specified ISO on device /dev/sdX1 but use given kernel and initrd
instead of the ones provided by the ISO.
# grml2usb --squashfs=/grml/grml-live/grml_cd/live/grml.squashfs \
- /home/grml/grml_2009.05.iso /dev/sdX1
+ /home/grml/grml_2009.10.iso /dev/sdX1
Install specified ISO on device /dev/sdX1 but use given squashfs
file instead of the one provided by the ISO.
///////////////////////////////////////////////////////////////////////////////////////
- # grml2usb --bootoptions="lang=de ssh=mysecret" grml_2009.05.iso /dev/sdX1
+ # grml2usb --bootoptions="lang=de ssh=mysecret" grml_2009.10.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
+
+Install specified ISO on device /dev/sdX1 remove vga=791 and quiet from existing bootoptions.
+
[[ressources]]
Online Ressources
-----------------