Realpath is provided by recent coreutils versions, adjust Depends
[grml2usb.git] / grml2usb.8.txt
index 43b7ac6..bd13742 100644 (file)
@@ -3,40 +3,41 @@ grml2usb(8)
 
 Name
 ----
-grml2usb - install grml ISO(s) on usb device for booting
+grml2usb - install Grml ISO(s) on usb device for booting
 
 Synopsis
 --------
 grml2usb [ options ] <ISO[s]> <device>
 
 *******************************************************************************
-Important! The grml team does not take responsibility for loss of any data!
+Important! The Grml team does not take responsibility for loss of any data!
 *******************************************************************************
 
 [[introduction]]
 Introduction
 ------------
 
-grml2usb installs grml on a given partition of your usb device and makes it
-bootable. It provides multi-iso support, meaning you can specify several grml
-ISOs on the command line at once and select the grml flavour you would like to
-boot on the bootprompt then. Note that the *first* ISO specified on the grml2usb
-command line will become the default one (that's the one that will boot when
-just pressing enter on the bootprompt or wait until the boot timeout matches).
+grml2usb installs Grml on a given partition of your usb device and makes
+it bootable. It provides multiboot ISO support, meaning you can specify
+several Grml ISOs on the command line at once and select the Grml
+flavour you would like to boot on the bootprompt then. Note that the
+*first* ISO specified on the grml2usb command line will become the
+default one (that's the one that will boot when 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.
 
 [[options]]
 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).
+ISO[s] should be the path to one or multiple grml-ISOs and/or the path to
+the currently running live-system (being /lib/live/mount/medium).
 
 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
@@ -47,7 +48,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*::
 
@@ -63,7 +66,7 @@ Copy files only but do *not* install a bootloader.
 
 Avoid executing commands, instead show what would be executed.
 Warning: please notice that the ISO has to be mounted anyway, otherwise
-identifying the grml flavour would not be possible.
+identifying the Grml flavour would not be possible.
 
   *\--fat16*::
 
@@ -74,12 +77,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*::
 
@@ -101,14 +107,6 @@ option *--initrd* as well. (Be aware when using multiboot setup.)
 [Notice: not implemented yet.]
 //////////////////////////////////////////////////////////////////////////
 
-  *\--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*::
 
 Install master boot record (MBR) with integrated boot menu: interactively choose
@@ -127,6 +125,15 @@ 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.
+
+  *\--skip-bootflag*::
+
+Do not check for presence of bootflag on target device.
+
   *\--skip-grub-config*::
 
 Skip generation of grub configuration files. By default the configuration
@@ -143,9 +150,15 @@ Skip generation of syslinux configuration files. By default the configuration
 files for syslinux *and* grub will be written so you've a working configuration
 file no matter whether you're using grub or syslinux as bootloader.
 
+  *\--skip-usb-check*::
+
+Skip check to verify whether given device is a removable device.
+Some USB devices are known to report wrong information, when using
+such a device you can skip grml2usb's removable device check.
+
   *\--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.
@@ -156,8 +169,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 <<author,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.
 
 //////////////////////////////////////////////////////////////////////////
   *\--squashfs=*::
@@ -169,7 +181,7 @@ Install specified squashfs file instead of the default.
 //////////////////////////////////////////////////////////////////////////
   *\--uninstall*::
 
-Uninstall grml ISO files.
+Uninstall Grml ISO files.
 [Notice: not implemented yet.]
 //////////////////////////////////////////////////////////////////////////
 
@@ -215,28 +227,18 @@ 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]
-    |-- grml-cheatcodes.txt  [list of bootoptions for grml]
+    |-- grml-cheatcodes.txt  [list of bootoptions for Grml]
     |-- grml-version.txt     [file containing information about grml-version]
     |-- LICENSE.txt          [license information]
     |-- md5sums              [md5sums of original ISO]
@@ -289,14 +291,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_2013.01.iso /dev/loop1
 
 [[performance-tracing]]
 Performance tracing
 ~~~~~~~~~~~~~~~~~~~
 
   # blktrace -d /dev/sdX -o - | blkparse -i -
-  # grml2usb grml_2009.05.iso /dev/sdX1
+  # grml2usb grml_2013.01.iso /dev/sdX1
 
 [[troubleshooting]]
 Troubleshooting and Pitfalls when booting
@@ -323,6 +325,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
@@ -369,50 +384,34 @@ 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. :)
+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
+///////////////////////////////////////////////////////////////////////////////////////////////////
+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_2013.01.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 +419,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]]
@@ -508,19 +507,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).
+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).
 
-To fix this issue manually you can also execute (adjust '/dev/sdX' to your
-device of course):
-
-  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 +538,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,33 +572,29 @@ of your grml2usb commandline (consider using the "\--verbose" option).
 Usage examples
 --------------
 
-  # grml2usb /home/grml/grml_2009.05.iso /dev/sdX1
+  # grml2usb /home/grml/grml_2013.01.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_2013.01.iso /home/grml/grml_small_2013.01.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
+  # 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.05.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.05.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.05.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
@@ -604,23 +602,35 @@ syslinux being the default) and install a master boot record (MBR) to the MBR of
 
 ///////////////////////////////////////////////////////////////////////////////////////
   # 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_2013.01.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_2013.01.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_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="nomce" grml_2013.01.iso /dev/sdX1
+
+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
+
+Install specified ISOs on device /dev/sdx and add parameter persistent-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
 -----------------