docs: add squashfs-tools to default apt-get list for deployments on Debian.
[grml-live.git] / docs / grml-live.txt
index fc8ec2b..e716e7a 100644 (file)
@@ -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
@@ -102,6 +108,16 @@ 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::
 
 Force execution and do not prompt for acknowledgment of configuration.
@@ -280,9 +296,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
@@ -340,7 +353,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.
@@ -348,9 +361,11 @@ 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
 
@@ -370,7 +385,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/
 
@@ -408,12 +423,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
@@ -423,10 +432,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/.
@@ -434,6 +442,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
 ---------------------------------
@@ -510,49 +522,54 @@ 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
-the mksquashfs-lzma and unsquashfs-lzma binaries and the package does NOT
-conflict with the squashfs-tools package (you can install both of them at the
-same time).
+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).
 
 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].
+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
+* Kernel 2.6.33-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-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 and the package does NOT
-conflict with the squashfs-lzma-tools 4.0-1 package (you can install both of
+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/[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
-squashfs-lzma-tools (see section above) instead.
+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
+* Kernel 2.6.33-grml[64]: works
 
 [NOTE]
-Please use squashfs-tools 1:4.0-1 only if you want to remaster grml releases
+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
@@ -649,11 +666,11 @@ Instructions
 
   # grml stable repository:
     deb     http://deb.grml.org/ grml-stable  main
-    deb-src 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
+  # deb-src http://deb.grml.org/ grml-testing main
   EOF
 
   # adjust apt-pinning (only prefer squashfs stuff from grml):
@@ -681,7 +698,7 @@ Instructions
 
   # 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 squashfs-lzma-tools
 
   # adjust grml-live configuration for our needs:
   cat > /etc/grml/grml-live.local << EOF
@@ -695,7 +712,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
@@ -744,7 +761,8 @@ 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
@@ -755,30 +773,38 @@ link:http://grml-solutions.com/[Grml Solutions].
 How much is the difference between LZMA and ZLIB compression?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Note: LZMA sizes is work in progress.
-
-[width="40%",cols="3,^2,^2",options="header"]
-|==================================
-|ISO                   |LZMA |ZLIB
-|grml64_lenny          |X    |745M
-|grml64-medium_lenny   |X    |231M
-|grml64-medium_sid     |X    |245M
-|grml64-medium_squeeze |X    |244M
-|grml64_sid            |X    |791M
-|grml64-small_lenny    |X    |116M
-|grml64-small_sid      |X    |120M
-|grml64-small_squeeze  |X    |120M
-|grml64_squeeze        |X    |785M
-|grml_lenny            |X    |723M
-|grml-medium_lenny     |X    |220M
-|grml-medium_sid       |X    |236M
-|grml-medium_squeeze   |X    |234M
-|grml_sid              |X    |771M
-|grml-small_lenny      |X    |112M
-|grml-small_sid        |X    |118M
-|grml-small_squeeze    |X    |117M
-|grml_squeeze          |X    |761M
-|==================================
+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?
@@ -814,7 +840,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.
 
@@ -945,8 +971,7 @@ All downloaded files will be cached in /var/cache/approx now.
 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