Drop Latest change lines, add initial support for Debian/squeeze
[grml-live.git] / docs / grml-live.txt
1 grml-live(8)
2 ============
3
4 Name
5 ----
6
7 grml-live - build framework based on FAI for generating a grml and Debian based
8 Linux Live system (CD/ISO)
9
10 Synopsis
11 --------
12
13 grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [-g
14 <grml_name>] [-i <iso_name> ] [-o <output_directory>] [-r <release_name>] [-s
15 <suite>] [-t <template_directory>] [-v <version_number>] [-bBFhquVz]
16
17 CAUTION: Please check out <<current_state,the 'Current state of grml-live with
18 squashfs-tools and kernel' section>> for details about current state of involved
19 tools before starting with grml-live or if you encounter any problems.
20
21 Description
22 -----------
23
24 grml-live provides the build system for creating a grml and Debian based Linux
25 Live-CD. The build system is based on
26 link:http://www.informatik.uni-koeln.de/fai/[FAI] (Fully Automatic
27 Installation). grml-live uses the "fai dirinstall" feature to generate a chroot
28 system based on the class concept of FAI (see later sections for further
29 details) and provides the framework to be able to generate a full-featured ISO.
30 It does not use all the FAI features by default though and you don't have to
31 know FAI to be able to use it.
32
33 The use of FAI gives you the flexibility to choose the packages you would like
34 to include on your very own Linux Live-CD without having to deal with all the
35 details of a build process.
36
37 CAUTION: grml-live does **not** use /etc/fai for configuration but instead
38 provides and uses /etc/grml/fai. This ensures that it does not clash with
39 default FAI configuration and packages, so you can use grml-live and FAI
40 completely independent at the same time!
41
42 [NOTE]
43
44 Please notice that you should have a fast network connection as all the Debian
45 packages will be downloaded and installed via network. If you want to use a
46 local mirror (strongly recommended if you plan to use grml-live more than once)
47 checkout mkdebmirror (see /usr/share/doc/grml-live/examples/mkdebmirror),
48 debmirror(1), reprepro(1) (see /usr/share/doc/grml-live/examples/reprepro/ for a
49 sample configuration), apt-cacher(1) and approx(8). To avoid downloading the
50 base system again and again check out FAI's NFSROOT (see FAQ of this document
51 for details).
52
53 Options
54 -------
55
56   -a **ARCHITECTURE**::
57
58 Use the specified architecture instead of the currently running one.  This
59 allows building a 32bit system on a 64bit host (though you can't build a 64bit
60 system on a 32bit system/kernel of course). Please notice that real
61 crosscompiling (like building a ppc system on x86) isn't possible due to the
62 nature and the need of working in a chroot. Currently supported values: i386
63 and amd64.
64
65   -b::
66
67 Build the ISO without updating the chroot via FAI. This option is useful for
68 example when working on stable releases: if you have a working base
69 system/chroot and do not want to execute any further updates (via "-u" option)
70 but intend to only build the ISO.
71
72   -B::
73
74 Build the ISO without touching the chroot at all. This option is useful if
75 you modified anything that FAI or grml-live might adjust via grml's FAI
76 scripts.  It's like the '-b' option but even more advanced. Use only if you
77 really know that you do not want to update the chroot.
78
79   -c **CLASSES**::
80
81 Specify the CLASSES to be used for building the ISO via FAI.  By default only
82 the classes GRMLBASE, GRML_MEDIUM and I386 are assumed, resulting in a small base
83 system (being about ~180MB total ISO size). If using a non-I386 system (like
84 amd64) you should specify the appropriate architecture as well. Additionally you
85 can specify a class providing a grml-kernel (see
86 <<classes,the 'CLASSES' section in this document>> for details about available classes).
87 So instead of GRML_MEDIUM you can also use GRML_SMALL and GRML_FULL.
88
89   -C **CONFIGURATION_FILE**::
90
91 The specified file is used as configuration file for grml-live. By default
92 /etc/grml/grml-live.conf is used for main configuration. If a file named
93 /etc/grml/grml-live.local exists it is used as well (sourced after reading
94 /etc/grml/grml-live.conf to allow overriding settings). As a last option the
95 specified configuration file is sourced so it is possible to override settings
96 of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local. Please
97 notice that all configuration files have to be adjusted during execution of
98 grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
99 your own configuration file. Please also notice that the configuration file
100 specified via this option is **not** (yet) supported inside the
101 scripts/hooks/classes at /etc/grml/fai/config. Instead use
102 /etc/grml/grml-live.conf and/or /etc/grml/grml-live.local for configuration
103 stuff used inside /etc/grml/fai/config.
104
105   -F::
106
107 Force execution and do not prompt for acknowledgment of configuration.
108
109   -g **GRML_NAME**::
110
111 Set the grml flavour name. Common usage examples: grml, grml-small, grml64.
112 Please do NOT use blanks and any special characters like '/', ';' inside
113 GRML_NAME, otherwise you might notice problems with booting.
114
115   -h::
116
117 Display short usage information and exit.
118
119   -i **ISO_NAME**::
120
121 Specify name of ISO which will be available inside $OUTPUT_DIRECTORY/grml_isos
122 by default.
123
124   -o **OUTPUT_DIRECTORY**::
125
126 Main output directory of the build process of FAI.  Some directories are created
127 inside this target directory, being: grml_cd (where the files for creating the
128 ISO are located, including the compressed squashfs file), grml_chroot (the
129 chroot system) and grml_isos (where the resulting ISO is stored).
130
131   -q::
132
133 Build the ISO without (re-)creating the squashfs compressed file using mksquashfs.
134 This option is useful if you just want to update parts outside the chroot in the ISO.
135 Consider combining this option with the build-only option '-b'.
136
137   -r **RELEASENAME**::
138
139 Specify name of the release.
140
141   -s **SUITE**::
142
143 Specify the Debian suite you want to use for your live-system.  Defaults to
144 "lenny" (being current Debian/stable). Supported values are: etch, lenny, squeeze,
145 sid.
146
147   -t **TEMPLATE_DIRECTORY**::
148
149 Specify place of the templates used for building the ISO. By default
150 (and if not manually specified) this is /usr/share/grml-live/templates/.
151
152   -u::
153
154 Update existing chroot instead of rebuilding it from scratch. This option is
155 based on the softupdate feature of FAI.
156
157   -v **VERSION_NUMBER**::
158
159 Specify version number of the release.
160
161   -V::
162
163 Increase verbosity in the build process.
164
165   -z::
166
167 Use ZLIB instead of LZMA compression in mksquashfs part of the build process.
168
169 Usage examples
170 --------------
171
172 To get a small, Debian-stable and grml-based Live-CD using /grml/grml-live
173 as build and output directory just run:
174
175   # grml-live
176
177 To get a small Debian-unstable and grml-small based Live-CD using
178 /home/mika/grml-live as build and output directory just use:
179
180   # grml-live -s sid -c GRMLBASE,GRML_SMALL,I386 -o /home/mika/grml-live
181
182 To get a medium sized, Debian-unstable and grml-based Live-CD for i386
183 architecture using /grml/grml-live as build and output directory just run:
184
185   # grml-live -s sid -a i386 -c GRMLBASE,GRML_MEDIUM,I386
186
187 To get a small, Debian-unstable and grml-based Live-CD using /tmp as build and
188 output directory and use grml_0.0-3.iso as ISO name (placed inside
189 /tmp/grml_isos) just invoke:
190
191   # grml-live -o /tmp -c GRMLBASE,GRML_SMALL,I386 -s sid -i grml_0.0-3.iso
192
193 [NOTE]
194
195 If you have about 700MB of free space inside /dev/shm (being a tmpfs, usually
196 you should have >=1GB of RAM) just run "mount -o remount,suid,dev,rw /dev/shm"
197 and use /dev/shm as build and output directory - resulting in very fast build
198 process.  But please be aware of the fact that rebooting your system will result
199 in an empty /dev/shm, so please use another directory for $CHROOT_OUTPUT,
200 $BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :)
201
202 Main features of grml-live
203 --------------------------
204
205 * create a grml-/Debian-based Linux Live-CD with one single command
206
207 * class based concept, providing a maximum of flexibility
208
209 * supports integration of own hooks, scripts and configuration
210
211 * supports use and integration of own Software and/or Kernels via simple use of
212 Debian repositories
213
214 * native support of FAI features
215
216 * multi-arch support (work in progress)
217
218 The class concept
219 -----------------
220
221 grml-live uses FAI and its class based concept for adjusting configuration and
222 setup according to your needs. This gives you flexibility and strength without
223 losing the simplicity in the build process.
224
225 The main and base class provided by grml-live is named GRMLBASE. It's strongly
226 recommended to **always** use the class GRMLBASE when building an ISO using
227 grml-live, as well as the architecture dependent class which provides the kernel
228 (being 'I386' for x86_32 and 'AMD64' for x86_64) and a GRML_* class (like
229 GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are
230 relevant for class GRMLBASE by default:
231
232   /etc/grml/fai/config/scripts/GRMLBASE/
233   /etc/grml/fai/config/debconf/GRMLBASE
234   /etc/grml/fai/config/class/GRMLBASE.var
235   /etc/grml/fai/config/hooks/instsoft.GRMLBASE
236   /etc/grml/fai/config/package_config/GRMLBASE
237
238 Take a look at the next section for information about the concept of those
239 files/directories.
240
241 If you want to use your own configuration, extend an existing configuration
242 and/or add additional packages to your ISO just invent a new class (or extend an
243 existing one). For example if you want to use your own class named "FOOBAR" just
244 extend CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.conf to
245 CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" or invoke grml-live using the classes
246 option: "grml-live -c GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
247
248 More details regarding the class concept can be found in the documentation of
249 FAI itself (being available at /usr/share/doc/fai-doc/).
250
251 [[X7]]
252 [[classes]]
253 Available classes
254 -----------------
255
256 The package selection part of the classes can be found in
257 /etc/grml/fai/config/package_config whereas some further classes are defined for
258 example in /etc/grml/fai/config/scripts/ so specific feature sets can be
259 selected. The following classes are predefined:
260
261 * DEBORPHAN: get rid of all packages listed in output of Deborphan
262
263 * GRMLBASE: the main class responsible for getting a minimal subset of what's
264 defining a grml system. Important parts of the buildprocess are specified in
265 this class as well, so unless you have a really good reason you should always
266 use this class.
267
268 * GRML_FORENSIC: tools for forensic investigations which has been created
269 by people from link:http://www.forensic-geeks.org/[forensic-geeks.org].
270
271 * GRML_FULL: full featured grml, also known as the "normal", full grml.
272
273 * GRML_MEDIUM: medium sized grml version, known as grml-medium
274
275 * GRML_POWERPC: grml for PowerPC architecture, not supported yet (still work in
276 progress)
277
278 * GRML_SMALL: minimum sized grml version, known as grml-small
279
280 * LATEX_CLEANUP: get rid of several very large LaTeX directories
281 (like some /usr/share/doc/texlive-*, /usr/share/doc/texmf,...)
282
283 * LOCALES: use full featured locales setup (see /etc/locale.gen.grml). This
284 avoids to get rid of /usr/share/locale - which happens by default otherwise - as
285 well.
286
287 * NO_ONLINE: do not run scripts during the chroot build process which require a
288 network connection
289
290 * RELEASE: run some specific scripts and commands to provide the workflow for an
291 official grml release
292
293 * REMOVE_DOCS: get rid of documentation directories (like /usr/share/doc,
294 /usr/share/man/, /usr/share/info,...)
295
296 * XORG: providing important packages for use with a base grml-featured X.org
297 setup
298
299 Files
300 -----
301
302 Notice that grml-live ships FAI configuration files that do not use the same
303 namespace as the FAI packages itself. This ensures that grml-live does not clash
304 with your usual FAI configuration, so instead of /etc/fai/fai.conf (package
305 fai-client) grml uses /etc/grml/fai/fai.conf instead. For more details see
306 below. To get an idea how another configuration or example files could look like
307 check out /usr/share/doc/fai-doc/examples/simple/ (provided by Debian package
308 fai-doc). Furthermore /usr/share/doc/fai-doc/fai-guide.html/ch-config.html
309 provides documentation regarding configuration possibilities.
310
311   /usr/sbin/grml-live
312
313 Script for the main build process. Requires root permissions for execution.
314
315   /etc/grml/grml-live.conf
316
317 Main configuration file for grml-live. All the important steps can be configured
318 at this stage.
319
320   /etc/grml/fai/fai.conf
321
322 Main configuration file for FAI which specifies where all the configuration
323 files and scripts for FAI/grml-live can be found. By default it is set to
324 FAI_CONFIGDIR=/etc/grml/fai/config, a directory shipped by grml-live
325 out-of-the-box so you shouldn't have to configure anything in this file.
326
327   /etc/grml/fai/make-fai-nfsroot.conf
328
329 This file is used by make-fai-nfsroot(8) only. Usually you don't have to change
330 anything inside this file. If you want to modify NFSROOT though you can adjust
331 it there.
332
333   /etc/grml/fai/NFSROOT
334
335 This file specifies the package list for creating the NFSROOT.
336
337   /etc/grml/fai/apt/sources.list
338
339 This file specifies which mirrors should be used for retrieving the Debian
340 packages used for creating the main chroot (including all the software you would
341 like to see included). If you want to use a local mirror you either have to
342 adjust this file or use the GRML_LIVE_SOURCES variable inside
343 /etc/grml/grml-live.conf which modifies /etc/grml/fai/apt/sources.list
344 on-the-fly then.
345
346   /etc/grml/fai/config/
347
348 The main directory for configuration of FAI/grml-live. More details below.
349
350   /etc/grml/fai/config/class/
351
352 This directory contains files which specify main configuration variables for the
353 FAI classes.
354
355   /etc/grml/fai/config/debconf/
356
357 This directory provides the files for preseeding/configuration of debconf
358 through files.
359
360   /etc/grml/fai/config/hooks/
361
362 This directory provides files for customising the build process through hooks.
363 Hooks are user defined programs or scripts, which are called during the
364 installation process.
365
366   /etc/grml/fai/config/package_config/
367
368 Directory with lists of software packages to be installed or removed.  The
369 different classes describe what should find its way to your ISO.  When running
370 "grml-live -c GRMLBASE,GRML_SMALL,I386 ..." only the configuration of GRMLBASE,
371 GRML_SMALL and and I386 will be taken. If you use 'grml-live -c
372 GRMLBASE,GRML_SMALL,I386,FOOBAR ...' then the files of GRMLBASE, GRML_SMALL,
373 I386 **plus** the files from FOOBAR will be taken. So just create a new class to
374 adjust the package selection according to your needs.  Please notice that the
375 directory GRMLBASE contains a package list defining a minimum but still
376 reasonable package configuration.
377
378   /etc/grml/fai/config/scripts/
379
380 Scripts for customising the ISO within the build process.
381
382   /etc/grml/fai/files/
383
384 This directory provides files used inside the scripts of
385 /etc/grml/fai/config/scripts/*. For a full documentation what happens with the
386 files please refer to the source of the scripts.
387
388   /etc/grml/fai/live-initramfs/
389
390 This directory provides the files used for building the initramfs/initrd via
391 live-initramfs(8).
392
393 Available log files
394 -------------------
395
396 grml-live itself logs to /var/log/grml-live.log. Unless you set ZERO_LOGFILE in
397 /etc/grml/grml-live.conf the output is appended to the file. If you set the
398 ZERO_LOGFILE configuration option the logfile will be truncated on each new
399 invocation of grml-live.
400
401 The FAI part of grml-live logs to /var/log/fai/$HOSTNAME/ - so the
402 default being /var/log/fai/grml/.
403
404 If you are using the grml-live buildd you will find the logs of the grml-live
405 run at /var/log/grml-buildd.stdout and /var/log/grml-buildd.stderr.
406
407 Requirements for the build system
408 ---------------------------------
409
410 * any Debian based system should be sufficient (if not it's a bug, so please
411 send us a bug report then) [a usual link:http://grml.org/grml2hd/[grml2hd]
412 harddisk installation ships all you need]
413
414 * enough free disk space; at least 800MB are required for a minimal grml-live
415 run (\~400MB for the chroot [$CHROOT_OUTPUT], \~150MB for the build target
416 [$BUILD_OUTPUT] and \~150MB for the resulting ISO [$ISO_OUTPUT] plus some
417 temporary files), if you plan to use GRML_FULL you should have at least 4GB of
418 total free disk space
419
420 * fast network access for retrieving the Debian packages used for creating the
421 chroot (check out "local mirror" and "NFSROOT" to workaround this problem as far
422 as possible)
423
424 For further information see next section.
425
426 [[X8]]
427 [[current_state]]
428 Current state of grml-live with squashfs-tools and kernel
429 ---------------------------------------------------------
430
431 To make it easier to track problems this section documents current state of
432 grml-live playing together with squashfs-tools / squashfs-lzma-tools (for
433 building the compressed file) and the kernel version. Documentation of this
434 section is up2date by 02nd of december 2008, please report any bugs you
435 encounter.
436
437 System
438 ~~~~~~
439
440 * grml-live, version 0.9.6
441
442 * building grml-medium (Debian/unstable)
443
444 * software versions used in the ISO (being installed automatically, recorded
445 just as a reference):
446
447   ii  busybox             1:1.10.2-2          Tiny utilities for small and embedded systems
448   ii  initramfs-tools     0.92f.grml01        tools for generating an initramfs
449   ii  klibc-utils         1.5.12-2            small utilities built with klibc for early boot
450   ii  live-initramfs      1.139.1-4grml.03    Debian Live initramfs hook
451   ii  lvm2                2.02.39-2           The Linux Logical Volume Manager
452   ii  mdadm               2.6.7.1-1           tool to administer Linux MD arrays (software RAID)
453   ii  udev                0.125-6grml0        /dev/ and hotplug management daemon
454
455 Using squashfs-lzma-tools 3.3-1 on the build system
456 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
457
458 squashfs-lzma-tools from the grml repository supports kernel 2.6.26-grml[64]
459 (version >=grml.05) using both lzma and zlib (-nolzma) compression. It's the
460 recommended package for building ISOs with grml-live currently!
461
462 The packages can be downloaded from
463 link:http://deb.grml.org/pool/main/s/squashfs-lzma/[http://deb.grml.org/pool/main/s/squashfs-lzma/].
464
465 [NOTE]
466 Please use squashfs-lzma-tools 3.3-1 if you want to remaster release 2008.11 of grml.
467
468 Using squashfs-tools 1:3.3-7 on the build system
469 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
470
471 squashfs-tools 1:3.3-7 is available via Debian/unstable and Debian/testing
472 (lenny) pool running:
473
474   # aptitude install squashfs-tools=1:3.3-7
475
476 or directly via downloading the files
477 http://grml.org/squashfs/squashfs-tools_3.3-7_i386.deb (for x86) or
478 http://grml.org/squashfs/squashfs-tools_3.3-7_amd64.deb (for amd64) [both build
479 on and for Debian/etch but working with testing and unstable as well].
480
481 Please notice that squashfs-tools 1:3.3-7 does NOT support LZMA compression
482 at all (so you won't be able to remaster release 2008.11 for example). The
483 -nolzma option of mksquashfs is not available therefore (even though
484 grml-live will deactivate it for you automatically anyway). Please use
485 squashfs-lzma-tools instead.
486
487 * Kernel 2.6.23-grml: does NOT work, please use squashfs-tools 1:3.2r2-9exp1
488                       instead if you still want to use kernel 2.6.23
489 * Kernel 2.6.26-grml: works (without LZMA compression of course!)
490
491 Using squashfs-tools 1:3.2r2-9exp1 on the build system
492 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
493
494 squashfs-tools 1:3.2r2-9exp1 is available via the grml-testing repository,
495 running:
496
497   # aptitude install squashfs-tools=1:3.2r2-9exp1
498
499 or directly via downloading the files
500 http://grml.org/squashfs/squashfs-tools_3.2r2-9exp1_i386.deb (for x86) or
501 http://grml.org/squashfs/squashfs-tools_3.2r2-9exp1_amd64.deb (for amd64).
502
503 Versions with ZLIB compression (SQUASHFS_OPTIONS='-nolzma' or -z
504 option in grml-live cmdline):
505
506 * Kernel 2.6.23-grml: works
507 * Kernel 2.6.26-grml: works
508
509 Versions with LZMA compression:
510
511 * Kernel 2.6.23-grml: works
512 * Kernel 2.6.26-grml: does NOT work, please use zlib mode instead or switch
513   to Debian package squashfs-lzma-tools (see section above).
514
515 FAQ
516 ---
517
518 Help, I'm using Debian etch and I don't have FAI version >3.2
519 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
520
521   wget http://www.informatik.uni-koeln.de/fai/download/etch/fai-client_3.2.8_all.deb \
522        http://www.informatik.uni-koeln.de/fai/download/etch/fai-server_3.2.8_all.deb \
523        http://www.informatik.uni-koeln.de/fai/download/etch/fai-doc_3.2.8_all.deb
524   dpkg -i fai-client_3.2.8_all.deb fai-server_3.2.8_all.deb fai-doc_3.2.8_all.deb
525
526 or check out the link:http://www.informatik.uni-koeln.de/fai/[FAI-homepage] for
527 further details.
528
529 I've problems with the build process. How to start debugging?
530 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
531
532 Check out the logs inside /var/log/fai/... If you don't have the time to debug
533 the problem in further detail or don't know how to proceed just send a copy of
534 your config, logs and the commandline with a short problem description to
535 <mika@grml.org>:
536
537   # history | grep grml-live > /etc/grml/grml_live.cmdline
538   # tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \
539             /etc/grml/grml-buildd.conf /var/log/fai /etc/grml/fai
540
541 Can I use my own (local) Debian mirror?
542 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
543
544 Sure. Just adjust the variables GRML_LIVE_SOURCES and FAI_DEBOOTSTRAP (if not
545 already using NFSROOT's base.tgz) inside /etc/grml/grml-live.conf according to
546 your needs. Please don't forget that you should use the grml servers as well
547 (see default configuration) so all the grml packages can be downloaded as well.
548
549 If you want to use a local (for example NFS mount) mirror additionally, just
550 adjust MIRROR_DIRECTORY and MIRROR_SOURCES inside /etc/grml/grml-live.conf as
551 well.
552
553 Unless you specify GRML_LIVE_SOURCES and/or FAI_DEBOOTSTRAP the default from
554 /etc/grml/fai/apt/sources.list and /etc/grml/fai/make-fai-nfsroot.conf will be
555 taken. If you customise the variables in /etc/grml/grml-live.conf then the two
556 files will be adjusted during runtime automatically.
557
558 If MIRROR_DIRECTORY and MIRROR_SOURCES are specified the local mirror will be
559 taken as first entry in the generated sources.list so it's prefered over
560 non-local mirrors. Using a fallback mirror (via providing several mirrors in
561 GRML_LIVE_SOURCES as used by default) is a recommended setting.
562
563 How do I add additional Debian package(s) to my CD/ISO?
564 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
565
566 Just create a new class (using the package_config directory):
567
568   # cat > /etc/grml/fai/config/package_config/MIKA << EOF
569   PACKAGES aptitude
570
571   vim
572   another_name_of_a_debian_package
573   and_another_one
574   EOF
575
576 and specify it when invoking grml-live then:
577
578   # grml-live -c GRMLBASE,GRML_SMALL,I386,MIKA
579
580 I fscked up my grml-live configuration. How do I reset it to the defaults?
581 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
582
583 Notice: this deletes all your grml-live configuration files. If that's really
584 what you are searching for just run:
585
586   rm -rf /etc/grml/fai /etc/grml/grml-live.conf
587   dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb
588
589 [NOTE]
590
591 If you don't control your /etc using a version control system (VCS) yet it's a
592 good chance to start using it now. Check out
593 link:http://michael-prokop.at/blog/2007/03/14/maintain-etc-with-mercurial-on-debian/[http://michael-prokop.at/blog/2007/03/14/maintain-etc-with-mercurial-on-debian/]
594 for more details how to maintain /etc using the mercurial VCS.
595
596 How do I create a base.tgz for use as NFSROOT?
597 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
598
599 First of all build the chroot system:
600
601   mkdir /tmp/nfsroot && cd /tmp/nfsroot
602   debootstrap lenny /tmp/nfsroot/ http://ftp.de.debian.org/debian
603   tar zcf base.tgz ./
604
605 Then check out where your NFSROOT is located:
606
607   # grep '^NFSROOT' /etc/grml/fai/make-fai-nfsroot.conf
608   NFSROOT=/grml/fai/nfsroot
609
610 So as /grml/fai/nfsroot is your NFSROOT place the file under
611 /grml/fai/nfsroot/live/filesystem.dir/var/tmp/:
612
613   mv base.tgz /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
614
615 or even better use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz instead.
616 Use I386 as $CLASSNAME for i386 builds and AMD64 for amd64 builds.
617
618 Now running "grml-live ..." will use this file as main system instead of
619 executing debootstrap. Check out the output for the following lines if using
620 NFSROOT:
621
622   [...]
623   Calling task_extrbase
624   Unpacking Debian base archive
625   Extracting /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
626   Calling task_mirror
627   [...]
628
629 or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
630
631   [...]
632   ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to
633   /grml-live/grml-live_20071029.22138/grml_chroot//
634   [...]
635
636 Set up apt-cacher for use with grml-live
637 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
638
639 Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and
640 FAI_DEBOOTSTRAP:
641
642   # cat /etc/grml/grml-live.conf
643   [...]
644   GRML_LIVE_SOURCES="
645   deb http://localhost:3142/deb.grml.org grml-stable  main
646   deb http://localhost:3142/deb.grml.org grml-testing main
647   deb http://localhost:3142/ftp.de.debian.org/debian lenny main contrib non-free
648   "
649   [...]
650   FAI_DEBOOTSTRAP="lenny http://localhost:3142/ftp.de.debian.org/debian lenny main contrib non-free"
651
652 Make sure apt-cacher is running (/etc/init.d/apt-cacher restart). That's it.
653 All downloaded files will be cached in /var/cache/apt-cacher/ now.
654
655 Set up approx for use with grml-live
656 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
657
658 Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and
659 FAI_DEBOOTSTRAP:
660
661   # cat /etc/grml/grml-live.conf
662   [...]
663   GRML_LIVE_SOURCES="
664   deb http://localhost:9999/grml            grml-stable  main
665   deb http://localhost:9999/grml            grml-testing main
666   deb http://localhost:9999/debian lenny    main contrib non-free
667   "
668   FAI_DEBOOTSTRAP="lenny http://localhost:9999/debian"
669
670 Configure approx:
671
672   # cat /etc/approx/approx.conf
673   [...]
674   debian http://ftp.at.debian.org/debian
675   grml   http://deb.grml.org/
676
677 Don't forget to restart approx (/etc/init.d/approx restart). That's it.
678 All downloaded files will be cached in /var/cache/approx now.
679
680 I've a question which isn't answered by this document
681 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
682
683 Don't hesitate to ask on IRC (channel #grml on irc.freenode.org) or just drop me
684 a mail: <mika@grml.org>
685
686 Download / install grml-live as a Debian package
687 ------------------------------------------------
688
689 Debian packages are available through the grml-repository at
690 link:http://deb.grml.org/pool/main/g/grml-live/[deb.grml.org].  If you want to
691 build a Debian package on your own (using for example a specific version or the
692 current development tree), just execute:
693
694   git clone git://git.grml.org/grml-live
695   cd grml-live
696   debuild -us -uc
697
698 Source
699 ------
700
701 The source of grml-live is available at
702 link:http://git.grml.org/?p=grml-live.git[http://git.grml.org/?p=grml-live.git]
703
704 TODO list
705 ---------
706
707 Check out link:http://wiki.grml.org/doku.php?id=grml-live[grml-live in the grml-wiki]
708 for details.
709
710 Bugs
711 ----
712
713 Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes
714 link:http://grml.org/contact/[to the grml-team]!
715
716 Authors
717 -------
718 Michael Prokop <mika@grml.org>
719
720 /////////////////////////////////////
721 // vim:ai tw=80 ft=asciidoc expandtab
722 /////////////////////////////////////