[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 currently running live-system (being /live/image).
+The ISO[s] is the path to one or multiple grml-ISOs.
+/////////////////////////////////////////////////////////////////////////////
+TODO:
+as well as 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:
Display usage information and exit.
+//////////////////////////////////////////////////////////////////////////
*--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=...*::
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=...*::
*--syslinux-mbr*::
Install syslinux master boot record (MBR) instead of the default one. By
-default a very compatible MBR is installed, if you can encounter any problems
+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.
-[NOTE]
-When using the --syslinux-mbr option also lilo is executed so the according
-partitions are set active.
-
+//////////////////////////////////////////////////////////////////////////
*--squashfs=*::
Install specified squashfs file instead of the default.
[Notice: not implemented yet.]
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
*--uninstall*::
Uninstall grml ISO files.
[Notice: not implemented yet.]
+//////////////////////////////////////////////////////////////////////////
*-v*, *--version*::
| |-- grub.cfg [configuration file for grub2]
| |-- menu.lst [configuration file for grub1]
| |-- splash.xpm.gz [splash screen for grub1]
- | `-- stage2_eltorito [stage 2 loader for grub1]
`-- syslinux/
|-- boot.msg [boot splash for syslinux]
|-- f1 [screen when pressing f1]
`-- 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
~~~~~~~~~~~~~~~~~~~
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_2008.11.iso /dev/sdx1
[[X6]]
Troubleshooting and Pitfalls when booting
no matter which grub version is available on the host where grml2usb is
executed on.
+grub-install fails with 'The file ../boot/grub/stage1 not read correctly"?!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Check whether the partition has the right partition type. For example do NOT use
+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.
+
Why do I have to use a FAT16 filesystem?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Usage examples
--------------
- # grml2usb /home/grml/grml_2008.11.iso /dev/sdb1
+ # grml2usb /home/grml/grml_2008.11.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_2008.11.iso /home/grml/grml_small_2008.11.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 --fat16 /home/grml/grml_2008.11.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_2008.11.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_2008.11.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_2008.11.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_2008.11.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