X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=blobdiff_plain;f=grml2usb.8.txt;h=1e7ad6dc44c81d658377c57205c9220f0c014094;hp=125e048c00c7ea773ec23ebc48a91597f8eae948;hb=234f2e70a5a14037fc8ccc5284607c7592216354;hpb=c9500a5fad503b1ed1e74b1ae8d4f6e003b0dfa2 diff --git a/grml2usb.8.txt b/grml2usb.8.txt index 125e048..1e7ad6d 100644 --- a/grml2usb.8.txt +++ b/grml2usb.8.txt @@ -3,7 +3,7 @@ grml2usb(8) Name ---- -grml2usb - install grml on usb device +grml2usb - install grml ISO(s) on usb device for booting Synopsis -------- @@ -13,41 +13,114 @@ grml2usb [ options ] 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. 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 bootbrompt 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). + 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/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. + +The following options are supported: + + *--bootoptions=...*:: + +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*:: + +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 destroy any existing data on the specified partition! + + *--force*:: + +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*:: + +Display usage information and exit. + + *--initrd=...*:: - *--mbr*:: +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.] -Install master boot record (MBR) on the device. + *--kernel=...*:: - *--syslinux*:: +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.] -Install syslinux bootloader (default, requires FAT16 filesystem on the specified partition). + *--lilo=...*:: - *-v*:: +Use specified lilo executable for installing master boot record (MBR). By +default any system wide (from $PATH) lilo executable is taken. If there can not +be find any lilo executable the statically compiled version of the grml2usb +Debian package (see /usr/share/grml2usb/lilo/lilo.static.[amd64|i386]) is taken. + + *--quiet*:: + +Do not output anything but just errors on console. + + *--skip-addons*:: + +Do not install /boot/addons/ files (like dos, grub, memdisk,...). + + *--squashfs=*:: + +Install specified squashfs file instead of the default. +[Notice: not implemented yet.] + + *--uninstall*:: + +Uninstall grml ISO files. +[Notice: not implemented yet.] + + *-v*, *--version*:: Return version and exit. - *-V*:: + *--verbose*:: 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/ @@ -58,35 +131,29 @@ Directory layout on usb device | `-- menu.c32 |-- release/ | |-- grml/ - | |-- linux26 - | |-- initrd.gz + | | |-- linux26 + | | |-- initrd.gz | |-- grml64 - | |-- linux26 - | |-- initrd.gz + | | |-- linux26 + | | |-- initrd.gz | |-- grml-medium - | |-- linux26 - | |-- initrd.gz + | | |-- linux26 + | | |-- initrd.gz | |-- grml64-medium - | |-- linux26 - | |-- initrd.gz + | | |-- linux26 + | | |-- initrd.gz | |-- grml-small - | |-- linux26 - | |-- initrd.gz - | |-- grml64-small + | | |-- linux26 + | | |-- initrd.gz + | `-- grml64-small | |-- linux26 | |-- initrd.gz |-- grub/ | |-- menu.lst | |-- splash.xpm.gz - | |-- stage2_eltorito - |-- isolinux/ - | |-- boot.msg - | |-- boot-beep.msg - | |-- logo.16 - | |-- isolinux-main.cfg - | |-- isolinux.cfg - | |-- syslinux.cfg - `-- bootsplashes/ + | `-- stage2_eltorito + `-- syslinux/ + |-- boot.msg |-- f1 |-- f2 |-- f3 @@ -96,7 +163,9 @@ Directory layout on usb device |-- f7 |-- f8 |-- f9 - `-- f10 + |-- f10 + |-- logo.16 + `-- syslinux.cfg grml/ |-- grml2usb.txt @@ -105,7 +174,7 @@ Directory layout on usb device |-- LICENSE.txt |-- md5sums |-- README.txt - |-- web/ + `-- web/ |-- index.html |-- style.css `-- images/ @@ -128,15 +197,138 @@ Directory layout on usb device |-- 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\nt\n6\na\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 /grml/isos/grml-small_2008.11.iso /dev/loop1 + +Performance tracing +~~~~~~~~~~~~~~~~~~~ + + # blktrace -d /dev/sdb -o - | blkparse -i - + # grml2usb grml_2008.11.iso /dev/sdb1 + +Frequently Asked Questions (FAQ) +-------------------------------- + +What's the difference between grml2hd and grml2usb? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +grml2hd installs a running grml system to a harddisk. When rebooting the +harddisk installation can be modified and changes will find their way to the +harddisk immediately. grml2usb copies just the compressed chroot filesystem +(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. + +Why do I have to use a FAT16 filesystem? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You have to use a FAT16 filesystem if you consider using syslinux (being the +default). Syslinux currently does not support any other filesystems. If you want +to use another filesystem (like ext2/3) consider using the --grub option +instead. + +I think I've got a really cool idea! +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please <>. Or even better: send us a patch. + +I've found a bug! +~~~~~~~~~~~~~~~~~ + +Please <>. Please provide usage examples and output +of your grml2usb commandline (consider using the "--verbose" option). + Usage examples -------------- -TODO + # grml2usb /home/grml/grml_2008.11.iso /dev/sdb1 + +Install specified ISO on device /dev/sdb1. + + # grml2usb /home/grml/grml_2008.11.iso /home/grml/grml_small_2008.11.iso /dev/sdb1 + +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... 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 + +Install specified ISO on device /dev/sdb1 and format partition /dev/sdb1 with +FAT16 filesystem. + + # grml2usb --grub /home/grml/grml_2008.11.iso /dev/sdb1 + +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/sdb1 + +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/sdb1 + +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/sdb1 + +Install specified ISO on device /dev/sdb1 and use "lang=de ssh=mysecret" as +default bootoptions. + +Online Ressources +----------------- + +Check out the link:http://grml.org/grml2usb/[grml2usb webpage] and the +link:http://git.grml.org/?p=grml2usb.git[grml2usb git repository]. Bugs ---- -Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes link:http://grml.org/contact/[to us]! +Please report feedback, bugreports and wishes <>. +[[X7]] Author ------ Michael Prokop + +///////////////////////////////////////////////////////////////// +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/ +/////////////////////////////////////////////////////////////////