Adjust menu.lst + isolinux.cfg on the fly for new directoy layout
[grml-live.git] / docs / grml-live.txt
index d8825d6..dc3d12f 100644 (file)
@@ -12,12 +12,12 @@ Synopsis
 
 grml-live [-a <architecture>] [-c <classe[s]>] [-g <grml_name>] [-i <iso_name> ]
 [-o <output_directory>] [-r <release_name>] [-s <suite>] [-t
-<template_directory>] [-v <version_number>] [-FVh]
+<template_directory>] [-v <version_number>] [-bFVhuz]
 
 *******************************************************************************
 Important! This document is growing as requested. If you have questions which
 aren't answered by this document yet please let me know: <mika@grml.org>!
-This document currently applies to grml-live 0.0.4/0.0.5
+This document currently applies to grml-live version 0.4.
 *******************************************************************************
 
 Description
@@ -58,9 +58,18 @@ Options
   -a **ARCHITECTURE**::
 
 Use the specified architecture instead of the currently running one.  This
-allows building a 32bit system on a 64bit host. Please notice that real
+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.
+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.
 
   -c **CLASSES**::
 
@@ -72,6 +81,22 @@ can specify a class providing a grml-kernel (see
 /etc/grml/fai/config/package_config/ for a full list).  So instead of GRML_SMALL
 you can also use GRML_MEDIUM and GRML_FULL instead.
 
+  -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.
@@ -79,6 +104,8 @@ 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 inside GRML_NAME, otherwise you might notice problems
+with booting.
 
   -h::
 
@@ -107,9 +134,14 @@ Specify the Debian suite you want to use for your live-system.  Defaults to
 
   -t **TEMPLATE_DIRECTORY**::
 
-Specify place of the templates used for building the ISO. By default 
+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.
@@ -118,6 +150,10 @@ Specify version number of the release.
 
 Increase verbosity in the build process.
 
+  -z::
+
+Use ZLIB instead of LZMA compression in mksquashfs part of the build process.
+
 Usage examples
 --------------
 
@@ -129,7 +165,12 @@ as build and output directory just run:
 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 -c GRMLBASE,GRML_SMALL,I386 -o /home/mika/grml-live
+  # 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
@@ -143,7 +184,7 @@ 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 another directory for $CHROOT_OUTPUT,
+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
@@ -198,7 +239,7 @@ FAI itself (being available at /usr/share/doc/fai-doc/).
 Available classes
 -----------------
 
-To be done...
+Documentation to be done...
 
 Files
 -----
@@ -294,6 +335,20 @@ files please refer to the source of the scripts.
 This directory provides the files used for building the initramfs/initrd via
 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.
+
+The FAI part of grml-live logs to /var/log/fai/$HOSTNAME/ - so the
+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 for the build system
 ---------------------------------
 
@@ -317,9 +372,10 @@ FAQ
 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.1_all.deb \
-       http://www.informatik.uni-koeln.de/fai/download/etch/fai-server_3.2.1_all.deb
-  dpkg -i fai-client_3.2.1_all.deb fai-server_3.2.1_all.deb
+  wget http://www.informatik.uni-koeln.de/fai/download/etch/fai-client_3.2.4_all.deb \
+       http://www.informatik.uni-koeln.de/fai/download/etch/fai-server_3.2.4_all.deb \
+       http://www.informatik.uni-koeln.de/fai/download/etch/fai-doc_3.2.4_all.deb
+  dpkg -i fai-client_3.2.4_all.deb fai-server_3.2.4_all.deb fai-doc_3.2.4_all.deb
 
 or check out the link:http://www.informatik.uni-koeln.de/fai/[FAI-homepage] for
 further details.
@@ -327,14 +383,14 @@ further details.
 I've problems with the build process. How to start debugging?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Check out the logs inside /var/log/fai/dirinstall/... 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 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>:
 
   # history | grep grml-live > /etc/grml/grml_live.cmdline
   # tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \
-            /var/log/fai/dirinstall /etc/grml/fai
+            /etc/grml/grml-buildd.conf /var/log/fai /etc/grml/fai
 
 Can I use my own (local) Debian mirror?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -345,7 +401,7 @@ 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 insede /etc/grml/grml-live.conf as
+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
@@ -410,8 +466,12 @@ So as /grml/fai/nfsroot is your NFSROOT place the file under
 
   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:
+executing debootstrap. Check out the output for the following lines if using
+NFSROOT:
 
   [...]
   Calling task_extrbase
@@ -420,11 +480,12 @@ executing debootstrap. Check out the output for the following lines:
   Calling task_mirror
   [...]
 
-[NOTE]
+or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
 
-Notice that you can also use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz if
-you prefer to use /etc as the main configuration directory instead of
-/path/to/nfsroot/.... (Thanks to Thomas Lange for the tip.)
+  [...]
+  ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to
+  /grml-live/grml-live_20071029.22138/grml_chroot//
+  [...]
 
 Set up apt-cacher for use with grml-live
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~