Rename class GRML into GRMLBASE and update all files according.
[grml-live.git] / docs / grml-live.txt
index 69b874f..9bb6948 100644 (file)
@@ -47,8 +47,8 @@ Options
   -c **CLASSES**::
 
 Specify the CLASSES to be used for building the ISO via fai.  By default only
-the classes GRML and I386 are assumed, resulting in a small base system (being
-about ~150MB ISO size).
+the classes GRMLBASE and I386 are assumed, resulting in a small base system
+(being about ~150MB ISO size).
 
   -t **TARGET_DIRECTORY**::
 
@@ -63,29 +63,22 @@ Force execution and do not display summary of configuration details.
 
 Display short usage information and exit.
 
-  additional_arguments_for_fai::
-
-Any additional argument(s) to grml-live will be given to the FAI commandline
-(being basically "fai dirinstall ...).  This might become a temporary solution
-(due to security reasons), if you need an option please let us know so we can
-implement it.
-
 How to get your own live-cd - the easy, fast and simple way
 -----------------------------------------------------------
 
-To get a small, Debian-stable and grml based live-cd:
+To get a small, Debian-stable and grml based live-cd using /dev/shm/
+as build and output directory:
+
+  # grml-live
 
-  # TARGET="/grml/grml_uncompressed"
-  # CDDIR="/grml/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 .
+[NOTE]
 
-(TODO: provide the content of /grml/chroot/grml_cd through the package
-grml-live, in the meanwhile get the content from a current grml-ISO)
+If you have about 700MB of free space inside /dev/shm (being a tmpfs, usually
+you 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_TARGET, $BUILD_TARGET
+and $ISO_TARGET if you plan to create more persistent output. :)
 
 The class concept
 -----------------
@@ -94,26 +87,26 @@ grml-live uses FAI and its class based concept for adjusting configuration
 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 GRML. It's strongly
-recommended to **always** use the class GRML when building an ISO using
+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 dependend class (being 'I386' for x86_32
 currently only). The following files and directories are relevant for class GRML
 by default:
 
-  /etc/grml/fai/config/scripts/GRML/
-  /etc/grml/fai/config/debconf/GRML
-  /etc/grml/fai/config/class/GRML.var
-  /etc/grml/fai/config/hooks/instsoft.GRML
-  /etc/grml/fai/config/package_config/GRML
+  /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. For example
-if you want to use your own class named "FOOBAR" just extend CLASSES="GRML" inside
-/etc/grml/grml-live.conf to CLASSES="GRML,FOOBAR" or invoke grml-live using
-the classes option: "grml-live -c GRML,FOOBAR ...".
+if you want to use your own class named "FOOBAR" just extend CLASSES="GRMLBASE"
+inside /etc/grml/grml-live.conf to CLASSES="GRMLBASE,FOOBAR" or invoke grml-live
+using the classes option: "grml-live -c GRMLBASE,FOOBAR ...".
 
 More details regarding the class concept can be found in the documentation of
 FAI (available at /usr/share/doc/fai-doc/).
@@ -144,11 +137,11 @@ out-of-the-box so you shouldn't have to configure anything in this file.
 
   /etc/grml/fai/make-fai-nfsroot.conf
 
-TODO
+TODO: documentation
 
   /etc/grml/fai/NFSROOT
 
-TODO
+TODO: documentation
 
   /etc/grml/fai/apt/sources.list
 
@@ -180,17 +173,23 @@ installation process.
 
 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 -cGRMLBASE dirinstall ...' only the files from the directory GRML/
+will be taken, if you use 'fai -v -C /etc/grml/fai -cGRMLBASE,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/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
@@ -202,9 +201,10 @@ Requirements for the build system
 * any Debian based system should be sufficient (if not please send a bug
 report), for example a grml2hd harddisk installation ships all you need
 
-* enough free disk space, at least 700MB are required for a minimal grml-live
-run (~400MB for the chroot [$CHROOT_TARGET], ~150MB for the build target
-[$BUILD_TARGET] and ~150MB for the resulting ISO [$ISO_TARGET]).
+* enough free disk space; at least 800MB are required for a minimal grml-live
+run (\~400MB for the chroot [$CHROOT_TARGET], \~150MB for the build target
+[$BUILD_TARGET] and \~150MB for the resulting ISO [$ISO_TARGET] plus some
+temporary files)
 
 * fast network access for retreiving the Debian packages used for creating the
 chroot (check out "local mirror" and "NFSROOT" to workaround this problem as far
@@ -213,28 +213,39 @@ as possiblbe)
 Known TODOs
 -----------
 
-* extend the grml-live wrapper script so it runs all the necessary command in a
-single run (boot/isolinux, mksquashfs and mkisofs stuff is missing currently)
+* do not use /dev/shm/ als default target directory (which one do we want to use
+instead?)
 
-* really support signed apt repositories
+* add support for amd64 [gebi?] + ppc [formorer?] (and identify all packages
+that are arch specific so we have a clean package list in all classes)
+
+* support different grml-flavours through classes right out-of-the-box (being:
+grml, grml64, grml-small for at least x86, amd64 and ppc)
+
+* support setting grml-live configuration on the command line to provide
+different flavours using the commandline only
+
+* really support signed apt repositories (currently it's deactivated via fai's
+dirinstall for some packages)
 
 * explain (and provide configuration for) the use of NFSROOT
 
 * support setting stuff like ISO name, version,... (especially for stuff inside
 x86_files/boot/isolinux)
 
-* identify all packages that are arch specific
+* support "final builds" (including stuff like md5sums)
 
-* support different flavours and architectures of Debian (currently it defaults
-to Debian/stable x86_32)
+* use hooks of FAI as far as possible in all grml-live scripts
 
-* use hooks of FAI in grml-live script?
-
-* the GRML class(es) should send output as used inside FAI as well (so it's not
-as verbose unless you specify it)
+* the grml-live class(es) should send output as used inside FAI as well (so it's
+not as verbose unless you specify it, make it configurable)
 
 * provide possibility for cleanup of all created build directories
 
+* support hooks to further allow customisation of the build process
+
+* support nocolor-option for /etc/grml/fai/grml/grml_cleanup_chroot
+
 Bugs
 ----
 
@@ -245,3 +256,6 @@ Authors
 -------
 Michael Prokop <mika@grml.org>.
 
+/////////////////////////////////////
+// vim:ai tw=80 ft=asciidoc expandtab
+/////////////////////////////////////