Make grml-live script usable, update docs and config files
[grml-live.git] / docs / grml-live.txt
index b13165f..bc5e67f 100644 (file)
@@ -3,34 +3,147 @@ grml-live(8)
 
 Name
 ----
-grml-live - create grml-live ISO
+grml-live - generate a grml (based) live-cd
 
 Synopsis
 --------
-grml-live
+grml-live [ todo...]
 
-Design decisions + Plans
-------------------------
+*******************************************************************************
+Important! grml-live is under heavy construction and everything but ready yet.
+*******************************************************************************
 
-* support at least i386, amd64 and ppc as architectures
-* allow manual interaction within build-process (through hooks)
-* support template(s/ files) for all the files outside the squashfs image
-* support additional hooks
-* support user specified scripts
-* support creation of DVDs
-* support update-alternatives configuration via a file
+Introduction
+------------
 
-Why not use make-live/live-package?
-------------------------------------
+grml-live provides the build system for creating a grml (based) live-cd.  The
+build system is based on link:http://www.informatik.uni-koeln.de/fai/[FAI]
+(Fully Automatic Installation). If you are familiar with FAI already it is very
+easy to get a live-cd, if you don't know FAI yet don't despair: it's still very
+easy. :)
 
-At the time of writing this lines (8th february 2007) mainly because of the following limitations:
+FAI uses a class based system. This gives you the flexibility to choose the
+packages you would like to include on your very own live-cd without having to
+deal with all the details in the core of the system.
 
-* does not support powerpc
-* does not support booting via usb/firewire (using initramfs => casper)
-* manual configuration of packages not really supported
-* overwrites several files in the chroot without checking for its existance before
-* supports only one so called $LIVE_MIRROR
+Please notice that you should have a fast network connection as all the Debian
+packages will be installed via network. If you want to use a local mirror
+checkout
+link:http://www.informatik.uni-koeln.de/fai/download/mkdebmirror[mkdebmirror]
+and debmirror.
+
+How to get your own live-cd - the easy, fast and simple way
+-----------------------------------------------------------
+
+To get a small, Debian-stable and grml based live-cd:
+
+  # TARGET="/grml/chroot/grml_uncompressed"
+  # CDDIR="/grml/chroot/grml_cd"
+  # grml-live -c GRML -t $TARGET
+  # mksquashfs $TARGET/* $CDDIR/live/grml.squashfs -noappend
+  # cd $CDDIR
+  # mkisofs -V "my personal grml" -l -r -J -no-emul-boot -boot-load-size 4 \
+            -boot-info-table -c boot/isolinux/boot.cat \
+            -b boot/isolinux/isolinux.bin -o /grml/grml.iso .
+
+(TODO: provide the contenct of /grml/chroot/grml_cd through the package
+grml-live, in the meanwhil get the content from a current grml-ISO)
+
+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). /usr/share/doc/fai-doc/fai-guide.html/ch-config.html also provides
+documentation regarding configuration possibilities.
+
+  /usr/sbin/grml-live
+
+Script for the main build process (being a wrapper around FAI currently).
+Requires root permissions for execution.
+
+  /etc/grml/fai/fai.conf
+
+Main configuration file which specifies where all the configuration files and
+scripts for FAI/grml-live can be found. By default it is
+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
+
+TODO
+
+  /etc/grml/fai/NFSROOT
+
+TODO
+
+  /etc/grml/fai/apt/sources.list
+
+This file specifies which mirrors should be used for retreiving the Debian
+packages used for creating the ISO. If you want to use a local mirror you have
+to adjust this file.
+
+  /etc/grml/fai/config/
+
+The main directory for configuration of FAI/grml-live. More details below.
+
+  /etc/grml/fai/config/class/
+
+This directory contains files which specify main configuration variables for the
+FAI classes.
+
+  /etc/grml/fai/config/debconf/
+
+This directory provides the files for preseeding/configuration of debconf
+through files.
+
+  /etc/grml/fai/config/hooks/
+
+This directory provides files for customizing the build process through hooks.
+Hooks are user defined programs or scripts, which are called during the
+installation process.
+
+  /etc/grml/fai/config/package_config/
+
+File with lists of software packages to be installed or removed.  The different
+classes describe what should find its way to your ISO.  When running 'fai -v -C
+/etc/grml/fai -cGRML dirinstall ...' only the files from the directory GRML/
+will be taken, if you use 'fai -v -C /etc/grml/fai -cGRML,FOOBAR dirinstall ...'
+then the files of GRML/ **plus** the files from FOOBAR/ will be taken. So just
+create a new class to adjust it to your needs. Please notice that the directory
+GRML contains a package list defining a minimum but still reasonable package
+configuration.
+
+  /etc/grml/fai/config/scripts/
+
+Scripts for customising the ISO within build process.
+
+  /etc/grml/fai/live-initramfs/
+
+This directory provides the files used for building the initramfs/initrd via
+live-initramfs(8).
+
+TODO
+----
+
+* provide a wrapper script which runs all the necessary command in a single run (/usr/sbin/grml-live and
+/etc/grml/grml-live.conf are work in progress)
+
+* provide buildprocess for boot/isolinux stuff
+
+* explain and provide configuration for use of NFSROOT
+
+Bugs
+----
+
+Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes
+link:http://grml.org/contact/[to the grml-team]!
+
+Authors
+-------
+Michael Prokop <mika@grml.org>.
 
-Author
-------
-Michael Prokop <mika@grml.org>