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
-------
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 currently running live-system (being /run/live/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
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*::
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 boot flag on target device.
+
*\--skip-grub-config*::
Skip generation of grub 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 compatibility
//////////////////////////////////////////////////////////////////////////
*\--uninstall*::
-Uninstall grml ISO files.
+Uninstall Grml ISO files.
[Notice: not implemented yet.]
//////////////////////////////////////////////////////////////////////////
-----------------
[[directory-layout]]
-Directory layout on usb device
+Directory layout on USB device
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
boot/ ->
| |-- grml64
| | |-- linux26 [Kernel]
| | |-- initrd.gz [initramfs]
- | |-- grml-medium
- | | |-- linux26 [...]
- | | |-- initrd.gz
- | |-- grml64-medium
- | | |-- linux26
- | | |-- initrd.gz
| |-- grml-small
| | |-- linux26
| | |-- initrd.gz
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]
|-- grml/
| |-- filesystem.module [module specifying which squashfs should be used for grml]
| `-- grml.squashfs [squashfs file for grml]
- |-- grml-medium/
- | |-- filesystem.module [module specifying which squashfs should be used for grml-medium]
- | `-- grml-medium.squashfs [squashfs file for grml-medium]
|-- grml-small/
- | |-- filesystem.module [module specifying which squashfs should be used for grml-medium]
+ | |-- filesystem.module [module specifying which squashfs should be used for grml-small]
| `-- grml-small.squashfs [squashfs file for grml-small]
`-- ...
Finally create a filesystem and execute grml2usb as needed:
# mkfs.vfat /dev/loop1
- # grml2usb --bootloader-only /grml/isos/grml-small_2013.01.iso /dev/loop1
+ # grml2usb --bootloader-only /grml/isos/grml64-small_2018.12.iso /dev/loop1
[[performance-tracing]]
Performance tracing
~~~~~~~~~~~~~~~~~~~
# blktrace -d /dev/sdX -o - | blkparse -i -
- # grml2usb grml_2013.01.iso /dev/sdX1
+ # grml2usb grml64-full_2018.12.iso /dev/sdX1
[[troubleshooting]]
Troubleshooting and Pitfalls when booting
[horizontal]
*Error message*:: ran out of input data. System halted
-*Reason*:: Everything OK, except for the filesystem used on your usb device. So
+*Reason*:: Everything OK, except for the filesystem used on your USB device. So
instead of fat16 you are using for example fat32. Fix: use the appropriate
-filesystem (fat16 for usb pens usually). The Bootsplash might be displayed, the
+filesystem (fat16 for USB flash drive usually). The Bootsplash might be displayed, the
kernel loads but you very soon get the error message.
*Error message*:: Invalid operating system
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.
+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.10.iso
+ % isohybrid grml64-small_2018.12.iso
///////////////////////////////////////////////////////////////////////////////////////////////////
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_2013.01.iso of=/dev/sdX
+ % dd if=grml64-full_2018.12.iso of=/dev/sdX
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
~~~~~~~~~~~~~~~~
grml2iso is a script which uses grml2usb to generate a multiboot ISO out of
-several grml ISOs. See 'man grml2iso' for further details.
+several Grml ISOs. See 'man grml2iso' for further details.
[[menu-lst]]
Why is there a menu.lst and a grub.cfg inside /boot/grub/?
Usage examples
--------------
- # grml2usb /home/grml/grml_2013.01.iso /dev/sdX1
+ # grml2usb /home/grml/grml64-full_2018.12.iso /dev/sdX1
Install specified ISO on device /dev/sdX1.
- # grml2usb /home/grml/grml_2013.01.iso /home/grml/grml_small_2013.01.iso /dev/sdX1
+ # grml2usb /home/grml/grml64-full_2018.12.iso /home/grml/grml32-full_2018.12.iso /dev/sdX1
Install specified ISOs on device /dev/sdX1 for multibooting ISOs.
- # grml2usb /lib/live/mount/medium /dev/sdX1
+ # grml2usb /run/live/medium /dev/sdX1
Install currently running Grml live system on device /dev/sdX1.
- # grml2usb /lib/live/mount/medium /home/grml/grml_2013.01.iso /dev/sdX1
+ # grml2usb /run/live/medium /home/grml/grml64-full_2018.12.iso /dev/sdX1
Install currently running Grml live system and the specified
ISO on device /dev/sdX1 for multibooting.
- # grml2usb --fat16 /home/grml/grml_2013.01.iso /dev/sdX1
+ # grml2usb --fat16 /home/grml/grml64-full_2018.12.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_2013.01.iso /dev/sdX1
+ # grml2usb --grub --grub-mbr /home/grml/grml64-full_2018.12.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
///////////////////////////////////////////////////////////////////////////////////////
# grml2usb --kernel=/boot/vmlinuz-2.6.28-grml --initrd=/boot/initrd.img-2.6.28-grml \
- /home/grml/grml_2013.01.iso /dev/sdX1
+ /home/grml/grml64-full_2018.12.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_2013.01.iso /dev/sdX1
+ /home/grml/grml64-full_2018.12.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_2013.01.iso /dev/sdX1
- # grml2usb --bootoptions="lang=de" --bootoptions="ssh=mysecret" grml_2013.01.iso /dev/sdX1
+ # grml2usb --bootoptions="lang=de ssh=mysecret" grml64-full_2018.12.iso /dev/sdX1
+ # grml2usb --bootoptions="lang=de" --bootoptions="ssh=mysecret" grml64-full_2018.12.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
+ # grml2usb --remove-bootoption="vga=791" --remove-bootoption="nomce" grml64-full_2018.12.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
+ # grml2usb --bootoptions="persistent-path=%flavour_name" grml64-small_2018.12.iso grml32-small_2018.12.iso /dev/sdX1
-Install specified Isos on device /dev/sdx and add parameter persisten-path
+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
------------------
+[[resources]]
+Online Resources
+----------------
Check out the link:http://grml.org/grml2usb/[grml2usb webpage] and the
link:http://git.grml.org/?p=grml2usb.git[grml2usb git repository].