X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=docs%2Fgrml-live.txt;h=a20c34b835f0acda2448a54bfd7357a22da96b4f;hp=b797d069a23046d6204c7be38cc25071e767a8b0;hb=1be31a7dd61ad5d081540a4b1c489ae2586ef69c;hpb=ef40edad37bfffcd3c08eb13695da981e52a1a36 diff --git a/docs/grml-live.txt b/docs/grml-live.txt index b797d06..a20c34b 100644 --- a/docs/grml-live.txt +++ b/docs/grml-live.txt @@ -10,12 +10,14 @@ Linux Live system (CD/ISO) Synopsis -------- -grml-live [-c ] [-i ] [-r ] -[-s ] [-t ] [-v ] [-Fvh] +grml-live [-a ] [-c ] [-g ] [-i ] +[-o ] [-r ] [-s ] [-t +] [-v ] [-FVhu] ******************************************************************************* Important! This document is growing as requested. If you have questions which aren't answered by this document yet please let me know: ! +This document currently applies to grml-live version 0.0.6. ******************************************************************************* Description @@ -46,54 +48,76 @@ packages will be downloaded and installed via network. If you want to use a 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 -the classes GRMLBASE and I386 are assumed, resulting in a small base system -(being about ~150MB total ISO size) for x86 (32bit). +the classes GRMLBASE, GRML_SMALL and I386 are assumed, resulting in a small base +system (being about ~150MB total ISO size). If using a non-I386 system (like +amd64) you should specify the appropriate architecture as well. Additionally you +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. -F:: 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. + -h:: Display short usage information and exit. -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. (Notice: the output of the release name is limited -to 30 characters.) +Specify name of the release. -s **SUITE**:: 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, -stable, testing, unstable. +"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**:: -Specify version number of the release. (Notice: the output of the version number -is limited to 5 characters. So "1.0-1" is fine, but "1.0.0.1" will be stripped -to "1.0.0" then.) +Specify version number of the release. -V:: @@ -110,13 +134,13 @@ 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 -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,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] @@ -124,8 +148,8 @@ 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_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 -------------------------- @@ -152,9 +176,10 @@ losing the simplicity in the build process. 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 which provides the kernel -(being 'I386' for x86_32 currently only). The following files and directories -are relevant for class GRMLBASE by default: +grml-live, as well as the architecture dependent class which provides the kernel +(being 'I386' for x86_32 and 'AMD64' for x86_64) and a GRML_* class (like +GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are +relevant for class GRMLBASE by default: /etc/grml/fai/config/scripts/GRMLBASE/ /etc/grml/fai/config/debconf/GRMLBASE @@ -168,13 +193,18 @@ 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 (or extend an existing one). For example if you want to use your own class named "FOOBAR" just -extend CLASSES="GRMLBASE,I386" inside /etc/grml/grml-live.conf to -CLASSES="GRMLBASE,I386,FOOBAR" or invoke grml-live using the classes option: -"grml-live -c GRMLBASE,I386,FOOBAR ...". +extend CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.conf to +CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" or invoke grml-live using the classes +option: "grml-live -c GRMLBASE,GRML_SMALL,I386,FOOBAR ...". 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 ----- @@ -246,12 +276,13 @@ installation process. Directory with lists of software packages to be installed or removed. The different classes describe what should find its way to your ISO. When running -"grml-live -c GRMLBASE,I386 ..." only the files from the directories GRMLBASE -and I386 will be taken, if you use 'grml-live -c GRMLBASE,I386,FOOBAR ...' then -the files of GRMLBASE, I386 **plus** the files from FOOBAR will be taken. So -just create a new class to adjust the package selection according to your needs. -Please notice that the directory GRMLBASE contains a package list defining a -minimum but still reasonable package configuration. +"grml-live -c GRMLBASE,GRML_SMALL,I386 ..." only the configuration of GRMLBASE, +GRML_SMALL and and I386 will be taken. If you use 'grml-live -c +GRMLBASE,GRML_SMALL,I386,FOOBAR ...' then the files of GRMLBASE, GRML_SMALL, +I386 **plus** the files from FOOBAR will be taken. So just create a new class to +adjust the package selection according to your needs. Please notice that the +directory GRMLBASE contains a package list defining a minimum but still +reasonable package configuration. /etc/grml/fai/config/scripts/ @@ -268,6 +299,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 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. + Requirements for the build system --------------------------------- @@ -276,8 +321,8 @@ send us a bug report then) [a usual link:http://grml.org/grml2hd/[grml2hd] 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 @@ -347,7 +392,7 @@ Just create a new class (using the package_config directory): and specify it when invoking grml-live then: - # grml-live -c GRMLBASE,I386,MIKA + # grml-live -c GRMLBASE,GRML_SMALL,I386,MIKA I fscked up my grml-live configuration. How do I reset it to the defaults? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -384,8 +429,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 @@ -394,6 +443,32 @@ executing debootstrap. Check out the output for the following lines: 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~