Merge remote-tracking branch 'origin/github/pr/45'
[grml.org.git] / config / grml-config.old.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 8.2.7" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a {\r
20   color: blue;\r
21   text-decoration: underline;\r
22 }\r
23 a:visited {\r
24   color: fuchsia;\r
25 }\r
26 \r
27 em {\r
28   font-style: italic;\r
29   color: navy;\r
30 }\r
31 \r
32 strong {\r
33   font-weight: bold;\r
34   color: #083194;\r
35 }\r
36 \r
37 tt {\r
38   color: navy;\r
39 }\r
40 \r
41 h1, h2, h3, h4, h5, h6 {\r
42   color: #527bbd;\r
43   font-family: sans-serif;\r
44   margin-top: 1.2em;\r
45   margin-bottom: 0.5em;\r
46   line-height: 1.3;\r
47 }\r
48 \r
49 h1, h2, h3 {\r
50   border-bottom: 2px solid silver;\r
51 }\r
52 h2 {\r
53   padding-top: 0.5em;\r
54 }\r
55 h3 {\r
56   float: left;\r
57 }\r
58 h3 + * {\r
59   clear: left;\r
60 }\r
61 \r
62 div.sectionbody {\r
63   font-family: serif;\r
64   margin-left: 0;\r
65 }\r
66 \r
67 hr {\r
68   border: 1px solid silver;\r
69 }\r
70 \r
71 p {\r
72   margin-top: 0.5em;\r
73   margin-bottom: 0.5em;\r
74 }\r
75 \r
76 ul, ol, li > p {\r
77   margin-top: 0;\r
78 }\r
79 \r
80 pre {\r
81   padding: 0;\r
82   margin: 0;\r
83 }\r
84 \r
85 span#author {\r
86   color: #527bbd;\r
87   font-family: sans-serif;\r
88   font-weight: bold;\r
89   font-size: 1.1em;\r
90 }\r
91 span#email {\r
92 }\r
93 span#revision {\r
94   font-family: sans-serif;\r
95 }\r
96 \r
97 div#footer {\r
98   font-family: sans-serif;\r
99   font-size: small;\r
100   border-top: 2px solid silver;\r
101   padding-top: 0.5em;\r
102   margin-top: 4.0em;\r
103 }\r
104 div#footer-text {\r
105   float: left;\r
106   padding-bottom: 0.5em;\r
107 }\r
108 div#footer-badges {\r
109   float: right;\r
110   padding-bottom: 0.5em;\r
111 }\r
112 \r
113 div#preamble,\r
114 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
115 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
116 div.admonitionblock {\r
117   margin-right: 10%;\r
118   margin-top: 1.5em;\r
119   margin-bottom: 1.5em;\r
120 }\r
121 div.admonitionblock {\r
122   margin-top: 2.5em;\r
123   margin-bottom: 2.5em;\r
124 }\r
125 \r
126 div.content { /* Block element content. */\r
127   padding: 0;\r
128 }\r
129 \r
130 /* Block element titles. */\r
131 div.title, caption.title {\r
132   color: #527bbd;\r
133   font-family: sans-serif;\r
134   font-weight: bold;\r
135   text-align: left;\r
136   margin-top: 1.0em;\r
137   margin-bottom: 0.5em;\r
138 }\r
139 div.title + * {\r
140   margin-top: 0;\r
141 }\r
142 \r
143 td div.title:first-child {\r
144   margin-top: 0.0em;\r
145 }\r
146 div.content div.title:first-child {\r
147   margin-top: 0.0em;\r
148 }\r
149 div.content + div.title {\r
150   margin-top: 0.0em;\r
151 }\r
152 \r
153 div.sidebarblock > div.content {\r
154   background: #ffffee;\r
155   border: 1px solid silver;\r
156   padding: 0.5em;\r
157 }\r
158 \r
159 div.listingblock {\r
160   margin-right: 0%;\r
161 }\r
162 div.listingblock > div.content {\r
163   border: 1px solid silver;\r
164   background: #f4f4f4;\r
165   padding: 0.5em;\r
166 }\r
167 \r
168 div.quoteblock {\r
169   padding-left: 2.0em;\r
170 }\r
171 div.quoteblock > div.attribution {\r
172   padding-top: 0.5em;\r
173   text-align: right;\r
174 }\r
175 \r
176 div.verseblock {\r
177   padding-left: 2.0em;\r
178 }\r
179 div.verseblock > div.content {\r
180   white-space: pre;\r
181 }\r
182 div.verseblock > div.attribution {\r
183   padding-top: 0.75em;\r
184   text-align: left;\r
185 }\r
186 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */\r
187 div.verseblock + div.attribution {\r
188   text-align: left;\r
189 }\r
190 \r
191 div.admonitionblock .icon {\r
192   vertical-align: top;\r
193   font-size: 1.1em;\r
194   font-weight: bold;\r
195   text-decoration: underline;\r
196   color: #527bbd;\r
197   padding-right: 0.5em;\r
198 }\r
199 div.admonitionblock td.content {\r
200   padding-left: 0.5em;\r
201   border-left: 2px solid silver;\r
202 }\r
203 \r
204 div.exampleblock > div.content {\r
205   border-left: 2px solid silver;\r
206   padding: 0.5em;\r
207 }\r
208 \r
209 div.imageblock div.content { padding-left: 0; }\r
210 div.imageblock img { border: 1px solid silver; }\r
211 span.image img { border-style: none; }\r
212 \r
213 dl {\r
214   margin-top: 0.8em;\r
215   margin-bottom: 0.8em;\r
216 }\r
217 dt {\r
218   margin-top: 0.5em;\r
219   margin-bottom: 0;\r
220   font-style: normal;\r
221 }\r
222 dd > *:first-child {\r
223   margin-top: 0.1em;\r
224 }\r
225 \r
226 ul, ol {\r
227     list-style-position: outside;\r
228 }\r
229 div.olist > ol {\r
230   list-style-type: decimal;\r
231 }\r
232 div.olist2 > ol {\r
233   list-style-type: lower-alpha;\r
234 }\r
235 \r
236 div.tableblock > table {\r
237   border: 3px solid #527bbd;\r
238 }\r
239 thead {\r
240   font-family: sans-serif;\r
241   font-weight: bold;\r
242 }\r
243 tfoot {\r
244   font-weight: bold;\r
245 }\r
246 \r
247 div.hlist {\r
248   margin-top: 0.8em;\r
249   margin-bottom: 0.8em;\r
250 }\r
251 div.hlist td {\r
252   padding-bottom: 15px;\r
253 }\r
254 td.hlist1 {\r
255   vertical-align: top;\r
256   font-style: normal;\r
257   padding-right: 0.8em;\r
258 }\r
259 td.hlist2 {\r
260   vertical-align: top;\r
261 }\r
262 \r
263 @media print {\r
264   div#footer-badges { display: none; }\r
265 }\r
266 \r
267 div#toctitle {\r
268   color: #527bbd;\r
269   font-family: sans-serif;\r
270   font-size: 1.1em;\r
271   font-weight: bold;\r
272   margin-top: 1.0em;\r
273   margin-bottom: 0.1em;\r
274 }\r
275 \r
276 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
277   margin-top: 0;\r
278   margin-bottom: 0;\r
279 }\r
280 div.toclevel2 {\r
281   margin-left: 2em;\r
282   font-size: 0.9em;\r
283 }\r
284 div.toclevel3 {\r
285   margin-left: 4em;\r
286   font-size: 0.9em;\r
287 }\r
288 div.toclevel4 {\r
289   margin-left: 6em;\r
290   font-size: 0.9em;\r
291 }\r
292 /* Workarounds for IE6's broken and incomplete CSS2. */\r
293 \r
294 div.sidebar-content {\r
295   background: #ffffee;\r
296   border: 1px solid silver;\r
297   padding: 0.5em;\r
298 }\r
299 div.sidebar-title, div.image-title {\r
300   color: #527bbd;\r
301   font-family: sans-serif;\r
302   font-weight: bold;\r
303   margin-top: 0.0em;\r
304   margin-bottom: 0.5em;\r
305 }\r
306 \r
307 div.listingblock div.content {\r
308   border: 1px solid silver;\r
309   background: #f4f4f4;\r
310   padding: 0.5em;\r
311 }\r
312 \r
313 div.quoteblock-attribution {\r
314   padding-top: 0.5em;\r
315   text-align: right;\r
316 }\r
317 \r
318 div.verseblock-content {\r
319   white-space: pre;\r
320 }\r
321 div.verseblock-attribution {\r
322   padding-top: 0.75em;\r
323   text-align: left;\r
324 }\r
325 \r
326 div.exampleblock-content {\r
327   border-left: 2px solid silver;\r
328   padding-left: 0.5em;\r
329 }\r
330 \r
331 /* IE6 sets dynamically generated links as visited. */\r
332 div#toc a:visited { color: blue; }\r
333 \r
334 /* Because IE6 child selector is broken. */\r
335 div.olist2 ol {\r
336   list-style-type: lower-alpha;\r
337 }\r
338 div.olist2 div.olist ol {\r
339   list-style-type: decimal;\r
340 }\r
341 </style>\r
342 <title>grml-config(1)</title>\r
343 </head>\r
344 <body>\r
345 <div id="header">\r
346 <h1>grml-config(1)</h1>\r
347 </div>\r
348 <h2 id="_name">NAME</h2>\r
349 <div class="sectionbody">\r
350 <div class="para"><p>save-config - save configuration ; restore-config - restore\r
351 configuration; mkpersistenthome - create persistent home directory;\r
352 more options available via bootoptions (see following documentation)</p></div>\r
353 </div>\r
354 <h2 id="_synopsis">SYNOPSIS</h2>\r
355 <div class="sectionbody">\r
356 <div class="para"><p>save-config - please take a look at <em>save-config -h</em> ; restore-config\r
357 - please take a look at <em>restore-config -h</em>, mkpersistenthome (no\r
358 options available)</p></div>\r
359 </div>\r
360 <h2 id="_introduction">Introduction</h2>\r
361 <div class="sectionbody">\r
362 <div class="para"><p>By using the config-framework it is possible to save the configuration\r
363 of a running grml system and restore it later. save-config is a script\r
364 to store your running configuration inside a bzip2 compressed tar\r
365 archive (from now on known as the <em>configuration file</em>).\r
366 restore-config is a script to restore a configuration using the stored\r
367 configuration file.  Several bootoptions provide additional features.\r
368 If you do not know where to start just take a look at the available\r
369 options and read the section <a href="#X7">usage scenarios</a>.</p></div>\r
370 <div class="admonitionblock">\r
371 <table><tr>\r
372 <td class="icon">\r
373 <div class="title">Tip</div>\r
374 </td>\r
375 <td class="content">The generated configuration archives are plain bzip2 compressed tar\r
376 archives. All the files are generated starting from the root-directory\r
377 <em>/</em> so it is easy to handle. You can generate configuration archives\r
378 manually as well, save-config is just a frontend which should make it\r
379 easier to use.</td>\r
380 </tr></table>\r
381 </div>\r
382 </div>\r
383 <h2 id="_autoconfiguration">Autoconfiguration</h2>\r
384 <div class="sectionbody">\r
385 <div class="para"><p>By default the booting process tries to mount a device labeled\r
386 <em>GRMLCFG</em>. This provides the possibility to restore a configuration\r
387 (named config.tbz) and execute a script (named grml.sh) without the\r
388 need to specify any bootparams. If you want to disable this feature\r
389 please take a look at the <em>noautoconfig</em> bootparam.</p></div>\r
390 </div>\r
391 <h2 id="_boot_options">Boot options</h2>\r
392 <div class="sectionbody">\r
393 <div class="para"><p>As you probably know you can adjust boot parameters on the bootprompt.  You want\r
394 to set some boot options permanently? That's possible via adding a directory\r
395 named <em>bootparams</em> to the grml-ISO which has to be located at the root-directory\r
396 /bootparams/ (note: the directory is known as /live/image/bootparams/ on a\r
397 <em>running</em> grml system then). Place a textfile inside the directory containing\r
398 the bootoptions which should be appended to default ones (this corresponds to\r
399 booting without any special options). If you want to be able to boot from your\r
400 grml-CD you have to create a multisession CD. See the <a href="#X7">usage scenarios</a> for\r
401 more details how to use it or consider booting from a USB device (checkout\r
402 grml2usb).</p></div>\r
403 </div>\r
404 <h2 id="_scripts">Scripts</h2>\r
405 <div class="sectionbody">\r
406 <h3 id="_save_config_save_configuration">save-config - save configuration</h3><div style="clear:left"></div>\r
407 <div class="para"><p>This script generates a plain bzip2 compressed tar archive containing\r
408 the specified files. The following options are supported for\r
409 specifying which parts should be saved in the configuration file:</p></div>\r
410 <div class="literalblock">\r
411 <div class="content">\r
412 <pre><tt>-home                         store hidden files from $HOME ($HOME/.*)\r
413 -grmlhome                     store hidden files from \$HOME (\$HOME/.*) of user grml [use as user root]\r
414 -etc                          store modified files from /etc\r
415 -configdir                    store $HOME/config\r
416 -all                          store all configuration files (:= -home, -configdir and -etc)</tt></pre>\r
417 </div></div>\r
418 <div class="admonitionblock">\r
419 <table><tr>\r
420 <td class="icon">\r
421 <div class="title">Tip</div>\r
422 </td>\r
423 <td class="content">It is also possible to use environment variables for specifying which parts\r
424 should be saved.  Just set the corresponding variable: $SAVE_HOME, $SAVE_ETC,\r
425 $SAVE_CONFIGDIR and $SAVE_ALL</td>\r
426 </tr></table>\r
427 </div>\r
428 <div class="para"><p>The default filename of the generated configuration file is\r
429 config.tbz.  The following options are supported for specifying\r
430 another destination of the configuration file:</p></div>\r
431 <div class="literalblock">\r
432 <div class="content">\r
433 <pre><tt>-ssh user@host:/path/to/file  copy configuration via ssh/scp to remote host\r
434 -mail &lt;recipient&gt;             send configuration via mail\r
435 -file foo_bar_config.tbz      save configuration in specified file</tt></pre>\r
436 </div></div>\r
437 <div class="para"><p>Usage examples:</p></div>\r
438 <div class="literalblock">\r
439 <div class="content">\r
440 <pre><tt>save-config -all                                  =&gt; store all configuration files in config.tbz in current dir\r
441 save-config -home -mail  devnull@grml.org         =&gt; store $HOME/.* in config.tbz and send it via mail\r
442 save-config -etc  -ssh   devnull@grml.org:/path/  =&gt; store /etc in config.tbz and scp it to specified host\r
443 save-config -all  -file  foo.tbz                  =&gt; store all configuration files in foo.tbz\r
444 SAVE_ALL=yes save-config -file /path/foo.tbz      =&gt; store all configuration files in /path/foo.tbz</tt></pre>\r
445 </div></div>\r
446 <h3 id="_restore_config_restore_configuration">restore-config - restore configuration</h3><div style="clear:left"></div>\r
447 <div class="para"><p>You can restore a configuration using the bootoptions or by a script\r
448 file named <em>restore-config</em>.  Specify the filename of the\r
449 configuration archive which should be used as a parameter. The\r
450 following options are available to specify which parts of the archive\r
451 should be extracted.</p></div>\r
452 <div class="literalblock">\r
453 <div class="content">\r
454 <pre><tt>-home                         extract hidden files from $HOME ($HOME/.*)\r
455 -grmlhome                     store hidden files from \$HOME (\$HOME/.*) of user grml [use as user root]\r
456 -etc                          extract modified files from /etc\r
457 -configdir                    extract $HOME/config</tt></pre>\r
458 </div></div>\r
459 <div class="para"><p>The default is to extract (restore) all files found in the archive.</p></div>\r
460 <div class="admonitionblock">\r
461 <table><tr>\r
462 <td class="icon">\r
463 <div class="title">Tip</div>\r
464 </td>\r
465 <td class="content">It is also possible to use environment variables for specifying\r
466 which part should be restored. Just set the corresponding variable:\r
467 $RESTORE_HOME, $RESTORE_ETC, $RESTORE_CONFIGDIR and $RESTORE_ALL</td>\r
468 </tr></table>\r
469 </div>\r
470 <div class="para"><p>Usage examples:</p></div>\r
471 <div class="literalblock">\r
472 <div class="content">\r
473 <pre><tt>restore-config -home foo_bar_config.tbz  =&gt; restore configuration from file foo_bar_config.tbz\r
474 restore-config config.tbz                =&gt; restore configuration from file config.tbz</tt></pre>\r
475 </div></div>\r
476 <h3 id="_mkpersistenthome_use_persistent_home_directory">mkpersistenthome - use persistent home-directory</h3><div style="clear:left"></div>\r
477 <div class="para"><p>You have a local partition you would like to use as your\r
478 home-directory?  Just use the interactive script called\r
479 <em>mkpersistenthome</em>. It will either create a file named grml.img on the\r
480 specified partition or create a partition using the ext2 filesystem\r
481 (you can specify the option in a dialog inside the program). grml.img\r
482 is a loopback device which size you can specify manually.  It is\r
483 possible to scan through the partitions to identify the appropriate\r
484 partition. To use a home-directory located on your hard-drive use the\r
485 appropriate bootoption on bootprompt:</p></div>\r
486 <div class="literalblock">\r
487 <div class="content">\r
488 <pre><tt>home=/dev/sda3    =&gt;   use /dev/sda3 as the homepartition\r
489 home=scan         =&gt;   scan through the available partitions and search for file grml.img</tt></pre>\r
490 </div></div>\r
491 </div>\r
492 <h2 id="_boot_options_2">Boot-Options</h2>\r
493 <div class="sectionbody">\r
494 <div class="para"><p>The following bootoptions are supported. Use them at the (isolinux)\r
495 bootprompt as documented here.</p></div>\r
496 <div class="vlist"><dl>\r
497 <dt>\r
498 myconfig\r
499 </dt>\r
500 <dd>\r
501 <p>\r
502    This option is for restoring configuration using the file config.tbz\r
503     on the specified device. Usage examples:\r
504 </p>\r
505 <div class="literalblock">\r
506 <div class="content">\r
507 <pre><tt>myconfig=/dev/sda1                        =&gt; use file config.tbz from usb-device\r
508 myconfig=/dev/fd0                         =&gt; use file config.tbz from floppy-disk\r
509 myconfig=/dev/sda1 file=config_foobar.tbz =&gt; use file config_foobar.tbz from usb-device</tt></pre>\r
510 </div></div>\r
511 </dd>\r
512 <dt>\r
513 home\r
514 </dt>\r
515 <dd>\r
516 <p>\r
517     This option is for setting a specific partition as home directory.\r
518     Usage examples:\r
519 </p>\r
520 <div class="literalblock">\r
521 <div class="content">\r
522 <pre><tt>home=/dev/sda3    =&gt;  use /dev/sda3 as the homepartition\r
523 home=scan         =&gt;  scan through the available partitions and search\r
524                       for file grml.img</tt></pre>\r
525 </div></div>\r
526 </dd>\r
527 <dt>\r
528 partconf\r
529 </dt>\r
530 <dd>\r
531 <p>\r
532     This option mounts the specified device in read-only mode and tries\r
533     to copy all files specified in /etc/grml/partconf to the grml\r
534     system. This provides the possibility to use the configuration of a\r
535     harddisk installation. For example using the network configuration\r
536     (which is specified in /etc/network) is possible using this\r
537     bootoption. Usage example:\r
538 </p>\r
539 <div class="literalblock">\r
540 <div class="content">\r
541 <pre><tt>partconf=/dev/sda2 =&gt; try to mount /dev/sda2 and copy files specified\r
542                       in /etc/grml/partconf to the booted grml system</tt></pre>\r
543 </div></div>\r
544 </dd>\r
545 <dt>\r
546 netconfig\r
547 </dt>\r
548 <dd>\r
549 <p>\r
550     Use this option to restore configuration using wget to download\r
551     a configuration file from specified destination. Usage example:\r
552 </p>\r
553 <div class="literalblock">\r
554 <div class="content">\r
555 <pre><tt>netconfig=server.tld/path/to/config.tbz  =&gt;   restore configuration using wget to download file config.tbz</tt></pre>\r
556 </div></div>\r
557 </dd>\r
558 <dt>\r
559 extract\r
560 </dt>\r
561 <dd>\r
562 <p>\r
563     Extract specific directories from configuration archive. Notice:\r
564     This bootparam is useful only with bootparams which are able to\r
565     extract configuration archives.\r
566 </p>\r
567 <div class="literalblock">\r
568 <div class="content">\r
569 <pre><tt>extract=/home/grml         =&gt; extract only /home/grml from archive\r
570 extract=/etc               =&gt; extract only /etc from archive\r
571 extract=/home/grml/config  =&gt; extract only $HOME/config from archive</tt></pre>\r
572 </div></div>\r
573 </dd>\r
574 <dt>\r
575 scripts\r
576 </dt>\r
577 <dd>\r
578 <p>\r
579     This option executes a script located in the root-directory /scripts/ on the\r
580     grml media/ISO (note: the directory is known as /live/image/scripts/ on a\r
581     <em>running</em> grml system then). Usage examples:\r
582 </p>\r
583 <div class="literalblock">\r
584 <div class="content">\r
585 <pre><tt>scripts               =&gt;   run script [/live/image]/scripts/grml.sh\r
586 scripts=foobar.sh     =&gt;   run script foobar.sh in [/live/image]/scripts/</tt></pre>\r
587 </div></div>\r
588 </dd>\r
589 <dt>\r
590 config\r
591 </dt>\r
592 <dd>\r
593 <p>\r
594     This option restores a configuration using root-directory /config/ on the\r
595     grml media/ISO (note: the directory is known as /live/image/config on a\r
596     <em>running</em> grml system then). Usage examples:\r
597 </p>\r
598 <div class="literalblock">\r
599 <div class="content">\r
600 <pre><tt>config                    =&gt;   restore configuration using file config.tbz from directory [/live/image]/config/\r
601 config=config_foobar.tbz  =&gt;   restore configuration using file config_foobar.tbz from directory [/live/image]/config/</tt></pre>\r
602 </div></div>\r
603 </dd>\r
604 <dt>\r
605 debs\r
606 </dt>\r
607 <dd>\r
608 <p>\r
609     This options allows automatic installation of deb packages while\r
610     booting. The debian packages have to be located in the root-directory /debs/\r
611     on the grml media/ISO (note: the directory is known as /live/image/debs/ on\r
612     a <em>running</em> grml system then). Usage examples:\r
613 </p>\r
614 <div class="literalblock">\r
615 <div class="content">\r
616 <pre><tt>debs              =&gt;   install all debian packages (suffix .deb) from directory [/live/image]/debs/\r
617 debs=01           =&gt;   install all debian packages (suffix .deb) starting with 01 in the filename from directory [/live/image]/debs/</tt></pre>\r
618 </div></div>\r
619 </dd>\r
620 <dt>\r
621 noautoconfig\r
622 </dt>\r
623 <dd>\r
624 <p>\r
625     Deactivate automounting. By default the command <em>mount</em> tries to mount a\r
626     device with label <em>GRMLCFG</em>. If you specify the noautoconfig bootparam\r
627     the automounting will be deactivated.\r
628 </p>\r
629 <div class="literalblock">\r
630 <div class="content">\r
631 <pre><tt>noautoconfig            =&gt; disables auto mounting of label 'GRMLCFG'</tt></pre>\r
632 </div></div>\r
633 </dd>\r
634 </dl></div>\r
635 </div>\r
636 <h2 id="X7">Usage scenarios</h2>\r
637 <div class="sectionbody">\r
638 <h3 id="_personal_configuration_files">Personal configuration files</h3><div style="clear:left"></div>\r
639 <div class="para"><p>You are a fan of the editor vim? Great. You probably have your own\r
640 <sub>/.vimrc and want to use it on the grml system. You also don't like\r
641 the default zsh configuration and want to use your own </sub>/.zshrc?\r
642 How to procede? Copy your .vimrc and .zshrc to $HOME of user <em>grml</em>.\r
643 Place additional files in $HOME/config. Now create a configuration for\r
644 your files running:</p></div>\r
645 <div class="literalblock">\r
646 <div class="content">\r
647 <pre><tt>save-config -home -configdir</tt></pre>\r
648 </div></div>\r
649 <div class="para"><p>Now you should have a file named config.tbz containing your\r
650 configuration files. You can copy the archive to a webserver\r
651 and restore it via downloading during reboot using the following\r
652 commandline on bootprompt:</p></div>\r
653 <div class="literalblock">\r
654 <div class="content">\r
655 <pre><tt>grml netconfig=server.tld/path/to/config.tbz</tt></pre>\r
656 </div></div>\r
657 <div class="para"><p>You don't have network access but own a floppy drive? Copy the file\r
658 to a floppy disk and boot with:</p></div>\r
659 <div class="literalblock">\r
660 <div class="content">\r
661 <pre><tt>grml myconfig=/dev/fd0</tt></pre>\r
662 </div></div>\r
663 <div class="para"><p>Floppy is to small or to slow? Ok, let's use a usb device:</p></div>\r
664 <div class="literalblock">\r
665 <div class="content">\r
666 <pre><tt>grml myconfig=/dev/sda1</tt></pre>\r
667 </div></div>\r
668 <h3 id="_network_configuration">Network configuration</h3><div style="clear:left"></div>\r
669 <div class="para"><p>You need a specific network setup and want to use your own\r
670 /etc/network/interfaces by default? Generate the configuration\r
671 archive running the following command as user root:</p></div>\r
672 <div class="literalblock">\r
673 <div class="content">\r
674 <pre><tt>save-config -etc</tt></pre>\r
675 </div></div>\r
676 <div class="para"><p>Now you should have a file named config.tbz containing your\r
677 configuration files. If you want to use it with a floppy disk copy the\r
678 file to a floppy and boot via using the following command on\r
679 bootprompt:</p></div>\r
680 <div class="literalblock">\r
681 <div class="content">\r
682 <pre><tt>grml myconfig=/dev/fd0</tt></pre>\r
683 </div></div>\r
684 <div class="para"><p>Floppy is to small or to slow? Ok, let's use a usb device:</p></div>\r
685 <div class="literalblock">\r
686 <div class="content">\r
687 <pre><tt>grml myconfig=/dev/sda1</tt></pre>\r
688 </div></div>\r
689 <div class="para"><p>You do have an existing harddisk installation and want to use its\r
690 configuration? Let's say the debian system is located in /dev/sda2. You\r
691 want to use the directory /etc/network. This directory is activated by\r
692 default in /etc/grml/partconf so we don't have to do any further work.\r
693 We just need to activate it via using the following commandline on\r
694 bootprompt:</p></div>\r
695 <div class="literalblock">\r
696 <div class="content">\r
697 <pre><tt>grml partconf=/dev/sda2</tt></pre>\r
698 </div></div>\r
699 <h3 id="_automatic_installation_of_debian_packages">Automatic installation of debian packages</h3><div style="clear:left"></div>\r
700 <div class="para"><p>You have a specified debian package named <em>foobar.deb</em> and want to use\r
701 it with (therefore: install it on) grml by default? Notice: this feature\r
702 is useful especially for grml-small (a ~80 MB ISO). If you want to use it\r
703 with the large version of grml you might have to overburn the ISO.</p></div>\r
704 <div class="para"><p>Let's assume you have burned the grml iso to a CD-RW using a commandline like:</p></div>\r
705 <div class="literalblock">\r
706 <div class="content">\r
707 <pre><tt>cdrecord dev=/dev/hdc -v -multi -tao grml_0.5.iso</tt></pre>\r
708 </div></div>\r
709 <div class="para"><p>Now create a directory named debs and place foobar.deb in it:</p></div>\r
710 <div class="literalblock">\r
711 <div class="content">\r
712 <pre><tt>mkdir debs/ &amp;&amp; cp foobar.deb debs/</tt></pre>\r
713 </div></div>\r
714 <div class="para"><p>Notice: This directory will be located in /live/image after burning the second session.</p></div>\r
715 <div class="para"><p>Now create the second session containing this directory:</p></div>\r
716 <div class="literalblock">\r
717 <div class="content">\r
718 <pre><tt>mkisofs -M grml_0.5.iso -C `cdrecord -msinfo dev=/dev/hdc` -R -o 2nd_session.iso debs</tt></pre>\r
719 </div></div>\r
720 <div class="para"><p>Finally append the second session to the cd using:</p></div>\r
721 <div class="literalblock">\r
722 <div class="content">\r
723 <pre><tt>cdrecord dev=/dev/hdc -v -multi -tao 2nd_session.iso</tt></pre>\r
724 </div></div>\r
725 <div class="admonitionblock">\r
726 <table><tr>\r
727 <td class="icon">\r
728 <div class="title">Tip</div>\r
729 </td>\r
730 <td class="content">the application k3b (not available on the live-CD but available\r
731 through the Debian repositories) provides an easy to use interface for\r
732 doing the multisession task.</td>\r
733 </tr></table>\r
734 </div>\r
735 <div class="para"><p>Now boot from your new personalized grml cd using the debs option:</p></div>\r
736 <div class="literalblock">\r
737 <div class="content">\r
738 <pre><tt>grml debs</tt></pre>\r
739 </div></div>\r
740 <h3 id="_run_your_own_commands">Run your own commands</h3><div style="clear:left"></div>\r
741 <div class="para"><p>You know that booting with <em>grml service=foobar</em> executes\r
742 /etc/init.d/foobar when booting grml. But you want to setup a more\r
743 complex network configuration, adjust some other stuff and so on on your\r
744 own? Just write a script named grml.sh which does the job and use own\r
745 of the mentioned bootparams. Let's say you have placed grml.sh on your\r
746 usb device (usb stick) then use the following commandline on bootprompt:</p></div>\r
747 <div class="literalblock">\r
748 <div class="content">\r
749 <pre><tt>grml myconfig=/dev/sda1</tt></pre>\r
750 </div></div>\r
751 <div class="para"><p>Or even better: create a floppy disk with label GRMLCFG running:</p></div>\r
752 <div class="literalblock">\r
753 <div class="content">\r
754 <pre><tt>fdformat /dev/fd0   # format the floppy disk if not done already\r
755 mkfs.ext2 -L GRMLCFG /dev/fd0   # now create ext2 filesystem with label GRMLCFG on it:</tt></pre>\r
756 </div></div>\r
757 <div class="admonitionblock">\r
758 <table><tr>\r
759 <td class="icon">\r
760 <div class="title">Tip</div>\r
761 </td>\r
762 <td class="content">several filesystems provide the possibility to provide a label.\r
763 For example FAT provides this through: <em>mkfs.vfat -n GRMLCFG\r
764 /dev/sda1</em> (attention: this will destroy data on /dev/sda1 of\r
765 course!). Take a look at the documentation/manpage of the filesystem\r
766 you want to use.</td>\r
767 </tr></table>\r
768 </div>\r
769 <div class="para"><p>Now place your configuration archive (see save-config and the other\r
770 usage scenarios) and the script grml.sh on the floppy disk. Now you can\r
771 boot your system without specifying any bootparameters on bootprompt\r
772 because devices labeled with GRMLCFG are mounted readonly and used by\r
773 default. If you did not label your device you can use the device anyway\r
774 using <em>grml myconfig=/dev/ice</em> on the bootprompt.</p></div>\r
775 <h3 id="_debug_remote_systems">Debug remote systems</h3><div style="clear:left"></div>\r
776 <div class="para"><p>You are responsible for a customer's system in her data center. The\r
777 system has failed and you need to debug from remote, and the remote\r
778 hands available in the data center do not have enough knowledge to get\r
779 grml booted and configure the network without external help?</p></div>\r
780 <div class="para"><p>If the hard disk of the system is still available, you hopefully have\r
781 saved a configuration file with IP address, netmask and default\r
782 gateway somewhere on that hard disk. grml can use the information\r
783 found on a partition. Take a look at the <em>partconf</em> boot parameter.\r
784 Usage example: <em>grml partconf=/dev/sda2</em> copies files defined in\r
785 /etc/grml/partconf from /dev/sda2 to the grml system. As /etc/network\r
786 is predefined in /etc/grml/partconf the configuration from /dev/sda2\r
787 will be taken.</p></div>\r
788 <div class="para"><p>Or you use a standard grml medium and have grml read IP address,\r
789 netmask and default gateway from another medium like a floppy or an USB\r
790 stick. Take a look at the script saveconfig and the boot parameter\r
791 myconfig.</p></div>\r
792 <h3 id="_adjust_boot_parameters">Adjust boot parameters</h3><div style="clear:left"></div>\r
793 <div class="para"><p>You want to set some boot options permanently? Just add a directory named\r
794 <em>bootparams</em> to the CD-ROM (so it is located at the root directory /bootparams/,\r
795 the directory is known as /live/image/bootparams/ on a <em>running</em> grml system\r
796 then) and contains a textfile with the bootparams you would like to use.</p></div>\r
797 <div class="literalblock">\r
798 <div class="content">\r
799 <pre><tt>mkdir bootparams\r
800 echo lang=de &gt; bootparams/my_bootparams</tt></pre>\r
801 </div></div>\r
802 <div class="para"><p>Then burn a multisession CD where directory bootparams is located in the root\r
803 directory of the CD.</p></div>\r
804 <div class="admonitionblock">\r
805 <table><tr>\r
806 <td class="icon">\r
807 <div class="title">Note</div>\r
808 </td>\r
809 <td class="content">Not all bootoptions can be used via /bootparams/. This is a limitation of the\r
810 way the kernel and userspace retrieve boot options. Bootoptions regarding the\r
811 kernel definitely do <strong>NOT</strong> work. Bootoptions related to grml-autoconfig (the\r
812 main part of the boot process in grml running in userspace, being all the stuff\r
813 after startup of udev) are expected to work. Bootoptions related to\r
814 initrd/initramfs (the part between <em>Searching for GRML file</em> and startup of\r
815 udev) are <strong>NOT</strong> covered by /bootparams/ as well yet.</td>\r
816 </tr></table>\r
817 </div>\r
818 <div class="admonitionblock">\r
819 <table><tr>\r
820 <td class="icon">\r
821 <div class="title">Tip</div>\r
822 </td>\r
823 <td class="content">the application k3b (not available on the live-CD but available\r
824 through the Debian repositories) provides an easy to use interface for\r
825 doing the multisession task.</td>\r
826 </tr></table>\r
827 </div>\r
828 <h3 id="_use_persistent_home_directory">Use persistent home directory</h3><div style="clear:left"></div>\r
829 <div class="para"><p>You want to use a persistent home directory which includes all the files\r
830 located in $HOME. Use the script mkpersistenthome to create such a\r
831 persistent home directory. You have the options to either use a\r
832 specific partition as your home directory or add a loopback file\r
833 named grml.img on the specified partition (the default).</p></div>\r
834 <div class="admonitionblock">\r
835 <table><tr>\r
836 <td class="icon">\r
837 <div class="title">Tip</div>\r
838 </td>\r
839 <td class="content">/dev/external in the partition selection of mkpersistenthome is\r
840 an usb device without partitions. /dev/external1 corresponds to the\r
841 first partition on an usb device (usually an usb stick).</td>\r
842 </tr></table>\r
843 </div>\r
844 <div class="para"><p>After running the script mkpersistenthome you can use the boot\r
845 parameter home to activate the home directory. If you are using the\r
846 option with the loopback file (grml.img) you can boot via:</p></div>\r
847 <div class="literalblock">\r
848 <div class="content">\r
849 <pre><tt>grml home=scan</tt></pre>\r
850 </div></div>\r
851 <div class="para"><p>which will scan through the partitions and if a file grml.img is found\r
852 it will be mounted as your $HOME-directory. If you want to use a\r
853 partition as your home directory specify the device as an option. If\r
854 you want to use /dev/sda2 as your $HOME boot via:</p></div>\r
855 <div class="literalblock">\r
856 <div class="content">\r
857 <pre><tt>grml home=/dev/sda2</tt></pre>\r
858 </div></div>\r
859 <div class="para"><p>Notice: the files located in /etc/skel will be copied to the partition\r
860 (but will not overwrite any files).</p></div>\r
861 <h3 id="_bugs">Bugs</h3><div style="clear:left"></div>\r
862 <div class="para"><p>Please report feedback, bugreports and wishes <a href="http://grml.org/contact/">to us</a>!</p></div>\r
863 <h3 id="_author">Author</h3><div style="clear:left"></div>\r
864 <div class="para"><p>(c) 2005++, Michael Prokop &lt;<a href="mailto:mika@grml.org">mika@grml.org</a>&gt;</p></div>\r
865 </div>\r
866 <div id="footer">\r
867 <div id="footer-text">\r
868 Last updated 2009-03-01 14:03:21 CEST\r
869 </div>\r
870 </div>\r
871 </body>\r
872 </html>\r