Extend docs, add support for lilo on i386 vs. amd64
[grml2usb.git] / grml2usb.8.txt
1 grml2usb(8)
2 ==========
3
4 Name
5 ----
6 grml2usb - install grml ISO(s) on usb device for booting
7
8 Synopsis
9 --------
10 grml2usb [ options ] <ISO[s]> <device>
11
12 *******************************************************************************
13 Important! The grml team does not take responsibility for loss of any data!
14 *******************************************************************************
15
16 Introduction
17 ------------
18
19 grml2usb installs grml on a given partition of your usb device and makes it
20 bootable.
21
22 grml2usb provides multi-iso support, meaning you can specify several grml ISOs
23 on the command line at once and select the grml flavour you would like to boot
24 on the bootbrompt then. Notice that the default ISO (that's when pressing just
25 enter on the bootprompt or wait until the timeout matches) will be the *first*
26 one specified on the grml2usb command line.
27
28 Options
29 -------
30
31 The ISO[s] might be the path to one or multiple grml-ISOs as well as the path to
32 the currently running live-system (being /live/image).
33
34 The device either might be a device name like /dev/sda1 or a directory. When
35 specifying a device name the device is mounted automatically. When specifying a
36 directory it won't be touched but instead grml2usb is assuming that you did set
37 up a bootloader on your own and a bootloader won't be installed automatically.
38
39 The following options are supported:
40
41   *--bootoptions=...*::
42
43 Use specified bootoptions as default.
44
45   *--bootloader-only*::
46
47 Do *not* copy files but instead just install a bootloader.
48
49   *--copy-only*::
50
51 Copy files only but do *not* install a bootloader.
52
53   *--dry-run*::
54
55 Avoid executing commands, instead show what would be executed.
56 Warning: please notice that the ISO has to be mounted anyway, otherwise
57 identifying the grml flavour would not be possible.
58
59   *--fat16*::
60
61 Format specified partition with FAT16.
62 **Important:** this will destroy any existing data on the specified partition!
63
64   *--force*::
65
66 Force any (possible dangerous) actions requiring manual interaction (like --fat16).
67
68   *--grub*::
69
70 Install grub bootloader instead of syslinux. [Notice: not implemented yet.]
71
72   *--help*::
73
74 Display usage information and exit.
75
76   *--initrd=...*::
77
78 Install specified initrd instead of the default. You might want to specify
79 option *--kernel* as well. (Be aware when using multiboot setup.)
80 [Notice: not implemented yet.]
81
82   *--kernel=...*::
83
84 Install specified kernel instead of the default. You might want to specify
85 option *--initrd* as well. (Be aware when using multiboot setup.)
86 [Notice: not implemented yet.]
87
88   *--lilo=...*::
89
90 Use specified lilo executable to for installing master boot record (MBR)
91 instead of the default, being /usr/share/grml2usb/lilo/lilo.static.
92
93   *--mbr*::
94
95 Install a default master boot record (MBR) on the device.
96
97   *--quiet*::
98
99 Do not output anything but just errors on console.
100
101   *--squashfs=*::
102
103 Install specified squashfs file instead of the default.
104 [Notice: not implemented yet.]
105
106   *--uninstall*::
107
108 Uninstall grml ISO files.
109 [Notice: not implemented yet.]
110
111   *-v*, *--version*::
112
113 Return version and exit.
114
115   *--verbose*::
116
117 Enable verbose mode.
118
119 Developers Corner
120 -----------------
121
122 Directory layout on usb device
123 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124
125   boot/ ->
126     |-- addons/
127     |   |-- allinone.img
128     |   |-- balder10.imz
129     |   |-- chain.c32
130     |   |-- memdisk
131     |   `-- menu.c32
132     |-- release/
133     |   |-- grml/
134     |   |   |-- linux26
135     |   |   |-- initrd.gz
136     |   |-- grml64
137     |   |   |-- linux26
138     |   |   |-- initrd.gz
139     |   |-- grml-medium
140     |   |   |-- linux26
141     |   |   |-- initrd.gz
142     |   |-- grml64-medium
143     |   |   |-- linux26
144     |   |   |-- initrd.gz
145     |   |-- grml-small
146     |   |   |-- linux26
147     |   |   |-- initrd.gz
148     |   `-- grml64-small
149     |       |-- linux26
150     |       |-- initrd.gz
151     |-- grub/
152     |   |-- menu.lst
153     |   |-- splash.xpm.gz
154     |   `-- stage2_eltorito
155     `-- syslinux/
156         |-- boot.msg
157         |-- f1
158         |-- f2
159         |-- f3
160         |-- f4
161         |-- f5
162         |-- f6
163         |-- f7
164         |-- f8
165         |-- f9
166         |-- f10
167         |-- logo.16
168         `-- syslinux.cfg
169
170   grml/
171     |-- grml2usb.txt
172     |-- grml-cheatcodes.txt
173     |-- grml-version.txt
174     |-- LICENSE.txt
175     |-- md5sums
176     |-- README.txt
177     `-- web/
178         |-- index.html
179         |-- style.css
180         `-- images/
181             |-- button.png
182             |-- favicon.png
183             |-- linux.jpg
184             `-- logo.png
185
186   live/
187     |-- filesystem.module
188     |-- grml.squashfs
189     |-- grml-medium.module
190     |-- grml-medium.squashfs
191     |-- grml-small.module
192     |-- grml-small.squashfs
193     |-- grml64.module
194     |-- grml64.squashfs
195     |-- grml64-medium.module
196     |-- grml64-medium.squashfs
197     |-- grml64-small.module
198     `-- grml64-small.squashfs
199
200 Grabbing the source
201 ~~~~~~~~~~~~~~~~~~~
202
203   git clone git://git.grml.org/grml2usb.git
204
205 Developers Debugging Hints
206 ~~~~~~~~~~~~~~~~~~~~~~~~~~
207
208 To play with grml2usb you can avoid using a real device via a loopback file
209 setup, like:
210
211   dd if=/dev/zero of=~/loopback bs=1M count=100 # adjust size to your needs
212   losetup /dev/loop1 ~/loopback
213
214 Then create according partitions either running for example:
215
216   echo -en "n\np\n1\n\n\n t \n 6\n a\n1\n w\n" | fdisk /dev/loop1
217
218 or:
219
220   parted /dev/loop1 -s "mkpart primary fat16 0 -1s mkfs 1 fat16"
221
222 Finally create a filesystem and execute grml2usb as needed:
223
224   mkfs.vfat /dev/loop1
225   grml2usb --bootloader-only --mbr /grml/isos/grml-small_2008.11.iso /dev/loop1
226
227
228 Usage examples
229 --------------
230
231   # grml2usb /home/grml/grml_2008.11.iso /dev/sdb1
232
233 Install specified ISO on device /dev/sdb1.
234
235   # grml2usb /home/grml/grml_2008.11.iso /home/grml/grml_small_2008.11.iso /dev/sdb1
236
237 Install specified ISOs on device /dev/sdb1 for multibooting ISOs.
238 Note: boot "grml" as usual, for booting grml-small use "grml-small on the
239 bootprompt, for grml64 use "grml64" and so on... The *first* specified ISO is
240 the one being the default (when just pressing enter or waiting until the timeout
241 is reached).
242
243   # grml2usb --fat16 --mbr /home/grml/grml_2008.11.iso /dev/sdb1
244
245 Install specified ISO on device /dev/sdb1, install MBR on /dev/sdb and
246 format partition /dev/sdb1 with FAT16 filesystem.
247
248   # grml2usb --grub /home/grml/grml_2008.11.iso /dev/sdb1
249
250 Install specified ISO on device /dev/sdb1 and use Grub as bootloader
251 (instead of syslinux being the default).
252
253   # grml2usb --kernel=/boot/vmlinuz-2.6.28-grml --initrd=/boot/initrd.img-2.6.28-grml \
254              /home/grml/grml_2008.11.iso /dev/sdb1
255
256 Install specified ISO on device /dev/sdb1 but use given kernel and initrd
257 instead of the ones provided by the ISO.
258
259   # grml2usb --squashfs=/grml/grml-live/grml_cd/live/grml.squashfs \
260              /home/grml/grml_2008.11.iso /dev/sdb1
261
262 Install specified ISO on device /dev/sdb1 but use given squashfs
263 file instead of the one provided by the ISO.
264
265   # grml2usb --bootoptions="lang=de ssh=mysecret" grml_2008.11.iso /dev/sdb1
266
267 Install specified ISO on device /dev/sdb1 and use "lang=de ssh=mysecret" as
268 default bootoptions.
269
270 Bugs
271 ----
272 Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes link:http://grml.org/contact/[to the grml-team].
273
274 Author
275 ------
276 Michael Prokop <mika@grml.org>
277
278 /////////////////////////////////////////////////////////////////
279 http://wiki.grml.org/doku.php?id=tips#multiboot_usb_pen
280 http://www.startx.ro/sugar/isotostick.sh
281 https://help.ubuntu.com/community/Installation/FromUSBStick
282 http://unetbootin.sourceforge.net/
283 http://www.tux.org/pub/people/kent-robotti/looplinux/rip/mkusb.sh
284 https://fedorahosted.org/liveusb-creator/
285 /////////////////////////////////////////////////////////////////