Important! The grml team does not take responsibility for loss of any data!
*******************************************************************************
+Introduction
+------------
+
+grml2usb installs grml on a given partition of your usb device and makes it
+bootable.
+
+grml2usb 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 bootbrompt then. Notice that the default ISO (that's when pressing just
+enter on the bootprompt or wait until the timeout matches) will be the *first*
+one specified on the grml2usb command line.
+
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 device either might be a device name like /dev/usb-sda1 or a directory. When
+The device either might be a device name like /dev/sda1 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.
Use specified bootoptions as default.
+ *--bootloader-only*::
+
+Do *not* copy files but instead just install a bootloader.
+
+ *--copy-only*::
+
+Copy files only but do *not* install a bootloader.
+
*--dry-run*::
-Do not actually execute any commands, instead just show what would be executed.
+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*::
-Format specified partition with FAT16. **Important:** this will defstroy any existing
-data on the specified partition!
+Format specified partition with FAT16.
+**Important:** this will destroy any existing data on the specified partition!
*--force*::
-Force any actions requiring manual interaction (like --fat16, --mbr).
+Force any (possible dangerous) actions requiring manual interaction (like --fat16).
*--grub*::
-Install grub bootloader instead of syslinux.
+Install grub bootloader instead of syslinux. [Notice: not implemented yet.]
*--help*::
*--initrd=...*::
Install specified initrd instead of the default. You might want to specify
-option *--kernel* as well.
+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=...*::
+
+Use specified lilo executable to for installing master boot record (MBR)
+instead of the default, being /usr/share/grml2usb/lilo/lilo.static.
*--mbr*::
-Install master boot record (MBR) on the device.
+Install a default master boot record (MBR) on the device.
- *--squashfs=*::
+ *--quiet*::
+
+Do not output anything but just errors on console.
-Install specified squashfs file as the default.
+ *--skip-addons*::
- *--syslinux*::
+Do not install /boot/addons/ files (like dos, grub, memdisk,...).
+
+ *--squashfs=*::
-Install syslinux bootloader (default, requires FAT16 filesystem on the specified partition).
+Install specified squashfs file instead of the default.
+[Notice: not implemented yet.]
*--uninstall*::
Uninstall grml ISO files.
+[Notice: not implemented yet.]
*-v*, *--version*::
Enable verbose mode.
-Introduction
-------------
-
-grml2usb installs grml on a given partition on your usb device and makes it
-bootable.
+Developers Corner
+-----------------
Directory layout on usb device
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
boot/ ->
|-- addons/
| |-- menu.lst
| |-- splash.xpm.gz
| `-- stage2_eltorito
- `-- isolinux/
+ `-- syslinux/
|-- boot.msg
- |-- boot-beep.msg
|-- f1
|-- f2
|-- f3
|-- f9
|-- f10
|-- logo.16
- |-- isolinux-main.cfg
- |-- isolinux.cfg
`-- syslinux.cfg
grml/
|-- grml64-small.module
`-- grml64-small.squashfs
+Grabbing the source
+~~~~~~~~~~~~~~~~~~~
+
+ git clone git://git.grml.org/grml2usb.git
+
+Developers Debugging Hints
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To play with grml2usb you can avoid using a real device via a loopback file
+setup, like:
+
+ dd if=/dev/zero of=~/loopback bs=1M count=100 # adjust size to your needs
+ losetup /dev/loop1 ~/loopback
+
+Then create according partitions either running for example:
+
+ echo -en "n\np\n1\n\n\n t \n 6\n a\n1\n w\n" | fdisk /dev/loop1
+
+or:
+
+ parted /dev/loop1 -s "mkpart primary fat16 0 -1s mkfs 1 fat16"
+
+Finally create a filesystem and execute grml2usb as needed:
+
+ mkfs.vfat /dev/loop1
+ grml2usb --bootloader-only --mbr /grml/isos/grml-small_2008.11.iso /dev/loop1
+
+
Usage examples
--------------
- # grml2usb /home/grml/grml_2008.11.iso /dev/usb-sdb1
+ # grml2usb /home/grml/grml_2008.11.iso /dev/sdb1
-Install specified ISOs on device /dev/usb-sdb1.
+Install specified ISO on device /dev/sdb1.
- # grml2usb /home/grml/grml_2008.11.iso /home/grml/grml_small_2008.11.iso /dev/usb-sdb1
+ # grml2usb /home/grml/grml_2008.11.iso /home/grml/grml_small_2008.11.iso /dev/sdb1
-Install specified ISOs on device /dev/usb-sdb1 for multibooting ISOs.
+Install specified ISOs on device /dev/sdb1 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...
+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 --mbr /home/grml/grml_2008.11.iso /dev/usb-sdb1
+ # grml2usb --fat16 --mbr /home/grml/grml_2008.11.iso /dev/sdb1
-Install specified ISO on device /dev/usb-sdb1, install MBR on /dev/usb-sdb and
-format partition /dev/usb-sdb1 with FAT16 filesystem.
+Install specified ISO on device /dev/sdb1, install MBR on /dev/sdb and
+format partition /dev/sdb1 with FAT16 filesystem.
- # grml2usb --grub /home/grml/grml_2008.11.iso /dev/usb-sdb1
+ # grml2usb --grub /home/grml/grml_2008.11.iso /dev/sdb1
-Install specified ISO on device /dev/usb-sdb1 and use Grub as bootloader
+Install specified ISO on device /dev/sdb1 and use Grub as bootloader
(instead of syslinux 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/usb-sdb1
+ /home/grml/grml_2008.11.iso /dev/sdb1
-Install specified ISO on device /dev/usb-sdb1 but use given kernel and initrd
+Install specified ISO on device /dev/sdb1 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/usb-sdb1
+ /home/grml/grml_2008.11.iso /dev/sdb1
-Install specified ISO on device /dev/usb-sdb1 but use given squashfs
+Install specified ISO on device /dev/sdb1 but use given squashfs
file instead of the one provided by the ISO.
- # grml2usb --bootoptions="lang=de ssh=mysecret" grml_2008.11.iso /dev/usb-sdb1
+ # grml2usb --bootoptions="lang=de ssh=mysecret" grml_2008.11.iso /dev/sdb1
-Install specified ISO on device /dev/usb-sdb1 and use "lang=de ssh=mysecret" as
+Install specified ISO on device /dev/sdb1 and use "lang=de ssh=mysecret" as
default bootoptions.
Bugs
Michael Prokop <mika@grml.org>
/////////////////////////////////////////////////////////////////
-http://git.grml.org/?p=grml2usb.git
http://wiki.grml.org/doku.php?id=tips#multiboot_usb_pen
http://www.startx.ro/sugar/isotostick.sh
https://help.ubuntu.com/community/Installation/FromUSBStick
http://unetbootin.sourceforge.net/
http://www.tux.org/pub/people/kent-robotti/looplinux/rip/mkusb.sh
+https://fedorahosted.org/liveusb-creator/
/////////////////////////////////////////////////////////////////