buildd/functions.sh: use mutt instead of nail again.
[grml-live.git] / docs / grml-live.txt
index f7f2ab2..f1add06 100644 (file)
@@ -23,7 +23,7 @@ Description
 
 grml-live provides the build system for creating a grml and Debian based Linux
 Live-CD. The build system is based on
-link:http://www.informatik.uni-koeln.de/fai/[FAI] (Fully Automatic
+link:http://fai-project.org/[FAI] (Fully Automatic
 Installation). grml-live uses the "fai dirinstall" feature to generate a chroot
 system based on the class concept of FAI (see later sections for further
 details) and provides the framework to be able to generate a full-featured ISO.
@@ -81,11 +81,17 @@ really know that you do not want to update the chroot.
 Specify the CLASSES to be used for building the ISO via FAI.  By default only
 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
+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_MEDIUM you can also use GRML_SMALL and GRML_FULL.
 
+[IMPORTANT]
+All class names should be written in uppercase letters. Do not use a dash, use
+an underscore. So do not use "amd64" but "AMD64", do not use "FOO BAR" but
+"FOO_BAR".
+
+
   -C **CONFIGURATION_FILE**::
 
 The specified file is used as configuration file for grml-live. By default
@@ -162,9 +168,10 @@ Specify name of the release.
   -s **SUITE**::
 
 Specify the Debian suite you want to use for your live-system.  Defaults to
-"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.
+"squeeze" (being current Debian/stable). Supported values are: etch, lenny,
+squeeze, sid. Debian "squeeze" requires a recent base.tgz
+(/etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz) or a recent version of
+debootstrap.
 
   -t **TEMPLATE_DIRECTORY**::
 
@@ -186,7 +193,7 @@ Increase verbosity in the build process.
 
   -z::
 
-Use ZLIB instead of LZMA compression in mksquashfs part of the build process.
+Use ZLIB instead of LZMA/XZ compression in mksquashfs part of the build process.
 
 [[usage-examples]]
 Usage examples
@@ -266,8 +273,8 @@ 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
-set CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.local or
-invoke grml-live using the classes option: "grml-live -c
+set CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" 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
@@ -290,9 +297,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
@@ -350,7 +354,7 @@ 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
+defaults of grml-live. Configurations via /etc/grml/grml-live.local are preferred
 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.
@@ -382,7 +386,7 @@ 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.
+use FAI's fcopy command with /etc/grml/fai/config/files instead.
 
   /etc/grml/fai/config/
 
@@ -420,12 +424,6 @@ reasonable package configuration.
 
 Scripts for customising the ISO within the build process.
 
-  /etc/grml/fai/files/
-
-This directory provides files used inside the scripts of
-/etc/grml/fai/config/scripts/*. For a full documentation what happens with the
-files please refer to the source of the scripts.
-
   /etc/grml/fai/live-initramfs/
 
 This directory provides the files used for building the initramfs/initrd via
@@ -435,10 +433,9 @@ live-initramfs(8).
 Available log files
 -------------------
 
-grml-live itself logs to /var/log/grml-live.log. Unless you set ZERO_LOGFILE in
-/etc/grml/grml-live.conf the output is appended to the file. If you set the
-ZERO_LOGFILE configuration option the logfile will be truncated on each new
-invocation of grml-live.
+grml-live itself logs to /var/log/grml-live.log. Unless you set PRESERVE_LOGFILE
+in your grml-live configuration the file is cleared on each new invocation of
+grml-live.
 
 The FAI part of grml-live logs to /var/log/fai/$HOSTNAME/ - so the
 default being /var/log/fai/grml/.
@@ -446,6 +443,10 @@ 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.
 
+If you want to store build information in a database just install the
+grml-live-db Debian package. Further details available in the grml-live-db
+manpage.
+
 [[requirements]]
 Requirements for the build system
 ---------------------------------
@@ -474,14 +475,13 @@ For further information see next section.
 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 7rd of september 2009, please report any bugs you
-encounter.
+Use squashfs-tools >=4.2-1 (available from Grml repositories as well as from
+Debian/unstable) to build Grml (based) ISOs featuring kernel version
+2.6.38-grml[64].
 
-Difference between squashfs-lzma-tools and squashfs-tools
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+////////////////////////////////////////////////////////////////////////////////
+Difference between squashfs-lzma-tools, squashfs-lzma-tools4 and squashfs-tools
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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
@@ -489,39 +489,93 @@ Grml builds use the LZMA compression.
 
 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).
+therefore squashfs-lzma-tools[4] had to be introduced and maintained by the Grml
+team. Different kernel versions provide different squashfs file formats. Kernel
+versions until 2.6.28-grml[64] used the 3.x file format but those outdated
+kernels aren't supported by grml-live automatically anymore nowdays (manual
+handling through SQUASHFS_BINARY possible though). Kernel versions
+2.6.31-grml[64] and 2.6.33-grml[64] use openwrt's squashfs lzma file format
+version 4. Kernel versions starting with 2.6.35-grml[64] use the mainline ondisk
+file format version 4.
 
 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-lzma-tools4 4.0-x: ZLIB as default, LZMA support via '-comp lzma'
+option (enabled by grml-live by default), file format version 4 (mainline
+version), package maintained and available from Grml, recommended for current
+grml-live builds featuring kernels >=2.6.35-grml[64]
+
+* squashfs-lzma-tools 4.0-2: ZLIB as default, LZMA support via '-lzma' option
+(enabled by grml-live by default), file format version 4 (openwrt style),
+package maintained and available from Grml, recommended for any grml-live builds
+with kernel versions 2.6.31-grml[64] and 2.6.33-grml[64]
+
+* squashfs-tools 1:4.0-x: ZLIB as default, no LZMA support/options, file format
+version 4, package maintained and available from Debian, recommended only for
+ZLIB-only builds of any grml-live builds with kernel versions >=2.6.31-grml[64]
+
+Outdated, JFTR:
 
 * 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
+* 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,
+* 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.
+Now, depending on the kernel version you want to use you need different versions
+of squashfs-tools/squashfs-lzma-tools[4]. Yes, that's a mess (don't ask how much
+this sucks for us developers) - though we're putting lots of effort into our
+toolchain to automatically handle this for you through the grml-live build
+system and provide proper documentation. The situation is supposed to calm down
+with the recent integration of the squashfs file format 4 in the mainline
+kernel. Support for LZMA is pending and as soon as it's available mainline this
+should dramatically simplify the situation for developers as well as users.
+
+[TIP]
+If you want to force usage of a specific mksquashfs binary just set the
+SQUASHFS_BINARY configuration/environment variable. Set SQUASHFS_OPTIONS for
+customizing the options that should be used by the mksquashfs binary during
+build process.
+
+Using squashfs-lzma-tools4 4.0-1 on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+squashfs-lzma-tools4 4.0-1 is available via the Grml repositories. It provides
+the mksquashfs-lzma4 and unsquashfs-lzma4 binaries. The package does NOT
+conflict with neither Debian's squashfs-tools package nor Grml's
+squashfs-lzma-tools package, so you can install all of them at the same time and
+the build system will try to figure out the best matching binary automatically
+for you.
+
+The packages can be downloaded from
+link:http://deb.grml.org/pool/main/s/squashfs-lzma-tools4/[http://deb.grml.org/pool/main/s/squashfs-lzma-tools4/]
+
+It provides support for the new squashfs file format version 4 (as available in
+mainline, so *not* the one being used by squashfs-lzma-tools and kernel
+2.6.33-grml) and therefore requires kernel versions starting with
+2.6.35-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 compression instead.
+
+* Kernel 2.6.31-grml[64]: works with ZLIB compression, fails with LZMA
+* Kernel 2.6.33-grml[64]: works with ZLIB compression, fails with LZMA
+* Kernel 2.6.35-grml[64]: works with ZLIB *and* LZMA compression
+* Kernel 2.6.36-grml[64]: works with ZLIB *and* LZMA compression
+
+[NOTE]
+squashfs-tools >=4.1-1 and/or squashfs-lzma-tools4 are the recommended package
+for building up2date ISOs with grml-live! Please use other squashfs-* packages
+only if you want to build live systems providing kernel versions older than
+2.6.35-grml*. Use squashfs-tools >=4.1-1 or squashfs-lzma-tools4 from Grml if
+you want to remaster any Grml releases MORE RECENT than 2010.04.
 
 Using squashfs-lzma-tools 4.0-2 on the build system
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-squashfs-lzma-tools 4.0-2 is available via the grml repositories. It provides
+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).
@@ -529,60 +583,68 @@ time).
 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/]
 
-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.
+It provides support for the new squashfs file format version 4 (based on openwrt
+patches, this is *not* the mainline file format that's being used by kernel
+2.6.35-grml and squashfs-lzma-tools4!) 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.28-grml[64]: does not work
 * Kernel 2.6.31-grml[64]: works
+* Kernel 2.6.33-grml[64]: works
+* Kernel 2.6.35-grml[64]: works for ZLIB compression, fails for LZMA
 
 [NOTE]
+Please use squashfs-lzma-tools >=4.0-2 from Grml only if you want to remaster
+Grml releases 2009.10 and 2010.04 or live systems with their according kernel
+versions.
 
-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-1 on the build system
+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).
+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
+neither with the squashfs-lzma-tools 4.0-2 package nor with the
+squashfs-lzma-tools4 package (so you can install all of them at the same time).
 
 The packages can be downloaded from
-link:ftp://ftp.de.debian.org/debian/pool/main/s/squashfs/[ftp://ftp.de.debian.org/debian/pool/main/s/squashfs/]
+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.
+It does NOT support LZMA compression (dropped with
+link:http://packages.debian.org/changelogs/pool/main/s/squashfs-tools/current/changelog[version
+1:3.3-4] and not yet re-integrated yet, see
+link:http://bugs.debian.org/594595[#594595]). If you need LZMA support please
+use Grml's squashfs-lzma-tools[4] (see sections 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
+* Kernels \<=2.6.28-grml[64]: does not work
+* Kernel 2.6.31-grml[64]: works (ZLIB only)
+* Kernel 2.6.33-grml[64]: works (ZLIB only)
+* Kernel 2.6.35-grml[64]: works (ZLIB only)
+* Kernel 2.6.36-grml[64]: works (ZLIB only)
 
 [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.
+Please use squashfs-tools between 4.0-1 and 4.1-1 only if you want to remaster
+Grml releases starting with 2009.10 using the ZLIB compression, please use other
+squashfs packages otherwise instead.
+
+Outdated, JFTR:
 
 Using squashfs-lzma-tools 3.3-1 on the build system
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-squashfs-lzma-tools 3.3-1 from the grml repository supports kernel
+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!
+compression.
 
 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/].
 
 [NOTE]
-Please use squashfs-lzma-tools 3.3-1 if you want to remaster grml release
+Please use squashfs-lzma-tools 3.3-1 only if you want to remaster Grml releases
 2008.11 or 2009.05.
 
 Using squashfs-tools 1:3.3-7 on the build system
@@ -631,6 +693,7 @@ Using with LZMA compression:
   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
@@ -640,7 +703,7 @@ FAQ
 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
+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.
@@ -680,29 +743,29 @@ Instructions
   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
+  # optionally(!) install basefile so we don't have to build basic
+  # chroot from scratch, grab from http://daily.grml.org/
+  # mkdir -p /etc/grml/fai/config/basefiles/
+  # mv base.tgz /etc/grml/fai/config/basefiles/I386.tar.gz
+  # mv base64.tgz /etc/grml/fai/config/basefiles/AMD64.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
+  apt-get -o APT::Install-Recommends=false install grml-live squashfs-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"
+  ## want a faster build process and don't need smaller ISOs?
+  ## if so use zlib compression
+  # SQUASHFS_OPTIONS="-comp gzip -b 256k"
+  ## want to use a specific squashfs binary?
+  # SQUASHFS_BINARY='/usr/bin/mksquashfs'
   # install local files into the chroot
   CHROOT_INSTALL="/etc/grml/fai/chroot_install"
   ## adjust if necessary (defaults to /grml/grml-live):
@@ -710,7 +773,7 @@ Instructions
   FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/"
   ARCH="i386"
   CLASSES="GRMLBASE,GRML_MEDIUM,I386"
-  ZERO_LOGFILE='1'
+  # PRESERVE_LOGFILE='1'
   # ZERO_FAI_LOGFILE='1'
   GRML_LIVE_SOURCES="
   deb http://deb.grml.org/            grml-stable  main
@@ -722,7 +785,7 @@ Instructions
   # 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
+    deb http://fai-project.org/download lenny koeln
   EOF
 
   # get gpg key of FAI repos and install current FAI version:
@@ -741,12 +804,12 @@ and the ISO can be found inside /grml-live/grml-live/grml_isos/ then.
 Help, I'm using Debian etch and I don't have FAI version >3.2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-  wget http://www.informatik.uni-koeln.de/fai/download/etch/fai-client_3.2.8_all.deb \
-       http://www.informatik.uni-koeln.de/fai/download/etch/fai-server_3.2.8_all.deb \
-       http://www.informatik.uni-koeln.de/fai/download/etch/fai-doc_3.2.8_all.deb
+  wget http://fai-project.org/download/etch/fai-client_3.2.8_all.deb \
+       http://fai-project.org/download/etch/fai-server_3.2.8_all.deb \
+       http://fai-project.org/download/etch/fai-doc_3.2.8_all.deb
   dpkg -i fai-client_3.2.8_all.deb fai-server_3.2.8_all.deb fai-doc_3.2.8_all.deb
 
-or check out the link:http://www.informatik.uni-koeln.de/fai/[FAI-homepage] for
+or check out the link:http://fai-project.org/[FAI-homepage] for
 further details.
 
 [[how-to-debug]]
@@ -805,7 +868,7 @@ to get the ratio between the different options):
 * 1 minute and 40 seconds with ZLIB
 
 [[install-local-files]]
-How to I install further files into the chroot/ISO?
+How do I install further files into the chroot/ISO?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Just point the configuration variable CHROOT_INSTALL to the directory which
@@ -838,7 +901,7 @@ taken. If you customise the variables in /etc/grml/grml-live.conf then the two
 files will be adjusted during runtime automatically.
 
 If MIRROR_DIRECTORY and MIRROR_SOURCES are specified the local mirror will be
-taken as first entry in the generated sources.list so it's prefered over
+taken as first entry in the generated sources.list so it's preferred over
 non-local mirrors. Using a fallback mirror (via providing several mirrors in
 GRML_LIVE_SOURCES as used by default) is a recommended setting.
 
@@ -884,7 +947,7 @@ 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 lenny /tmp/nfsroot/ http://cdn.debian.net/debian
+  debootstrap squeeze /tmp/nfsroot/ http://cdn.debian.net/debian
   tar zcf base.tgz ./
 
 Then check out where your NFSROOT is located:
@@ -918,6 +981,9 @@ or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
   /grml-live/grml-live_20071029.22138/grml_chroot//
   [...]
 
+[TIP]
+Existing base.tgz can be found at http://daily.grml.org/
+
 [[apt-cacher]]
 Set up apt-cacher / apt-cacher-ng for use with grml-live
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -930,10 +996,10 @@ 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/cdn.debian.net/debian lenny main contrib non-free
+  deb http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free
   "
   [...]
-  FAI_DEBOOTSTRAP="lenny http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free"
+  FAI_DEBOOTSTRAP="squeeze http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free"
 
 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
@@ -951,9 +1017,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 lenny    main contrib non-free
+  deb http://localhost:9999/debian squeeze  main contrib non-free
   "
-  FAI_DEBOOTSTRAP="lenny http://localhost:9999/debian"
+  FAI_DEBOOTSTRAP="squeeze http://localhost:9999/debian"
 
 Configure approx:
 
@@ -965,6 +1031,81 @@ 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.
 
+[[revert_manifold]]
+How do I revert the manifold feature from an ISO?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The so called manifold feature Grml ISOs use by default allows to use the same
+ISO for CD boot and USB boot. If you notice any problems when booting just
+revert the manifold feature running:
+
+  % dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc
+
+To switch from manifold to isohybrid mode (an alternative approach provided by
+syslinux) then just execute:
+
+  % isohybrid grml.iso
+
+[[basetgz]]
+How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Execute the following commands (requires root):
+
+  ARCH='amd64' # replace with i386 if necessary
+  SUITE='squeeze' # using the current stable release should always work
+  debootstrap --arch "$ARCH" --exclude=info,tasksel,tasksel-data "$SUITE" "$ARCH" http://debian.netcologne.de/debian
+  cd "$ARCH"
+  rm var/cache/apt/archives/*.deb
+  tar zcf ../"${ARCH}".tar.gz *
+
+And finally place the generated tarball in /etc/grml/fai/config/basefiles/ (note
+that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz
+for amd64 and I386.tar.gz for i386).
+
+[[autobuild]]
+How do I set up an autobuild environment?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you want to set up a system like link:http://daily.grml.org/[daily.grml.org]
+the Debian package grml-live-buildd provides all you need to start. Start with
+figuring out the cron job script /usr/share/grml-live/buildd/cronjob.sh.
+
+If you want to automatically update the grml-live Debian package on your build
+system based on the git tree of grml-live (so you get bleeding edge of
+development which might is interesting for services like daily.grml.org) the
+provided release_helper.sh script provides everything you need. Execute as root:
+
+  echo "deb file:/home/grml-live-git/grml-live.build-area/ ./" >> /etc/apt/sources.list.d/grml-live.list
+  adduser --disabled-login --disabled-password grml-live-git
+
+Execute 'visudo' to update sudo configuration and add the following line:
+
+  grml-live-git ALL=NOPASSWD: /usr/bin/apt-get
+
+Switch to user grml-live-git and configure the rest:
+
+  su - grml-live-git
+  mkdir grml-live.build-area
+  git clone git://git.grml.org/grml-live.git
+  git config --global user.name "Grml-Live Git Autobuild"
+  git config --global user.email "grml-live-git@$(hostname)"
+
+Finally install a cron job (as user grml-live-git) like:
+
+  30 00 * * * cd /home/grml-live-git/grml-live.git/ && env AUTOBUILD=1 scripts/release_helper.sh >/home/grml-live-git/grml-live-build.log
+
+Tip: To find out the build date of the installed grml-live package just execute:
+
+  % apt-cache policy grml-live | grep 'Installed.*autobuild'
+   Installed: 0.13.1~autobuild1300450381
+
+and run "date -ud @$STRING" where $STRING is the number behind the "autobuild",
+like:
+
+  % date -ud @1300450081
+  Fri Mar 18 12:08:01 UTC 2011
+
 [[question]]
 I've a question which isn't answered by this document
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1004,6 +1145,17 @@ Bugs
 Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes
 link:http://grml.org/contact/[to the grml-team]!
 
+[[documentation]]
+Documentation
+-------------
+
+The most recent grml-live documentation is available online at
+http://grml.org/grml-live/ and for offline reading also available
+in different formats:
+
+* http://grml.org/grml-live/grml-live.epub
+* http://grml.org/grml-live/grml-live.pdf
+
 [[authors]]
 Authors
 -------