+grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [-g
+<grml_name>] [-i <iso_name> ] [-o <output_directory>] [-r <release_name>] [-s
+<suite>] [-t <template_directory>] [-v <version_number>] [-bBFhquVz]
+
+CAUTION: Please check out <<current_state,the 'Current state of grml-live with
+squashfs-tools and kernel' section>> for details about current state of involved
+tools before starting with grml-live or if you encounter any problems.
+
+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
+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.
+It does not use all the FAI features by default though and you don't have to
+know FAI to be able to use it.
+
+The use of FAI gives you the flexibility to choose the packages you would like
+to include on your very own Linux Live-CD without having to deal with all the
+details of a build process.
+
+CAUTION: grml-live does **not** use /etc/fai for configuration but instead
+provides and uses /etc/grml/fai. This ensures that it does not clash with
+default FAI configuration and packages, so you can use grml-live and FAI
+completely independent at the same time!
+
+[NOTE]
+
+Please notice that you should have a fast network connection as all the Debian
+packages will be downloaded and installed via network. If you want to use a
+local mirror (strongly recommended if you plan to use grml-live more than once)
+checkout mkdebmirror (see /usr/share/doc/grml-live/examples/mkdebmirror),
+debmirror(1), reprepro(1) (see /usr/share/doc/grml-live/examples/reprepro/ for a
+sample configuration), apt-cacher(1) and approx(8). To avoid downloading the
+base system again and again check out FAI's NFSROOT (see FAQ of this document
+for details).
+
+Options
+-------
+
+ -a **ARCHITECTURE**::
+
+Use the specified architecture instead of the currently running one. This
+allows building a 32bit system on a 64bit host (though you can't build a 64bit
+system on a 32bit system/kernel of course). Please notice that real
+crosscompiling (like building a ppc system on x86) isn't possible due to the
+nature and the need of working in a chroot. Currently supported values: i386
+and amd64.
+
+ -b::
+
+Build the ISO without updating the chroot via FAI. This option is useful for
+example when working on stable releases: if you have a working base
+system/chroot and do not want to execute any further updates (via "-u" option)
+but intend to only build the ISO.
+
+ -B::
+
+Build the ISO without touching the chroot at all. This option is useful if
+you modified anything that FAI or grml-live might adjust via grml's FAI
+scripts. It's like the '-b' option but even more advanced. Use only if you
+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_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_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.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.
+
+ -F::
+
+Force execution and do not prompt for acknowledgment of configuration.
+
+ -g **GRML_NAME**::
+
+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.
+
+ -h::
+
+Display short usage information and exit.
+
+ -i **ISO_NAME**::
+
+Specify name of ISO which will be available inside $OUTPUT_DIRECTORY/grml_isos
+by default.
+
+ -o **OUTPUT_DIRECTORY**::
+
+Main output directory of the build process of FAI. Some directories are created
+inside this target directory, being: grml_cd (where the files for creating the
+ISO are located, including the compressed squashfs file), grml_chroot (the
+chroot system) and grml_isos (where the resulting ISO is stored).
+
+ -q::
+
+Build the ISO without (re-)creating the squashfs compressed file using mksquashfs.
+This option is useful if you just want to update parts outside the chroot in the ISO.
+Consider combining this option with the build-only option '-b'.
+
+ -r **RELEASENAME**::
+
+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.
+
+ -t **TEMPLATE_DIRECTORY**::
+
+Specify place of the templates used for building the ISO. By default
+(and if not manually specified) this is /usr/share/grml-live/templates/.
+
+ -u::
+
+Update existing chroot instead of rebuilding it from scratch. This option is
+based on the softupdate feature of FAI.
+
+ -v **VERSION_NUMBER**::
+
+Specify version number of the release.
+
+ -V::
+
+Increase verbosity in the build process.
+
+ -z::
+
+Use ZLIB instead of LZMA compression in mksquashfs part of the build process.
+
+Usage examples
+--------------
+
+To get a small, Debian-stable and grml-based Live-CD using /grml/grml-live
+as build and output directory just run:
+
+ # grml-live
+
+To get a small Debian-unstable and grml-small based Live-CD using
+/home/mika/grml-live as build and output directory just use:
+
+ # grml-live -s sid -c GRMLBASE,GRML_SMALL,I386 -o /home/mika/grml-live
+
+To get a medium sized, Debian-unstable and grml-based Live-CD for i386
+architecture using /grml/grml-live as build and output directory just run:
+
+ # grml-live -s sid -a i386 -c GRMLBASE,GRML_MEDIUM,I386
+
+To get a small, Debian-unstable and grml-based Live-CD using /tmp as build and
+output directory and use grml_0.0-3.iso as ISO name (placed inside
+/tmp/grml_isos) just invoke:
+
+ # grml-live -o /tmp -c GRMLBASE,GRML_SMALL,I386 -s sid -i grml_0.0-3.iso
+
+[NOTE]
+
+If you have about 700MB of free space inside /dev/shm (being a tmpfs, usually
+you should have >=1GB of RAM) just run "mount -o remount,suid,dev,rw /dev/shm"
+and use /dev/shm as build and output directory - resulting in very fast build
+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 of grml-live
+--------------------------
+
+* create a grml-/Debian-based Linux Live-CD with one single command
+
+* class based concept, providing a maximum of flexibility
+
+* supports integration of own hooks, scripts and configuration
+
+* supports use and integration of own Software and/or Kernels via simple use of
+Debian repositories
+
+* native support of FAI features
+
+* multi-arch support (work in progress)
+
+The class concept
+-----------------
+
+grml-live uses FAI and its class based concept for adjusting configuration and
+setup according to your needs. This gives you flexibility and strength without
+losing the simplicity in the build process.
+
+The main and base class provided by grml-live is named GRMLBASE. It's strongly
+recommended to **always** use the class GRMLBASE when building an ISO using
+grml-live, as well as the architecture dependent class which provides the kernel
+(being 'I386' for x86_32 and 'AMD64' for x86_64) and a GRML_* class (like
+GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are
+relevant for class GRMLBASE by default:
+
+ /etc/grml/fai/config/scripts/GRMLBASE/
+ /etc/grml/fai/config/debconf/GRMLBASE
+ /etc/grml/fai/config/class/GRMLBASE.var
+ /etc/grml/fai/config/hooks/instsoft.GRMLBASE
+ /etc/grml/fai/config/package_config/GRMLBASE
+
+Take a look at the next section for information about the concept of those
+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 ...".
+
+More details regarding the class concept can be found in the documentation of
+FAI itself (being available at /usr/share/doc/fai-doc/).
+
+[[X7]]
+[[classes]]
+Available classes
+-----------------
+
+The package selection part of the classes can be found in
+/etc/grml/fai/config/package_config whereas some further classes are defined for
+example in /etc/grml/fai/config/scripts/ so specific feature sets can be
+selected. The following classes are predefined:
+
+* DEBORPHAN: get rid of all packages listed in output of Deborphan
+
+* GRMLBASE: the main class responsible for getting a minimal subset of what's
+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
+
+* GRML_POWERPC: grml for PowerPC architecture, not supported yet (still work in
+progress)
+
+* GRML_SMALL: minimum sized grml version, known as grml-small
+
+* LATEX_CLEANUP: get rid of several very large LaTeX directories
+(like some /usr/share/doc/texlive-*, /usr/share/doc/texmf,...)
+
+* LOCALES: use full featured locales setup (see /etc/locale.gen.grml). This
+avoids to get rid of /usr/share/locale - which happens by default otherwise - as
+well.
+
+* NO_ONLINE: do not run scripts during the chroot build process which require a
+network connection
+
+* RELEASE: run some specific scripts and commands to provide the workflow for an
+official grml release
+
+* REMOVE_DOCS: get rid of documentation directories (like /usr/share/doc,
+/usr/share/man/, /usr/share/info,...)
+
+* XORG: providing important packages for use with a base grml-featured X.org
+setup
+
+Files
+-----
+
+Notice that grml-live ships FAI configuration files that do not use the same
+namespace as the FAI packages itself. This ensures that grml-live does not clash
+with your usual FAI configuration, so instead of /etc/fai/fai.conf (package
+fai-client) grml uses /etc/grml/fai/fai.conf instead. For more details see
+below. To get an idea how another configuration or example files could look like
+check out /usr/share/doc/fai-doc/examples/simple/ (provided by Debian package
+fai-doc). Furthermore /usr/share/doc/fai-doc/fai-guide.html/ch-config.html
+provides documentation regarding configuration possibilities.
+
+ /usr/sbin/grml-live
+
+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.
+
+ /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.
+
+ /etc/grml/fai/make-fai-nfsroot.conf
+
+This file is used by make-fai-nfsroot(8) only. Usually you don't have to change
+anything inside this file. If you want to modify NFSROOT though you can adjust
+it there.
+
+ /etc/grml/fai/NFSROOT
+
+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 retrieving 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.
+
+ /etc/grml/fai/config/
+
+The main directory for configuration of FAI/grml-live. More details below.
+
+ /etc/grml/fai/config/class/