Drop package config GRML_FORENSIC as it is developed and maintained as part of Grml...
[grml-live.git] / docs / grml-live.txt
index 7002f31..ef80be9 100644 (file)
@@ -79,28 +79,38 @@ really know that you do not want to update the chroot.
   -c **CLASSES**::
 
 Specify the CLASSES to be used for building the ISO via FAI.  By default only
-the classes GRMLBASE, GRML_SMALL and I386 are assumed, resulting in a small base
-system (being about ~150MB total ISO size). If using a non-I386 system (like
+the classes GRMLBASE, GRML_MEDIUM and I386 are assumed, resulting in a small base
+system (being about ~180MB total ISO size). If using a non-I386 system (like
 amd64) you should specify the appropriate architecture as well. Additionally you
 can specify a class providing a grml-kernel (see
 <<classes,the 'CLASSES' section in this document>> for details about available classes).
-So instead of GRML_SMALL you can also use GRML_MEDIUM and GRML_FULL.
+So instead of GRML_MEDIUM you can also use GRML_SMALL and GRML_FULL.
 
   -C **CONFIGURATION_FILE**::
 
 The specified file is used as configuration file for grml-live. By default
-/etc/grml/grml-live.conf is used for main configuration. If a file named
+/etc/grml/grml-live.conf is used as default configuration. If a file named
 /etc/grml/grml-live.local exists it is used as well (sourced after reading
-/etc/grml/grml-live.conf to allow overriding settings). As a last option the
-specified configuration file is sourced so it is possible to override settings
-of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local. Please
-notice that all configuration files have to be adjusted during execution of
-grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
-your own configuration file. Please also notice that the configuration file
-specified via this option is **not** (yet) supported inside the
-scripts/hooks/classes at /etc/grml/fai/config. Instead use
-/etc/grml/grml-live.conf and/or /etc/grml/grml-live.local for configuration
-stuff used inside /etc/grml/fai/config.
+/etc/grml/grml-live.conf meant as main file for local configuration). As a last
+option the specified configuration file is sourced so it is possible to override
+settings of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local.
+Please notice that all configuration files have to be adjusted during execution
+of grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
+your own configuration file (usually /etc/grml/grml-live.local). Please also
+notice that the configuration file specified via this option is **not** (yet)
+supported inside the scripts/hooks/classes at /etc/grml/fai/config. Instead use
+/etc/grml/grml-live.local for configuration stuff used inside
+/etc/grml/fai/config.
+
+  -d **DATE**::
+
+Use specified date as build date information on the ISO instead of the default.
+The default is the date when grml-live is being executed (retrieved via
+executing 'date +%Y-%m-%d'). The information is stored inside the file
+/GRML/grml-version on the ISO, /etc/grml_version in the squashfs file and in all
+the bootsplash related files. This option is useful if you want to provide an
+ISO with release information for a specific date but have to build it in
+advance. Usage example: '-d 2009-10-30'
 
   -F::
 
@@ -110,7 +120,7 @@ Force execution and do not prompt for acknowledgment of configuration.
 
 Set the grml flavour name. Common usage examples: grml, grml-small, grml64.
 Please do NOT use blanks and any special characters like '/', ';' inside
-GRML_NAME, otherwise you might notice problems with booting.
+GRML_NAME, otherwise you might notice problems while booting.
 
   -h::
 
@@ -121,6 +131,17 @@ Display short usage information and exit.
 Specify name of ISO which will be available inside $OUTPUT_DIRECTORY/grml_isos
 by default.
 
+  -I **CHROOT_INSTALL**::
+
+Specify name of source directory which provides files that should become part of
+the chroot/ISO. Not enabled by default. Note: the files are installed under '/'
+in the chroot so you have to create the rootfs structure on your own.
+
+  -n::
+
+Skip creation of the ISO file. This option is useful if you want to build/update
+the chroot and/or recreate the squashfs file without building an ISO file.
+
   -o **OUTPUT_DIRECTORY**::
 
 Main output directory of the build process of FAI.  Some directories are created
@@ -141,7 +162,9 @@ Specify name of the release.
   -s **SUITE**::
 
 Specify the Debian suite you want to use for your live-system.  Defaults to
-"etch" (being current Debian/stable). Supported values are: etch, lenny, sid.
+"lenny" (being current Debian/stable). Supported values are: etch, lenny, sid.
+Debian "squeeze" (current Debian/testing) requires base.tgz
+(/etc/grml/fai/config/basefiles/....tar.gz) or a recent version of debootstrap.
 
   -t **TEMPLATE_DIRECTORY**::
 
@@ -165,6 +188,7 @@ Increase verbosity in the build process.
 
 Use ZLIB instead of LZMA compression in mksquashfs part of the build process.
 
+[[usage-examples]]
 Usage examples
 --------------
 
@@ -198,6 +222,7 @@ process.  But please be aware of the fact that rebooting your system will result
 in an empty /dev/shm, so please use another directory for $CHROOT_OUTPUT,
 $BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :)
 
+[[main-features]]
 Main features of grml-live
 --------------------------
 
@@ -214,6 +239,7 @@ Debian repositories
 
 * multi-arch support (work in progress)
 
+[[class-concept]]
 The class concept
 -----------------
 
@@ -240,9 +266,9 @@ files/directories.
 If you want to use your own configuration, extend an existing configuration
 and/or add additional packages to your ISO just invent a new class (or extend an
 existing one). For example if you want to use your own class named "FOOBAR" just
-extend CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.conf to
-CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" or invoke grml-live using the classes
-option: "grml-live -c GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
+set CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.local or
+invoke grml-live using the classes option: "grml-live -c
+GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
 
 More details regarding the class concept can be found in the documentation of
 FAI itself (being available at /usr/share/doc/fai-doc/).
@@ -264,9 +290,6 @@ defining a grml system. Important parts of the buildprocess are specified in
 this class as well, so unless you have a really good reason you should always
 use this class.
 
-* GRML_FORENSIC: tools for forensic investigations which has been created
-by people from link:http://www.forensic-geeks.org/[forensic-geeks.org].
-
 * GRML_FULL: full featured grml, also known as the "normal", full grml.
 
 * GRML_MEDIUM: medium sized grml version, known as grml-medium
@@ -276,6 +299,9 @@ progress)
 
 * GRML_SMALL: minimum sized grml version, known as grml-small
 
+* LATEX: LaTeX(-related) packages like auctex, texlive,...
+(which used to be shipped by grml before the LaTeX removal)
+
 * LATEX_CLEANUP: get rid of several very large LaTeX directories
 (like some /usr/share/doc/texlive-*, /usr/share/doc/texmf,...)
 
@@ -295,6 +321,7 @@ official grml release
 * XORG: providing important packages for use with a base grml-featured X.org
 setup
 
+[[files]]
 Files
 -----
 
@@ -313,15 +340,26 @@ Script for the main build process. Requires root permissions for execution.
 
   /etc/grml/grml-live.conf
 
-Main configuration file for grml-live. All the important steps can be configured
-at this stage.
+Main configuration file for grml-live which should be considered as a reference
+configuration file only. Please use /etc/grml/grml-live.local for local
+configuration instead.
+
+  /etc/grml/grml-live.local
+
+All the local configuration should go to this file. This file overrides any
+defaults of grml-live. Configurations via /etc/grml/grml-live.local are prefered
+over the ones from /etc/grml/grml-live.conf. If you want to override settings
+from /etc/grml/grml-live.local as well you have to specify them on the grml-live
+commandline.
 
   /etc/grml/fai/fai.conf
 
 Main configuration file for FAI which specifies where all the configuration
-files and scripts for FAI/grml-live can be found. By default it is set to
-FAI_CONFIGDIR=/etc/grml/fai/config, a directory shipped by grml-live
-out-of-the-box so you shouldn't have to configure anything in this file.
+files and scripts for FAI/grml-live can be found. By default the configuration
+variables are FAI_CONFIG_SRC=file:///etc/grml/fai/config and
+FAI_CONFIGDIR=/etc/grml/fai/config - both pointing to a directory shipped by
+grml-live out-of-the-box so you shouldn't have to configure anything in this
+file.
 
   /etc/grml/fai/make-fai-nfsroot.conf
 
@@ -335,12 +373,13 @@ This file specifies the package list for creating the NFSROOT.
 
   /etc/grml/fai/apt/sources.list
 
-This file specifies which mirrors should be used for retreiving the Debian
-packages used for creating the main chroot (including all the software you would
-like to see included). If you want to use a local mirror you either have to
-adjust this file or use the GRML_LIVE_SOURCES variable inside
-/etc/grml/grml-live.conf which modifies /etc/grml/fai/apt/sources.list
-on-the-fly then.
+This file specifies which mirrors should be considered for retrieving the Debian
+packages when creating the main chroot (including all the software you would
+like to see included). Important: this file should *not* be adjusted manually!
+Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or
+/etc/grml/grml-live.local which modifies /etc/grml/fai/apt/sources.list
+on-the-fly via grml-live then. If you want to generally adjust apt configuration
+check out /etc/grml/fai/files/etc/apt instead.
 
   /etc/grml/fai/config/
 
@@ -389,6 +428,7 @@ files please refer to the source of the scripts.
 This directory provides the files used for building the initramfs/initrd via
 live-initramfs(8).
 
+[[log-files]]
 Available log files
 -------------------
 
@@ -403,12 +443,16 @@ default being /var/log/fai/grml/.
 If you are using the grml-live buildd you will find the logs of the grml-live
 run at /var/log/grml-buildd.stdout and /var/log/grml-buildd.stderr.
 
+[[requirements]]
 Requirements for the build system
 ---------------------------------
 
-* any Debian based system should be sufficient (if not it's a bug, so please
-send us a bug report then) [a usual link:http://grml.org/grml2hd/[grml2hd]
-harddisk installation ships all you need]
+* any Debian based system should be sufficient (if it doesn't work it's a bug,
+please send us a bug report then) [a usual
+link:http://grml.org/grml2hd/[grml2hd] harddisk installation (using grml or
+grml-medium) ships all you need]. Check out <<deploy-on-debian,How do I deploy
+grml-live on a plain Debian installation>> for details how to set up grml-live
+on a plain, original Debian system.
 
 * enough free disk space; at least 800MB are required for a minimal grml-live
 run (\~400MB for the chroot [$CHROOT_OUTPUT], \~150MB for the build target
@@ -416,9 +460,9 @@ run (\~400MB for the chroot [$CHROOT_OUTPUT], \~150MB for the build target
 temporary files), if you plan to use GRML_FULL you should have at least 4GB of
 total free disk space
 
-* fast network access for retreiving the Debian packages used for creating the
+* fast network access for retrieving the Debian packages used for creating the
 chroot (check out "local mirror" and "NFSROOT" to workaround this problem as far
-as possiblbe)
+as possible)
 
 For further information see next section.
 
@@ -430,54 +474,133 @@ Current state of grml-live with squashfs-tools and kernel
 To make it easier to track problems this section documents current state of
 grml-live playing together with squashfs-tools / squashfs-lzma-tools (for
 building the compressed file) and the kernel version. Documentation of this
-section is up2date by 27th of september 2008.
+section is up2date by 7rd of september 2009, please report any bugs you
+encounter.
+
+Difference between squashfs-lzma-tools and squashfs-tools
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-System
-~~~~~~
+Whereas the ZLIB compression is much faster in the build process, the LZMA
+compression provides a smaller resulting ISO. If you're wondering: the official
+Grml builds use the LZMA compression.
 
-* grml-live, version 0.9.4
+Squashfs-tools was introduced in Debian and once provided support for LZMA
+compression. Sadly LZMA compression within squashfs-tools became unsupported and
+therefore squashfs-lzma-tools had to be introduced by the Grml team. Different
+kernel versions provide different squashfs file formats (version 3.x for kernel
+versions until 2.6.28-grml[64], since kernel 2.6.31-grml[64] it's the 4.x
+format).
+
+If you're wondering which package supports what, here's a short overview:
+
+* squashfs-tools 1:4.0-1: ZLIB as default, no LZMA support/options, file format
+version 4
+
+* squashfs-tools 1:3.3-7: ZLIB as default, no LZMA support/options, file format
+version 3
+
+* squashfs-tools 1:3.2r2-9exp1: LZMA as default, ZLIB support via -nolzma
+option, file format version 3
+
+* squashfs-lzma-tools 4.0-2: ZLIB as default, LZMA support via -lzma option,
+file format version 4
+
+* squashfs-lzma-tools 3.3-1: LZMA as default, ZLIB support via -nolzma option,
+file format version 3
+
+Depending on the kernel version you want to use you need different versions
+squashfs-tools/squashfs-lzma-tools. Yes, that's pretty a mess (don't ask how
+much this sucks for us developers) - though this is supposed to calm down with
+the recent integration of squashfs file format 4 in the mainline kernel. Support
+for LZMA is pending and should dramatically simplify the situation for
+developers as well as users as soon as it's available mainline.
+
+Using squashfs-lzma-tools 4.0-2 on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* building grml-medium (Debian/unstable)
+squashfs-lzma-tools 4.0-2 is available via the grml repositories. It provides
+the mksquashfs-lzma and unsquashfs-lzma binaries. The package does NOT conflict
+with Debian's squashfs-tools package (you can install both of them at the same
+time).
 
-* software versions used in the ISO (being installed automatically, recorded
-just as a reference):
+The packages can be downloaded from
+link:http://deb.grml.org/pool/main/s/squashfs-lzma-tools/[http://deb.grml.org/pool/main/s/squashfs-lzma-tools/]
 
-  ii  busybox             1:1.10.2-2          Tiny utilities for small and embedded systems
-  ii  initramfs-tools     0.92f.grml01        tools for generating an initramfs
-  ii  klibc-utils         1.5.12-2            small utilities built with klibc for early boot
-  ii  live-initramfs      1.139.1-2grml.01    Debian Live initramfs hook
-  ii  lvm2                2.02.39-2           The Linux Logical Volume Manager
-  ii  mdadm               2.6.7-3.1           tool to administer Linux MD arrays (software RAID)
-  ii  udev                0.125-6grml0        /dev/ and hotplug management daemon
+It provides support for the new squashfs file format version 4 and therefore
+requires kernel versions newer than 2.6.28-grml[64]. It supports LZMA as well as
+ZLIB compression. Just use the defaults for enabling LZMA or use grml-live's
+'-z' option if you want to use ZLIB instead.
+
+* Kernel 2.6.23-grml[64]: does not work
+* Kernel 2.6.26-grml[64]: does not work
+* Kernel 2.6.28-grml[64]: does not work
+* Kernel 2.6.31-grml[64]: works
+
+[NOTE]
+
+Please use squashfs-lzma-tools >=4.0-2 from Grml if you want to remaster any
+grml release being MORE RECENT than 2009.05.
+
+Using squashfs-tools 1:4.0-X on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+squashfs-tools >=1:4.0-1 is available in Debian/unstable and Debian/testing. It
+provides the mksquashfs and unsquashfs binaries. The package does NOT
+conflict with the squashfs-lzma-tools 4.0-2 package (you can install both of
+them at the same time).
+
+The packages can be downloaded from
+link:ftp://ftp.de.debian.org/debian/pool/main/s/squashfs-tools/[ftp://ftp.de.debian.org/debian/pool/main/s/squashfs-tools/]
+
+It provides support for the new squashfs file format version 4 and therefore
+requires kernel versions newer than 2.6.28-grml[64].
+
+It does NOT support LZMA compression. If you need LZMA support please use
+Grml's squashfs-lzma-tools (see section above) instead.
+
+* Kernel 2.6.23-grml[64]: does not work
+* Kernel 2.6.26-grml[64]: does not work
+* Kernel 2.6.28-grml[64]: does not work
+* Kernel 2.6.31-grml[64]: works
+
+[NOTE]
+Please use squashfs-tools >=1:4.0-1 only if you want to remaster grml releases
+MORE RECENT than 2009.05 using the ZLIB compression.
 
 Using squashfs-lzma-tools 3.3-1 on the build system
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-squashfs-lzma-tools from the grml repository supports kernel 2.6.26-grml
-(version >=grml.05) using both lzma and zlib (-nolzma) compression. It's the
-recommended package for building ISOs with grml-live currently.
+squashfs-lzma-tools 3.3-1 from the grml repository supports kernel
+2.6.26-grml[64] and 2.6.28-grml[64] using both LZMA and ZLIB (-nolzma)
+compression. It's the recommended package for building ISOs with grml-live
+currently!
 
-Using squashfs-tools 1:3.3-7 on the build system
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The packages can be downloaded from
+link:http://deb.grml.org/pool/main/s/squashfs-lzma/[http://deb.grml.org/pool/main/s/squashfs-lzma/].
 
-squashfs-tools 1:3.3-7 is available via Debian/unstable and Debian/testing
-(lenny) pool running:
+[NOTE]
+Please use squashfs-lzma-tools 3.3-1 if you want to remaster grml release
+2008.11 or 2009.05.
 
-  # aptitude install squashfs-tools=1:3.3-7
+Using squashfs-tools 1:3.3-7 on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-or directly via downloading the files
+squashfs-tools 1:3.3-7 is available through
 http://grml.org/squashfs/squashfs-tools_3.3-7_i386.deb (for x86) or
 http://grml.org/squashfs/squashfs-tools_3.3-7_amd64.deb (for amd64) [both build
 on and for Debian/etch but working with testing and unstable as well].
 
 Please notice that squashfs-tools 1:3.3-7 does NOT support LZMA compression at
-all. The -nolzma option of mksquashfs is not available therefore (even
-though grml-live will deactivate it for you automatically anyway). Please
-use squashfs-lzma-tools instead.
+all (so you won't be able to remaster release 2008.11 and 2009.05 using LZMA for
+example). The -nolzma option of mksquashfs is not available therefore (even
+though grml-live will deactivate it for you automatically anyway). Please use
+squashfs-lzma-tools instead.
 
 * Kernel 2.6.23-grml: does NOT work, please use squashfs-tools 1:3.2r2-9exp1
-                    instead if you still want to use kernel 2.6.23
-* Kernel 2.6.26-grml: works
+                      instead if you still want to use kernel 2.6.23 (not
+                     recommended)
+* Kernel 2.6.26-grml: works (without LZMA compression only of course!)
+* Kernel 2.6.28-grml: works (without LZMA compression only of course!)
 
 Using squashfs-tools 1:3.2r2-9exp1 on the build system
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -491,21 +614,127 @@ or directly via downloading the files
 http://grml.org/squashfs/squashfs-tools_3.2r2-9exp1_i386.deb (for x86) or
 http://grml.org/squashfs/squashfs-tools_3.2r2-9exp1_amd64.deb (for amd64).
 
-Versions with ZLIB compression (SQUASHFS_OPTIONS='-nolzma' or -z
+Using with ZLIB compression (SQUASHFS_OPTIONS='-nolzma' or -z
 option in grml-live cmdline):
 
 * Kernel 2.6.23-grml: works
 * Kernel 2.6.26-grml: works
+* Kernel 2.6.28-grml: supposed to work (not verified though)
 
-Versions with LZMA compression:
+Using with LZMA compression:
 
 * Kernel 2.6.23-grml: works
-* Kernel 2.6.26-grml: does NOT work, please use zlib mode instead or switch
-  to Debian package squashfs-lzma-tools (see section above).
+* Kernel 2.6.26-grml: does NOT work, please use ZLIB mode instead or switch
+  to Debian package squashfs-lzma-tools 3.3-1 (see section above).
+* Kernel 2.6.28-grml: does NOT work, please use ZLIB mode instead or switch
+  to Debian package squashfs-lzma-tools 3.3-1 (see section above).
 
+[[faq]]
 FAQ
 ---
 
+[[deploy-on-debian]]
+How do I deploy grml-live on a plain Debian installation?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The easiest way to get a running grml-live setup is to install grml or
+grml-medium using grml2hd (for example inside KVM, Virtualbox, VMware,... if you
+don't want to run it on a physical system). Of course using grml-live on a
+plain, original Debian installation is supported as well. So there we go.
+
+What we have: plain, original Debian Lenny (5.0).
+
+What we want: build a grml-medium ISO based on Debian/squeeze for the i386
+architecture using grml-live.
+
+[IMPORTANT]
+
+If you encounter any problems while booting the resulting ISO please be aware of
+<<current_state,the 'current state of grml-live with squashfs-tools and kernel'
+section>>.
+
+Instructions
+^^^^^^^^^^^^
+
+  # adjust sources.list:
+  cat >> /etc/apt/sources.list << EOF
+
+  # grml stable repository:
+    deb     http://deb.grml.org/ grml-stable  main
+  # deb-src http://deb.grml.org/ grml-stable  main
+
+  # grml testing/development repository:
+    deb     http://deb.grml.org/ grml-testing main
+  # deb-src http://deb.grml.org/ grml-testing main
+  EOF
+
+  # adjust apt-pinning (only prefer squashfs stuff from grml):
+  cat >> /etc/apt/preferences << EOF
+  Package: *
+  Pin: origin deb.grml.org
+  Pin-Priority: 1
+
+  Package: squashfs-tools
+  Pin: origin deb.grml.org
+  Pin-Priority: 996
+
+  Package: squashfs-lzma-tools
+  Pin: origin deb.grml.org
+  Pin-Priority: 996
+  EOF
+
+  # get keyring for apt:
+  apt-get update
+  apt-get --allow-unauthenticated install grml-debian-keyring
+
+  # install basefile so we don't have to build basic chroot from scratch:
+  mkdir -p /etc/grml/fai/config/basefiles/
+  mv base.tgz /etc/grml/fai/config/basefiles/I386.tar.gz
+
+  # install relevant tools
+  # please check out http://grml.org/grml-live/#current_state when encountering problems!
+  apt-get -o APT::Install-Recommends=false install grml-live squashfs-lzma-tools
+
+  # adjust grml-live configuration for our needs:
+  cat > /etc/grml/grml-live.local << EOF
+  # consider using LZMA only for space reasons (resulting in longer
+  # build time but smaller ISO):
+  SQUASHFS_OPTIONS="-nolzma"
+  # install local files into the chroot
+  CHROOT_INSTALL="/etc/grml/fai/chroot_install"
+  ## adjust if necessary (defaults to /grml/grml-live):
+  ## OUTPUT="/srv/grml-live"
+  FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/"
+  ARCH="i386"
+  CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+  ZERO_LOGFILE='1'
+  # ZERO_FAI_LOGFILE='1'
+  GRML_LIVE_SOURCES="
+  deb http://deb.grml.org/            grml-stable  main
+  deb http://deb.grml.org/            grml-testing main
+  deb http://cdn.debian.net/debian squeeze main contrib non-free
+  "
+  EOF
+
+  # just optional(!) - upgrade FAI to latest available version:
+  cat >> /etc/apt/sources.list << EOF
+  # fai:
+    deb http://www.informatik.uni-koeln.de/fai/download lenny koeln
+  EOF
+
+  # get gpg key of FAI repos and install current FAI version:
+  gpg -a --recv-keys AB9B66FD; gpg -a --export AB9B66FD | apt-key add -
+  apt-get update
+  apt-get install fai-client fai-server fai-doc
+
+That's it. Now invoking 'grml-live -V' should build the ISO.  If everything
+worked as expected the last line of the shell output should look like:
+
+  [*] Successfully finished execution of grml-live [running 687 seconds]
+
+and the ISO can be found inside /grml-live/grml-live/grml_isos/ then.
+
+[[fai-on-etch]]
 Help, I'm using Debian etch and I don't have FAI version >3.2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -517,18 +746,77 @@ Help, I'm using Debian etch and I don't have FAI version >3.2
 or check out the link:http://www.informatik.uni-koeln.de/fai/[FAI-homepage] for
 further details.
 
+[[how-to-debug]]
 I've problems with the build process. How to start debugging?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Check out the logs inside /var/log/fai/... If you don't have the time to debug
-the problem in further detail or don't know how to proceed just send a copy of
-your config, logs and the commandline with a short problem description to
-<mika@grml.org>:
+Check out the logs inside /var/log/fai/... If you think it's a bug in grml-live
+send a copy of your config, logs and the commandline with a short problem
+description to <mika@grml.org>:
 
   # history | grep grml-live > /etc/grml/grml_live.cmdline
   # tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \
-            /etc/grml/grml-buildd.conf /var/log/fai /etc/grml/fai
+            /etc/grml/grml_live.cmdline /etc/grml/grml-buildd.conf \
+            /var/log/fai /etc/grml/fai
+  -> finally mail grml_live_problem.tar.gz to <mika@grml.org>
+
+If you need help with grml-live or would like to see new features as part of
+grml-live you can get commercial support via
+link:http://grml-solutions.com/[Grml Solutions].
+
+[[lzma-vs-zlib]]
+How much is the difference between LZMA and ZLIB compression?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ISO size (bs = blocksize):
+
+[width="45%",cols="3,^2,^2"]
+|============================================================
+|ISO                   |LZMA (256kB bs) |ZLIB
+|grml_sid              |666M | 771M
+|grml_squeeze          |659M | 761M
+|grml_lenny            |624M | 723M
+|grml64_sid            |677M | 791M
+|grml64_squeeze        |671M | 785M
+|grml64_lenny          |639M | 745M
+|grml-medium_sid       |208M | 236M
+|grml-medium_squeeze   |206M | 234M
+|grml-medium_lenny     |193M | 220M
+|grml64-medium_sid     |213M | 245M
+|grml64-medium_squeeze |213M | 244M
+|grml64-medium_lenny   |201M | 231M
+|grml-small_sid        |102M | 118M
+|grml-small_squeeze    |101M | 117M
+|grml-small_lenny      |97M  | 112M
+|grml64-small_sid      |103M | 120M
+|grml64-small_squeeze  |103M | 120M
+|grml64-small_lenny    |99M  | 116M
+|============================================================
+
+Build time of grml-medium's squashfs file (depends on your system, though just
+to get the ratio between the different options):
+
+* 10 minutes and 4 seconds with LZMA default blocksize (128k)
+* 7 minutes 27 seconds with LZMA and blocksize 256k
+* 6 minutes and 8 seconds with LZMA blocksize 512k
+* 1 minute and 40 seconds with ZLIB
+
+[[install-local-files]]
+How to I install further files into the chroot/ISO?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Just point the configuration variable CHROOT_INSTALL to the directory which
+provides the files you would like to install. Note that the files are installed
+under '/' in the chroot - so you have to create the rootfs structure on your
+own. Usage example:
+
+  echo "CHROOT_INSTALL=\$GRML_FAI_CONFIG/chroot_install" >> /etc/grml/grml-live.local
+  mkdir -p /etc/grml/fai/chroot_install/usr/src/
+  wget example.org/foo.tar.gz
+  mv foo.tar.gz /etc/grml/fai/chroot_install/usr/src/
+  grml-live ...
 
+[[local-debian-mirror]]
 Can I use my own (local) Debian mirror?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -551,6 +839,7 @@ taken as first entry in the generated sources.list so it's prefered over
 non-local mirrors. Using a fallback mirror (via providing several mirrors in
 GRML_LIVE_SOURCES as used by default) is a recommended setting.
 
+[[add-additional-debian-packages]]
 How do I add additional Debian package(s) to my CD/ISO?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -568,6 +857,7 @@ and specify it when invoking grml-live then:
 
   # grml-live -c GRMLBASE,GRML_SMALL,I386,MIKA
 
+[[reset-grml-live-configuration]]
 I fscked up my grml-live configuration. How do I reset it to the defaults?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -584,13 +874,14 @@ good chance to start using it now. Check out
 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/]
 for more details how to maintain /etc using the mercurial VCS.
 
+[[create-a-base-tgz]]
 How do I create a base.tgz for use as NFSROOT?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 First of all build the chroot system:
 
   mkdir /tmp/nfsroot && cd /tmp/nfsroot
-  debootstrap etch /tmp/nfsroot/ http://ftp.de.debian.org/debian
+  debootstrap lenny /tmp/nfsroot/ http://cdn.debian.net/debian
   tar zcf base.tgz ./
 
 Then check out where your NFSROOT is located:
@@ -624,8 +915,9 @@ or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
   /grml-live/grml-live_20071029.22138/grml_chroot//
   [...]
 
-Set up apt-cacher for use with grml-live
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[[apt-cacher]]
+Set up apt-cacher / apt-cacher-ng for use with grml-live
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and
 FAI_DEBOOTSTRAP:
@@ -635,14 +927,16 @@ FAI_DEBOOTSTRAP:
   GRML_LIVE_SOURCES="
   deb http://localhost:3142/deb.grml.org grml-stable  main
   deb http://localhost:3142/deb.grml.org grml-testing main
-  deb http://localhost:3142/ftp.de.debian.org/debian etch main contrib non-free
+  deb http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free
   "
   [...]
-  FAI_DEBOOTSTRAP="etch http://localhost:3142/ftp.de.debian.org/debian etch main contrib non-free"
+  FAI_DEBOOTSTRAP="lenny http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free"
 
-Make sure apt-cacher is running (/etc/init.d/apt-cacher restart). That's it.
-All downloaded files will be cached in /var/cache/apt-cacher/ now.
+Make sure apt-cacher / apt-cacher-ng is running ('/etc/init.d/apt-cacher
+restart' or '/etc/init.d/apt-cacher-ng restart'). That's it.  All downloaded
+files will be cached in /var/cache/apt-cacher/ or /var/cache/apt-cacher-ng then.
 
+[[approx]]
 Set up approx for use with grml-live
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -654,9 +948,9 @@ FAI_DEBOOTSTRAP:
   GRML_LIVE_SOURCES="
   deb http://localhost:9999/grml            grml-stable  main
   deb http://localhost:9999/grml            grml-testing main
-  deb http://localhost:9999/debian etch     main contrib non-free
+  deb http://localhost:9999/debian lenny    main contrib non-free
   "
-  FAI_DEBOOTSTRAP="etch http://localhost:9999/debian"
+  FAI_DEBOOTSTRAP="lenny http://localhost:9999/debian"
 
 Configure approx:
 
@@ -668,12 +962,13 @@ Configure approx:
 Don't forget to restart approx (/etc/init.d/approx restart). That's it.
 All downloaded files will be cached in /var/cache/approx now.
 
+[[question]]
 I've a question which isn't answered by this document
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Don't hesitate to ask on IRC (channel #grml on irc.freenode.org) or just drop me
-a mail: <mika@grml.org>
+Don't hesitate to contact the author: <mika@grml.org>
 
+[[download]]
 Download / install grml-live as a Debian package
 ------------------------------------------------
 
@@ -686,24 +981,27 @@ current development tree), just execute:
   cd grml-live
   debuild -us -uc
 
+[[source]]
 Source
 ------
 
 The source of grml-live is available at
 link:http://git.grml.org/?p=grml-live.git[http://git.grml.org/?p=grml-live.git]
 
+[[todo-list]]
 TODO list
 ---------
 
-Check out link:http://wiki.grml.org/doku.php?id=grml-live[grml-live in the grml-wiki]
-for details.
+Check out the link:http://git.grml.org/?p=grml-live.git;a=blob;f=TODO;hb=HEAD[TODO file].
 
+[[bugs]]
 Bugs
 ----
 
 Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes
 link:http://grml.org/contact/[to the grml-team]!
 
+[[authors]]
 Authors
 -------
 Michael Prokop <mika@grml.org>