[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
*\--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.
*\--bootloader-only*::
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*::
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
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
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
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 grab the grml2usb-compat Debian
-package which provides support for older releases or the
-link:http://grml.org/grml2usb/grml2usb-compat.tgz[grml2usb-compat tarball]
-(link:http://grml.org/grml2usb/grml2usb-compat.tgz.md5.asc[gpg signature/md5]).
+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/?
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"!?
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.
+
+ # 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
-----------------