Synopsis
--------
-grml-live [-c <classe[s]>] [-g <grml_name>] [-i <iso_name> ] [-r <release_name>]
-[-s <suite>] [-t <target_directory>] [-v <version_number>] [-FVh]
+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>] [-FVhu]
*******************************************************************************
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 version 0.0.6.
*******************************************************************************
Description
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) and approx(8). To avoid downloading the base system again
-and again check out FAI's NFSROOT (see FAQ of this document for details).
+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. 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.
+
-c **CLASSES**::
Specify the CLASSES to be used for building the ISO via FAI. By default only
-i **ISO_NAME**::
-Specify name of ISO which will be available inside $TARGET_DIRECTORY/grml_isos
+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).
+
-r **RELEASENAME**::
Specify name of the release.
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 **TARGET_DIRECTORY**::
+ -t **TEMPLATE_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).
+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**::
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 -t /home/mika/grml-live
+ # grml-live -c GRMLBASE,GRML_SMALL,I386 -o /home/mika/grml-live
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 -t /tmp -c GRMLBASE,GRML_SMALL,I386 -s sid -i grml_0.0-3.iso
+ # grml-live -o /tmp -c GRMLBASE,GRML_SMALL,I386 -s sid -i grml_0.0-3.iso
[NOTE]
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_TARGET,
-$BUILD_TARGET and $ISO_TARGET if you plan to create more persistent output. :)
+in an empty /dev/shm, so please another directory for $CHROOT_OUTPUT,
+$BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :)
Main features of grml-live
--------------------------
More details regarding the class concept can be found in the documentation of
FAI itself (being available at /usr/share/doc/fai-doc/).
+Available classes
+-----------------
+
+Documentation to be done...
+
Files
-----
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 a new
+invocation of grml-live.
+
+The FAI part of grml-live logs to /var/log/fai/dirinstall/$HOSTNAME - so the
+default being /var/log/fai/dirinstall/grml.
+
+If you are using the update option of grml-live (option -u) the logs are
+available at /var/log/fai/current.
+
+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
---------------------------------
harddisk installation ships all you need]
* 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
+run (\~400MB for the chroot [$CHROOT_OUTPUT], \~150MB for the build target
+[$BUILD_OUTPUT] and \~150MB for the resulting ISO [$ISO_OUTPUT] plus some
temporary files), if you plan to use GRML_FULL you should have at least 4GB of
total free disk space
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
Calling task_mirror
[...]
+or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
+
+ [...]
+ 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
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and
+FAI_DEBOOTSTRAP:
+
+ # cat /etc/grml/grml-live.conf
+ [...]
+ GRML_LIVE_SOURCES="
+ deb http://localhost:3142/deb.grml.org grml-stable main
+ deb http://localhost:3142/deb.grml.org grml-testing main
+ deb http://localhost:3142/ftp.de.debian.org/debian etch main contrib non-free
+ "
+ [...]
+ FAI_DEBOOTSTRAP="etch http://localhost:3142/ftp.de.debian.org/debian etch main contrib non-free"
+
+Make sure apt-cacher is running (/etc/init.d/apt-cacher restart). That's it.
+All downloaded files will be cached in /var/cache/apt-cacher/ now.
+
Set up approx for use with grml-live
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~