+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 only if you want to remaster Grml releases
+2008.11 or 2009.05.
+
+Using squashfs-tools 1:3.3-7 on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+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 (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 (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
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+squashfs-tools 1:3.2r2-9exp1 is available via the grml-testing repository,
+running:
+
+ # aptitude install squashfs-tools=1:3.2r2-9exp1
+
+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).
+
+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)
+
+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 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
+ EOF
+
+ # get keyring for apt:
+ apt-get update
+ apt-get --allow-unauthenticated install grml-debian-keyring
+
+ # 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-tools
+
+ # adjust grml-live configuration for our needs:
+ cat > /etc/grml/grml-live.local << EOF
+ ## 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):
+ ## OUTPUT="/srv/grml-live"
+ FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/"
+ ARCH="i386"
+ CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+ # PRESERVE_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://fai-project.org/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
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ 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://fai-project.org/[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 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_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 do 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?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Sure. Just adjust the variables GRML_LIVE_SOURCES and FAI_DEBOOTSTRAP (if not
+already using NFSROOT's base.tgz) inside /etc/grml/grml-live.conf according to
+your needs. Please don't forget that you should use the grml servers as well
+(see default configuration) so all the grml packages can be downloaded as well.
+
+If you want to use a local (for example NFS mount) mirror additionally, just
+adjust MIRROR_DIRECTORY and MIRROR_SOURCES inside /etc/grml/grml-live.conf as
+well.
+
+Unless you specify GRML_LIVE_SOURCES and/or FAI_DEBOOTSTRAP the default from
+/etc/grml/fai/apt/sources.list and /etc/grml/fai/make-fai-nfsroot.conf will be
+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 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.
+
+[[add-additional-debian-packages]]
+How do I add additional Debian package(s) to my CD/ISO?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Just create a new class (using the package_config directory):
+
+ # cat > /etc/grml/fai/config/package_config/MIKA << EOF
+ PACKAGES aptitude
+
+ vim
+ another_name_of_a_debian_package
+ and_another_one
+ EOF
+
+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?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Notice: this deletes all your grml-live configuration files. If that's really
+what you are searching for just run:
+
+ rm -rf /etc/grml/fai /etc/grml/grml-live.conf
+ dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb
+
+[NOTE]
+
+If you don't control your /etc using a version control system (VCS) yet it's a
+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 squeeze /tmp/nfsroot/ http://cdn.debian.net/debian
+ tar zcf base.tgz ./
+
+Then check out where your NFSROOT is located:
+
+ # grep '^NFSROOT' /etc/grml/fai/make-fai-nfsroot.conf
+ NFSROOT=/grml/fai/nfsroot
+
+So as /grml/fai/nfsroot is your NFSROOT place the file under
+/grml/fai/nfsroot/live/filesystem.dir/var/tmp/:
+
+ mv base.tgz /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
+
+or even better use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz instead.
+Use I386 as $CLASSNAME for i386 builds and AMD64 for amd64 builds.
+
+Now running "grml-live ..." will use this file as main system instead of
+executing debootstrap. Check out the output for the following lines if using
+NFSROOT:
+
+ [...]
+ Calling task_extrbase
+ Unpacking Debian base archive
+ Extracting /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
+ Calling task_mirror
+ [...]
+
+or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
+
+ [...]
+ ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to
+ /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
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and
+FAI_DEBOOTSTRAP:
+
+ # cat /etc/grml/grml-live.conf
+ [...]
+ 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 squeeze 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
+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
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~