[IMPORTANT]
By default a compatible master boot record (MBR) is installed on the device
-(being for example /dev/sdb when executing 'grml2usb grml.iso /dev/sdb1')
+(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. If bootloader
Options
-------
-The ISO[s] might be the path to one or multiple grml-ISOs as well as the path to
+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).
-The device either might be a device name like /dev/sda1 or a directory. When
+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
-directory it won't be touched but instead grml2usb is assuming that you did set
-up a bootloader on your own and a bootloader won't be installed automatically.
+directory grml2usb is assuming that you did set up a bootloader on your own (or
+don't need one) and a bootloader won't be installed automatically.
The following options are supported:
- *--bootoptions=...*::
+ *\--bootoptions=...*::
Use specified bootoptions as default.
- *--bootloader-only*::
+ *\--bootloader-only*::
Do *not* copy files but instead just install a bootloader. Note that the boot
addons are copied to /boot/addons at this stage as well. If you want to skip
copying the boot addons consider using the --skip-addons option.
- *--copy-only*::
+ *\--copy-only*::
Copy files only but do *not* install a bootloader.
- *--dry-run*::
+ *\--dry-run*::
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.
- *--fat16*::
+ *\--fat16*::
Format specified partition with FAT16.
**Important:** this will destroy any existing data on the specified partition!
- *--force*::
+ *\--force*::
Force any (possible dangerous) actions requiring manual interaction (like --fat16).
- *--help*::
+ *\--help*::
Display usage information and exit.
- *--initrd=...*::
+//////////////////////////////////////////////////////////////////////////
+ *\--initrd=...*::
Install specified initrd instead of the default. You might want to specify
option *--kernel* as well. (Be aware when using multiboot setup.)
[Notice: not implemented yet.]
+//////////////////////////////////////////////////////////////////////////
- *--kernel=...*::
+//////////////////////////////////////////////////////////////////////////
+ *\--kernel=...*::
Install specified kernel instead of the default. You might want to specify
option *--initrd* as well. (Be aware when using multiboot setup.)
[Notice: not implemented yet.]
+//////////////////////////////////////////////////////////////////////////
- *--lilo-binary=...*::
+ *\--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
statically compiled version of the grml2usb Debian package (see
/usr/share/grml2usb/lilo/lilo.static.[amd64|i386]) is taken.
- *--mbr-manager=...*::
+ *\--mbr-menu*::
-Install master boot record (MBR) with integrated boot manager, providing a
-simple selection for specifying the device for booting from. This options is
-available only when using the default MBR and won't work if using the
---syslinux-mbr option.
+Install master boot record (MBR) with integrated boot menu: interactively choose
+the partition to boot from, with a timeout to load the default partition, or
+boot from floppy. When NOT using the --mbr-menu option a MBR with LBA and large
+disc support but without an integrated boot menu is installed (so it's not
+visible at all but instead directly jumps to the bootloader - being grub or
+syslinux). Note: This options is available only when using the default MBR and
+won't have any effect if you're using the --syslinux-mbr option.
- *--quiet*::
+ *\--quiet*::
Do not output anything but just errors on console.
- *--skip-addons*::
+ *\--skip-addons*::
Do not install /boot/addons/ files (like dos, grub, memdisk,...).
- *--skip-mbr*::
+ *\--skip-mbr*::
Do not touch/install the master boot record (MBR).
- *--syslinux*::
+ *\--syslinux*::
Install syslinux bootloader instead of the default (being grub).
- *--syslinux-mbr*::
+ *\--syslinux-mbr*::
-Install syslinux master boot record (MBR) instead of the default one. By
-default a very compatible MBR is installed, if you encounter any problems
-with it you can try using the syslinux MBR instead. If that works for you please
-<<X7,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.
+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 <<X7,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.
- *--squashfs=*::
+//////////////////////////////////////////////////////////////////////////
+ *\--squashfs=*::
Install specified squashfs file instead of the default.
[Notice: not implemented yet.]
+//////////////////////////////////////////////////////////////////////////
- *--uninstall*::
+//////////////////////////////////////////////////////////////////////////
+ *\--uninstall*::
Uninstall grml ISO files.
[Notice: not implemented yet.]
+//////////////////////////////////////////////////////////////////////////
- *-v*, *--version*::
+ *-v*, *\--version*::
Return version and exit.
- *--verbose*::
+ *\--verbose*::
Enable verbose mode.
`-- logo.png
live/
- |-- filesystem.module [file specifying which squashfs should be used by default]
- |-- grml.squashfs [squashfs file]
- |-- grml-medium.module [module specifying which squashfs should be used for grml-medium]
- |-- grml-medium.squashfs [squashfs file for grml-medium]
- |-- grml-small.module [...]
- |-- grml-small.squashfs
- |-- grml64.module
- |-- grml64.squashfs
- |-- grml64-medium.module
- |-- grml64-medium.squashfs
- |-- grml64-small.module
- `-- grml64-small.squashfs
+ |-- 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]
+ | `-- grml-small.squashfs [squashfs file for grml-small]
+ `-- ...
Grabbing the source
~~~~~~~~~~~~~~~~~~~
Finally create a filesystem and execute grml2usb as needed:
# mkfs.vfat /dev/loop1
- # grml2usb --bootloader-only /grml/isos/grml-small_2008.11.iso /dev/loop1
+ # grml2usb --bootloader-only /grml/isos/grml-small_2009.05.iso /dev/loop1
Performance tracing
~~~~~~~~~~~~~~~~~~~
- # blktrace -d /dev/sdb -o - | blkparse -i -
- # grml2usb grml_2008.11.iso /dev/sdb1
+ # blktrace -d /dev/sdx -o - | blkparse -i -
+ # grml2usb grml_2009.05.iso /dev/sdx1
[[X6]]
Troubleshooting and Pitfalls when booting
Frequently Asked Questions (FAQ)
--------------------------------
+[[X5]]
+Where can I get grml2usb?
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+grml2usb is available as Debian package via link:http://deb.grml.org/[the
+grml-testing Debian repository]. Please make sure you really have the Debian
+package installed as having just the grml2usb script available is definitely
+*NOT* enough!
+
+If you do NOT have a Debian based system but still want to be able to use
+grml2usb you can use the provided
+link:http://grml.org/grml2usb/grml2usb.tgz[http://grml.org/grml2usb/grml2usb.tgz]
+(link:http://grml.org/grml2usb/grml2usb.tgz.md5.asc[gpg signed md5 hash]).
+Download and extract the tarball and execute the provided script 'install.sh'.
+
What's the difference between grml2hd and grml2usb?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(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 (even though a persistent root feature is
-work-in-progress). 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.
+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.
Why is there a menu.lst and a grub.cfg inside /boot/grub/?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FAT16 (partition type 6) when using a ext3 filesystem on the partition but
instead use the correct partition type ('83' - Linux) then.
+grub-install complains about /sbin/grub-install and/or xfs_freeze?!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following message:
+
+ You shouldn't call /sbin/grub-install. Please call /usr/sbin/grub-install instead!
+ xfs_freeze: specified file ["/tmp/tmpqaBK6z/boot/grub"] is not on an XFS filesystem
+
+... is "normal". grub-install sends those messages to stderr. To avoid hiding any
+possible real error messages grml2usb doesn't ignore those messages.
+
+grub-install complains about /boot/grub/device.map?!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following message:
+
+ grub-probe: error: Cannot open `/boot/grub/device.map'
+
+... is "normal" (at least with grub1). This isn't a problem, because the
+device.map file will be generated on the target device anyway.
+
+grub-install complains about a unary operator?!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following message:
+
+ '/usr/sbin/grub-install: line 374: [: =: unary operator expected'
+
+... is "normal". Just ignore it.
+
+I'm getting something like "Error: /usr/share/grml2usb/grub/splash.xpm.gz can not be read"!?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Looks like you've only the grml2usb script itself available. Please make sure
+you've the grml2usb Debian package installed. The most resent stable version is
+available via link:http://deb.grml.org/[the grml-testing Debian repository]. If
+you do not have a Debian system please see section <<X5,Where can I get
+grml2usb?>> in this FAQ.
+
Why do I have to use a FAT16 filesystem?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-You have to use a FAT16 filesystem only if you consider using syslinux, Syslinux
+You have to use a FAT16 filesystem only if you consider using syslinux. Syslinux
(currently) does not support any other filesystems. If you want to use another
-filesystem (like ext2/3) just don't use syslinux (drop the --syslinux option)
+filesystem (like ext2/3) just don't use syslinux (drop the \--syslinux option)
but use the default bootloader (grub) instead.
I think I've got a really cool idea!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Please <<X7,report it to the author>>. Or even better: send us a patch. :)
+Great! Please check out
+link:http://git.grml.org/?p=grml2usb.git;a=blob;f=TODO;hb=HEAD[the TODO file].
+Feel free to <<X7,report your wishes to the author>>. Patches highly
+appreciated.
I've problems with booting from USB.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~
Please <<X7,report it to the author>>. Please provide usage examples and output
-of your grml2usb commandline (consider using the "--verbose" option).
+of your grml2usb commandline (consider using the "\--verbose" option).
Usage examples
--------------
- # grml2usb /home/grml/grml_2008.11.iso /dev/sdb1
+ # grml2usb /home/grml/grml_2009.05.iso /dev/sdx1
-Install specified ISO on device /dev/sdb1.
+Install specified ISO on device /dev/sdx1.
- # grml2usb /home/grml/grml_2008.11.iso /home/grml/grml_small_2008.11.iso /dev/sdb1
+ # grml2usb /home/grml/grml_2009.05.iso /home/grml/grml_small_2009.05.iso /dev/sdx1
-Install specified ISOs on device /dev/sdb1 for multibooting ISOs.
+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 --fat16 /home/grml/grml_2008.11.iso /dev/sdb1
+ # 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
+
+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
-Install specified ISO on device /dev/sdb1 and format partition /dev/sdb1 with
+Install specified ISO on device /dev/sdx1 and format partition /dev/sdx1 with
FAT16 filesystem.
- # grml2usb --syslinux /home/grml/grml_2008.11.iso /dev/sdb1
+ # grml2usb --syslinux /home/grml/grml_2009.05.iso /dev/sdx1
-Install specified ISO on device /dev/sdb1 and use syslinux as bootloader
+Install specified ISO on device /dev/sdx1 and use syslinux as bootloader
(instead of grub being the default).
+///////////////////////////////////////////////////////////////////////////////////////
# grml2usb --kernel=/boot/vmlinuz-2.6.28-grml --initrd=/boot/initrd.img-2.6.28-grml \
- /home/grml/grml_2008.11.iso /dev/sdb1
+ /home/grml/grml_2009.05.iso /dev/sdx1
-Install specified ISO on device /dev/sdb1 but use given kernel and initrd
+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_2008.11.iso /dev/sdb1
+ /home/grml/grml_2009.05.iso /dev/sdx1
-Install specified ISO on device /dev/sdb1 but use given squashfs
+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_2008.11.iso /dev/sdb1
+ # grml2usb --bootoptions="lang=de ssh=mysecret" grml_2009.05.iso /dev/sdx1
-Install specified ISO on device /dev/sdb1 and use "lang=de ssh=mysecret" as
+Install specified ISO on device /dev/sdx1 and use "lang=de ssh=mysecret" as
default bootoptions.
Online Ressources