Support USB keys with superfloppy format
[grml2usb.git] / grml2usb.8.txt
index 43b7ac6..0d2bebb 100644 (file)
@@ -27,9 +27,13 @@ just pressing enter on the bootprompt or wait until the boot timeout matches).
 [IMPORTANT]
 By default a compatible master boot record (MBR) is installed on the device
 (being for example /dev/sdX when executing 'grml2usb grml.iso /dev/sdX1') and
-grub is being used as default bootloader. Avoid installation of the default MBR
-using the '--skip-mbr' option or if you encounter any problems with the default
-MBR consider using '--syslinux-mbr' instead.
+syslinux is being used as default bootloader. Avoid installation of the default
+MBR 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
@@ -47,7 +51,9 @@ The following options are supported:
 
   *\--bootoptions=...*::
 
-Use specified bootoptions as default.
+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. To add
+multiple bootoptions you can specify the option multiple time.
 
   *\--bootloader-only*::
 
@@ -74,12 +80,15 @@ Format specified partition with FAT16.
 
 Force any (possible dangerous) actions requiring manual interaction (like --fat16).
 
+  *\--grub*::
+
+Install grub bootloader instead of (default) syslinux.
+
   *\--grub-mbr*::
 
 Install grub into MBR (Master Boot Record) instead of PBR (Partition Boot
-Record).  This option sadly had to be introduced because grub2 can not be
-installed to partitions (PBR) instead of MBR anymore. Check out <<mbr-vs-pbr,the
-'mbr-vs-pbr' section in the FAQ of this document>> for further details.
+Record). Check out <<mbr-vs-pbr,the 'mbr-vs-pbr' section in the FAQ of this
+document>> for further details.
 
   *\--help*::
 
@@ -127,6 +136,12 @@ Do not output anything but just errors on console.
 
 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
@@ -145,7 +160,7 @@ file no matter whether you're using grub or syslinux as bootloader.
 
   *\--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.
@@ -215,24 +230,14 @@ Directory layout on usb device
     |       |-- 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]
@@ -289,14 +294,14 @@ or:
 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
@@ -323,6 +328,19 @@ kernel loads but you very soon get the error message.
 *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
@@ -389,30 +407,30 @@ grml2usb) and you can carry additional files on a writable medium with yourself.
 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
-
-where /dev/sdX is your USB device.
+  % dd if=grml_2009.10.iso of=/dev/sdX
 
-[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?
@@ -420,7 +438,7 @@ 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]]
@@ -430,6 +448,23 @@ What's 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/?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -508,19 +543,14 @@ The following message:
   grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and its use is discouraged.
   grub-setup: error: Cannot read `/grub/core.img' correctly
 
-appears because recent grub2 versions sadly introduced a regression which avoids
-that grub is being installed into a partition (PBR, Partition Boot Record)
-instead of MBR (Master Boot Record).
-
-To work around this issue you can install grub into the MBR (Master Boot Record)
-using the '--grub-mbr' option of grml2usb or switch to syslinux as bootmanager
-(just drop the '--grub'  option).
-
-To fix this issue manually you can also execute (adjust '/dev/sdX' to your
-device of course):
+appears when using grub2 versions older than 1.98 as those version introduced a
+regression which avoids that grub is being installed into a partition (PBR,
+Partition Boot Record) instead of MBR (Master Boot Record).
 
-  mount /dev/sdX1 /mnt/test
-  grub-install --force --recheck --no-floppy --root-directory=/mnt/test /dev/sdX
+To work around this issue you can either 1) upgrade to grub versions >=1.98, 2)
+install grub into the MBR (Master Boot Record) using the '--grub-mbr' option of
+grml2usb or 3) switch to syslinux as bootmanager (just drop the '--grub'
+option).
 
 [[splash-xpm]]
 I'm getting something like "Error: /usr/share/grml2usb/grub/splash.xpm.gz can not be read"!?
@@ -544,6 +574,14 @@ use the bootloader grub instead using grml2usb's '--grub' option.
 [NOTE]
 FAT32 is supported since syslinux version 3.0.
 
+[[hdt-hangs]]
+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.
+
 [[cool-idea]]
 I think I've got a really cool idea!
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -570,57 +608,69 @@ of your grml2usb commandline (consider using the "\--verbose" option).
 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
+  # grml2usb --bootoptions="lang=de" --bootoptions="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.
+
+  # grml2usb --bootoptions="persistent-path=%flavour_name" grml64_2010.04.iso grml_2010.04.iso /dev/sdX1
+
+Install specified Isos on device /dev/sdx and add parameter persisten-path
+to every menu entry. %flavour_name will be expanded to the flavour of the specific
+iso, e.g. grml64 and grml.
+
 [[ressources]]
 Online Ressources
 -----------------