X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=docs%2Fgrml-live.txt;h=c7cb2c5baf4be08d3b0a829bb69bb5ae7a37b48f;hp=9c0d88af081bb14f6c04ded0a9db9cafd6e351b7;hb=c87434dfc266018f9fed5e0f471749fad154a1a0;hpb=7b4718b59c0edbc1b5ff6dcc1c48bb61c83689d4 diff --git a/docs/grml-live.txt b/docs/grml-live.txt index 9c0d88a..c7cb2c5 100644 --- a/docs/grml-live.txt +++ b/docs/grml-live.txt @@ -10,7 +10,9 @@ Linux Live system (CD/ISO) Synopsis -------- -grml-live [-c ] [-t ] [-s ] [-Fvh] +grml-live [-c ] [-g ] [-i ] [-o +] [-r ] [-s ] [-t ] +[-v ] [-FVh] ******************************************************************************* Important! This document is growing as requested. If you have questions which @@ -54,36 +56,61 @@ Options -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. - -s **SUITE**:: + -F:: -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. +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 $OUTPUT_DIRECTORY/grml_isos +by default. - -t **TARGET_DIRECTORY**:: + -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). - -F:: + -r **RELEASENAME**:: -Force execution and do not prompt for acknowledgment of configuration. +Specify name of the release. - -h:: + -s **SUITE**:: -Display short usage information and exit. +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. - -v:: + -t **TEMPLATE_DIRECTORY**:: + +Specify place of the templates used for building the ISO. By default +(and if not manually specified) this is /usr/share/grml-live/templates/. + + -v **VERSION_NUMBER**:: + +Specify version number of the release. + + -V:: Increase verbosity in the build process. -How to get your own Live-CD - the easy, fast and simple way ------------------------------------------------------------ +Usage examples +-------------- To get a small, Debian-stable and grml-based Live-CD using /grml/grml-live as build and output directory just run: @@ -93,7 +120,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 -o /tmp -c GRMLBASE,GRML_SMALL,I386 -s sid -i grml_0.0-3.iso [NOTE] @@ -101,8 +134,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 -------------------------- @@ -129,9 +162,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 @@ -145,9 +179,9 @@ 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/). @@ -223,12 +257,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/ @@ -253,9 +288,10 @@ 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 -temporary files) +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 * 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 @@ -323,7 +359,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? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -370,69 +406,44 @@ executing debootstrap. Check out the output for the following lines: Calling task_mirror [...] -I've a question which isn't answered by this document -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Don't hesitate to ask on IRC (channel #grml on irc.freenode.org) or just drop me -a mail: - -Known TODOs ------------ - -* "fai dirinstall" does not seem to always exit according to what happend during -the build; make sure to exit on any error - -* document the available classes in more detail - -* add a check to make sure $TARGET is mounted rw,suid,dev? - -* 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 and grml-small (done), each for x86, amd64 and ppc) +Set up approx for use with grml-live +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* support signed apt repositories (currently it's deactivated via FAI's -FAI_ALLOW_UNSIGNED=1 for some packages in the toolchain) +Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and +FAI_DEBOOTSTRAP: -* support setting stuff like ISO name, version,... on-the-fly (especially for -stuff inside boot/isolinux/*) - -* support "final builds" (including stuff like generating md5sums, gpg,... - -create a grml_release-directory including all the details about the build -process like dpkg selection, logs,...) - -* the grml-live class(es) should send output to stdout and stderr as used inside -FAI as well (so it's not as verbose unless you specify it, make it configurable -though); check for errors inside the logs then as well - -* provide possibility for cleanup of all created build directories and -a smart summary of the buildprocess (including "took ... minutes/seconds to -build...") - -* check out how FAI_DEBMIRROR of /etc/grml/fai/fai.conf could be merged with our -MIRROR_DIRECTORY and MIRROR_SOURCES feature of /etc/grml/grml-live.conf + # cat /etc/grml/grml-live.conf + [...] + GRML_LIVE_SOURCES=" + deb http://localhost:9999/grml grml-stable main + deb http://localhost:9999/grml grml-testing main + deb http://localhost:9999/debian etch main contrib non-free + " + FAI_DEBOOTSTRAP="etch http://localhost:9999/debian" -* support hooks to allow further customisation of the build process +Configure approx: -Long term goals ---------------- + # cat /etc/approx/approx.conf + [...] + debian http://ftp.at.debian.org/debian + grml http://deb.grml.org/ -* Provide all upcoming grml releases based on grml-live. +Don't forget to restart approx (/etc/init.d/approx restart). That's it. +All downloaded files will be cached in /var/cache/approx now. -* Provide a console interface (using dialog) for easy and common use of -grml-live. +I've a question which isn't answered by this document +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* Provide a graphical interface (for example using pygtk) for easy and common -use of grml-live. +Don't hesitate to ask on IRC (channel #grml on irc.freenode.org) or just drop me +a mail: Download / install grml-live as a Debian package ------------------------------------------------ -Debian packages will be available through the grml-repository at -link:http://deb.grml.org/[http://deb.grml.org/] as soon as the grml-team -considers grml-live as stable enough. In the meantime just build the package on -your own: +Debian packages are available through the grml-repository at +link:http://deb.grml.org/pool/main/g/grml-live/[deb.grml.org]. If you want to +build a Debian package on your own (using for example a specific version or the +current development tree), just execute: hg clone http://hg.grml.org/grml-live cd grml-live @@ -444,6 +455,12 @@ Source The source of grml-live is available at link:http://hg.grml.org/grml-live/[http://hg.grml.org/grml-live/] +TODO list +--------- + +Check out link:http://wiki.grml.org/doku.php?id=grml-live[grml-live@grml-wiki] +for details. + Bugs ----