From: Michael Prokop Date: Mon, 12 Dec 2011 15:11:25 +0000 (+0100) Subject: Update grml-live docs X-Git-Url: https://git.grml.org/?p=grml.org.git;a=commitdiff_plain;h=b7b730a28da6a78247641d600128e7e17df1ba12 Update grml-live docs --- diff --git a/grml-live/grml-live.epub b/grml-live/grml-live.epub index a88f8a2..21ba6b2 100644 Binary files a/grml-live/grml-live.epub and b/grml-live/grml-live.epub differ diff --git a/grml-live/grml-live.pdf b/grml-live/grml-live.pdf index 54b95c1..0522d59 100644 Binary files a/grml-live/grml-live.pdf and b/grml-live/grml-live.pdf differ diff --git a/grml-live/index.html b/grml-live/index.html index 93eb3bd..3ab29e6 100644 --- a/grml-live/index.html +++ b/grml-live/index.html @@ -745,7 +745,7 @@ asciidoc.install(2);

1. Name

-

grml-live - build framework based on FAI for generating a grml and Debian based +

grml-live - build framework based on FAI for generating a Grml and Debian based Linux Live system (CD/ISO)

@@ -755,22 +755,13 @@ Linux Live system (CD/ISO)

grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [-g <grml_name>] [-i <iso_name> ] [-o <output_directory>] [-r <release_name>] [-s <suite>] [-t <template_directory>] [-v <version_number>] [-U <username>] [ --AbBFnNquVz]

-
- - - -
-Caution -Please check out the Current state of grml-live with squashfs-tools and kernel section for details about current state of involved -tools before starting with grml-live or if you encounter any problems.
-
+-AbBFnNqQuVz]

3. Description

-

grml-live provides the build system for creating a grml and Debian based Linux +

grml-live provides the build system for creating a Grml and Debian based Linux Live-CD. The build system is based on FAI (Fully Automatic Installation). grml-live uses the "fai dirinstall" feature to generate a chroot @@ -787,7 +778,7 @@ details of a build process.

Caution grml-live does not use /etc/fai for configuration but instead -(unless overriden using the '-D' option). This ensures that it does not clash +(unless overridden using the '-D' option). This ensures that it does not clash with default FAI configuration and packages, so you can use grml-live and FAI completely independent at the same time! @@ -803,8 +794,7 @@ 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), 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). +base system again and again check out the base tar.gz feature.
@@ -819,7 +809,7 @@ for details).

Clean up output directories before attempting the build. Packs the chroot -into a tar archive, and removes chroot and iso build directories before exiting. +into a tar archive, and removes chroot and ISO build directories before exiting.

@@ -852,7 +842,7 @@ but intend to only build the ISO.

Build the ISO without touching the chroot at all. This option is useful if -you modified anything that FAI or grml-live might adjust via grml’s FAI +you modified anything that FAI or grml-live might adjust via Grml’s FAI scripts. It’s like the -b option but even more advanced. Use only if you really know that you do not want to update the chroot.

@@ -864,8 +854,8 @@ really know that you do not want to update the chroot.

Specify the CLASSES to be used for building the ISO via FAI. By default only the classes GRMLBASE, GRML_FULL and I386/AMD64 (depending on system -architecture) are assumed, resulting in a small base system (being about ~180MB -total ISO size). If using a non-I386 system (like AMD64) you should specify the +architecture) are assumed, resulting in a base system of about 350MB +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 the CLASSES section in this document for details about available classes). So instead of GRML_FULL you can also use @@ -1112,41 +1102,29 @@ Use ZLIB instead of LZMA/XZ compression in mksquashfs part of the build process.

5. Usage examples

-

To get a small, Debian-stable and grml-based Live-CD using /grml/grml-live +

To get a Debian-stable and Grml-based Live-CD using /grml/grml-live as build and output directory just run:

# grml-live
-

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 -s sid -c GRMLBASE,GRML_SMALL,AMD64 -o /home/mika/grml-live
-
-

To get a medium sized, Debian-unstable and grml-based Live-CD for amd64 -architecture using /grml/grml-live as build and output directory just run:

+

To get a 64bit Debian-testing and grml-small based Live-CD using /srv/grml-live +as build and output directory use the following command line on your amd64 +system:

-
# grml-live -s sid -a amd64 -c GRMLBASE,GRML_FULL,AMD64
-
-

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,AMD64 -s sid -i grml_0.0-3.iso
+
# grml-live -s testing -c GRMLBASE,GRML_SMALL,AMD64 -o /srv/grml-live
-
Note 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 use another directory for $CHROOT_OUTPUT, +If you have enough 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 use another directory for $CHROOT_OUTPUT, $BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :)
@@ -1158,7 +1136,7 @@ $BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :)
  • -create a grml-/Debian-based Linux Live-CD with one single command +create a Grml-/Debian-based Linux Live-CD with one single command

  • @@ -1182,11 +1160,6 @@ Debian repositories native support of FAI features

  • -
  • -

    -multi-arch support (work in progress) -

    -
@@ -1230,7 +1203,7 @@ selected. The following classes are predefined:

This file specifies the package list for creating the NFSROOT.

-
${GRML_FAI_CONFIG}/apt/sources.list
-
-

This file specifies which mirrors should be considered for retrieving the Debian -packages when creating the main chroot (including all the software you would -like to see included). Important: this file should not be adjusted manually! -Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or -on-the-fly via grml-live then. If you want to generally adjust apt configuration

-
-
${GRML_FAI_CONFIG}/config/

The main directory for configuration of FAI/grml-live. More details below.

@@ -1432,16 +1396,10 @@ live-initramfs(8).

10. Available log files

-

grml-live itself logs to /var/log/grml-live.log. Unless you set PRESERVE_LOGFILE -in your grml-live configuration the file is cleared on each new invocation of -grml-live.

-

The FAI part of grml-live logs to /var/log/fai/$HOSTNAME/ - so the -default being /var/log/fai/grml/.

-

If you are using the grml-live buildd you will find the logs of the grml-live -run at /var/log/grml-buildd.log.

-

If you want to store build information in a database just install the -grml-live-db Debian package. Further details available in the grml-live-db -manpage.

+

Starting with grml-live version 0.17.0 you should find log files in a directory +named grml_logs in the output directory (next to grml_isos, grml_chroot,…).

+

grml-live versions before 0.17.0 used to log into /var/log/grml-live.log +and /var/log/fai/grml.

@@ -1451,9 +1409,7 @@ manpage.

  • any Debian based system should be sufficient (if it doesn’t work it’s a bug, -please send us a bug report then) [a usual -grml2hd harddisk installation (using grml or -grml-medium) ships all you need]. Check out How do I deploy grml-live on a plain Debian installation for details how to set up grml-live +please send us a bug report then). Check out How do I deploy grml-live on a plain Debian installation for details how to set up grml-live on a plain, original Debian system.

  • @@ -1481,8 +1437,8 @@ as possible)

    12. Current state of grml-live with squashfs-tools and kernel

    Use squashfs-tools >=4.2-1 (available from Grml repositories as well as from -Debian/unstable) to build Grml (based) ISOs featuring kernel version -2.6.38-grml[64].

    +Debian/testing and Debian/unstable) to build Grml (based) ISOs featuring kernel +version 2.6.38-grml[64] or newer.

    @@ -1490,22 +1446,12 @@ Debian/unstable) to build Grml (based) ISOs featuring kernel version

    13.1. How do I deploy grml-live on a plain Debian installation?

    -

    The easiest way to get a running grml-live setup is to install Grml or -grml-medium using grml2hd (for example inside KVM, Virtualbox, VMware,… if you -don’t want to run it on a physical system). Of course using grml-live on a -plain, original Debian installation is supported as well. So there we go.

    -

    What we have: plain, original Debian Lenny (5.0).

    -

    What we want: build a grml-medium ISO based on Debian/squeeze for the amd64 -architecture using grml-live.

    -
    - - - -
    -Important -If you encounter any problems while booting the resulting ISO please be aware of -the current state of grml-live with squashfs-tools and kernel section.
    -
    +

    The easiest way to get a running grml-live setup is to just use Grml. +Of course using grml-live on a plain, original Debian installation is supported +as well. So there we go.

    +

    What we have: plain, original Debian squeeze (6.0).

    +

    What we want: build a Grml ISO based on Debian/wheezy for the amd64 architecture +using grml-live.

    13.1.1. Instructions

    @@ -1570,20 +1516,13 @@ cat > /etc/grml/grml-live.local << EOF # SQUASHFS_OPTIONS="-comp gzip -b 256k" ## want to use a specific squashfs binary? # SQUASHFS_BINARY='/usr/bin/mksquashfs' -# install local files into the chroot -CHROOT_INSTALL="/etc/grml/fai/chroot_install" +## install local files into the chroot +# CHROOT_INSTALL="/etc/grml/fai/chroot_install" ## adjust if necessary (defaults to /grml/grml-live): ## OUTPUT="/srv/grml-live" -FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/" -ARCH="i386" +FAI_DEBOOTSTRAP="wheezy http://cdn.debian.net/debian/" +# ARCH="amd64" CLASSES="GRMLBASE,GRML_FULL,AMD64" -# PRESERVE_LOGFILE='1' -# ZERO_FAI_LOGFILE='1' -GRML_LIVE_SOURCES=" -deb http://deb.grml.org/ grml-stable main -deb http://deb.grml.org/ grml-testing main -deb http://cdn.debian.net/debian squeeze main contrib non-free -" EOF
    @@ -1591,7 +1530,7 @@ EOF
    # just optional(!) - upgrade FAI to latest available version:
     cat >> /etc/apt/sources.list << EOF
     # fai:
    -  deb http://fai-project.org/download lenny koeln
    +  deb http://fai-project.org/download squeeze koeln
     EOF
    @@ -1622,158 +1561,14 @@ configuration files, scripts and hooks will be taken from your

    13.3. I’ve problems with the build process. How to start debugging?

    -

    Check out the logs inside /var/log/fai/… If you think it’s a bug in grml-live -send a copy of your config, logs and the commandline with a short problem -description to <mika@grml.org>:

    -
    -
    -
    # history | grep grml-live > /etc/grml/grml_live.cmdline
    -# tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \
    -          /etc/grml/grml_live.cmdline /etc/grml/grml-buildd.conf \
    -          /var/log/fai /etc/grml/fai
    --> finally mail grml_live_problem.tar.gz to <mika@grml.org>
    -
    +

    Check out the logs inside the directory grml_logs next to your grml_chroot, +grml_isos,… directories.

    If you need help with grml-live or would like to see new features as part of grml-live you can get commercial support via Grml Solutions.

    -

    13.4. How much is the difference between LZMA and ZLIB compression?

    -

    ISO size (bs = blocksize):

    -
    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    ISO

    LZMA (256kB bs)

    ZLIB

    grml_sid

    666M

    771M

    grml_squeeze

    659M

    761M

    grml_lenny

    624M

    723M

    grml64_sid

    677M

    791M

    grml64_squeeze

    671M

    785M

    grml64_lenny

    639M

    745M

    grml-medium_sid

    208M

    236M

    grml-medium_squeeze

    206M

    234M

    grml-medium_lenny

    193M

    220M

    grml64-medium_sid

    213M

    245M

    grml64-medium_squeeze

    213M

    244M

    grml64-medium_lenny

    201M

    231M

    grml-small_sid

    102M

    118M

    grml-small_squeeze

    101M

    117M

    grml-small_lenny

    97M

    112M

    grml64-small_sid

    103M

    120M

    grml64-small_squeeze

    103M

    120M

    grml64-small_lenny

    99M

    116M

    -
    -

    Build time of grml-medium’s squashfs file (depends on your system, though just -to get the ratio between the different options):

    -
      -
    • -

      -10 minutes and 4 seconds with LZMA default blocksize (128k) -

      -
    • -
    • -

      -7 minutes 27 seconds with LZMA and blocksize 256k -

      -
    • -
    • -

      -6 minutes and 8 seconds with LZMA blocksize 512k -

      -
    • -
    • -

      -1 minute and 40 seconds with ZLIB -

      -
    • -
    -
    -
    -

    13.5. How do I install further files into the chroot/ISO?

    +

    13.4. How do I install further files into the chroot/ISO?

    Just point the configuration variable CHROOT_INSTALL to the directory which provides the files you would like to install. Note that the files are installed under / in the chroot - so you have to create the rootfs structure on your @@ -1788,7 +1583,7 @@ grml-live ...

    -

    13.6. Can I use my own (local) Debian mirror?

    +

    13.5. Can I use my own (local) Debian mirror?

    Yes. Set up an according sources.list configuration as class file in FAI_DEBOOTSTRAP (if not already using NFSROOT’s base.tgz) inside /etc/grml/grml-live.conf[.local]. If you’re setting up your own class file don’t @@ -1802,7 +1597,7 @@ adjust MIRROR_DIRECTORY in /etc/grml/grml-live.conf[.local] as well.

    -

    13.7. How do I add additional Debian package(s) to my CD/ISO?

    +

    13.6. How do I add additional Debian package(s) to my CD/ISO?

    Just create a new class (using the package_config directory):

    @@ -1823,7 +1618,7 @@ EOF
    -

    13.8. I fscked up my grml-live configuration. How do I reset it to the defaults?

    +

    13.7. I fscked up my grml-live configuration. How do I reset it to the defaults?

    Notice: this deletes all your grml-live configuration files. If that’s really what you are searching for just run:

    @@ -1831,20 +1626,9 @@ what you are searching for just run:

    rm -rf /etc/grml/fai /etc/grml/grml-live.conf
     dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb
    -
    - - - -
    -Note -If you don’t control your /etc using a version control system (VCS) yet it’s a -good chance to start using it now. Check out -http://michael-prokop.at/blog/2007/03/14/maintain-etc-with-mercurial-on-debian/ -for more details how to maintain /etc using the mercurial VCS.
    -
    -

    13.9. How do I create a base.tgz for use as NFSROOT?

    +

    13.8. How do I create a base.tgz for use as NFSROOT?

    First of all build the chroot system:

    @@ -1894,47 +1678,21 @@ ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to Existing base.tgz can be found at http://daily.grml.org/
    -

    Set up apt-cacher-ng for use with grml-live

    -
    -
    -
    Make sure /etc/grml/grml-live.local provides according APT_PROXY and
    -FAI_DEBOOTSTRAP:
    -
    -  # cat /etc/grml/grml-live.local
    -  [...]
    -  APT_PROXY="http://localhost:3142/"
    -  [...]
    -  FAI_DEBOOTSTRAP="squeeze http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free"
    -
    -Make sure apt-cacher-ng is running ('/etc/init.d/apt-cacher-ng restart').
    -That's it.  All downloaded files will be cached in /var/cache/apt-cacher-ng then.
    -
    -[[approx]]
    -Set up approx for use with grml-live
    -
    -

    Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and +

    +
    +

    13.9. Set up apt-cacher-ng for use with grml-live

    +

    Make sure /etc/grml/grml-live.local provides according APT_PROXY and FAI_DEBOOTSTRAP:

    -
    # cat /etc/grml/grml-live.conf
    +
    # cat /etc/grml/grml-live.local
     [...]
    -GRML_LIVE_SOURCES="
    -deb http://localhost:9999/grml            grml-stable  main
    -deb http://localhost:9999/grml            grml-testing main
    -deb http://localhost:9999/debian squeeze  main contrib non-free
    -"
    -FAI_DEBOOTSTRAP="squeeze http://localhost:9999/debian"
    -
    -

    Configure approx:

    -
    -
    -
    # cat /etc/approx/approx.conf
    +APT_PROXY="http://localhost:3142/"
     [...]
    -debian http://ftp.at.debian.org/debian
    -grml   http://deb.grml.org/
    +FAI_DEBOOTSTRAP="squeeze http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free"
    -

    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.

    +

    Make sure apt-cacher-ng is running (/etc/init.d/apt-cacher-ng restart). +That’s it. All downloaded files will be cached in /var/cache/apt-cacher-ng then.

    13.10. How do I revert the manifold feature from an ISO?

    @@ -2015,10 +1773,6 @@ like:

    Fri Mar 18 12:08:01 UTC 2011
    -
    -

    13.13. I’ve a question which isn’t answered by this document

    -

    Don’t hesitate to contact the author: <mika@grml.org>

    -
    @@ -2040,24 +1794,18 @@ debuild -us -uc

    15. Source

    The source of grml-live is available at -http://git.grml.org/?p=grml-live.git

    -
    -
    -
    -

    16. TODO list

    -
    -

    17. Bugs

    +

    16. Bugs

    Please report feedback, bugreports and wishes -to the grml-team!

    +to the Grml team!

    -

    18. Documentation

    +

    17. Documentation

    The most recent grml-live documentation is available online at http://grml.org/grml-live/ and for offline reading also available @@ -2077,7 +1825,7 @@ in different formats:

    -

    19. Authors

    +

    18. Authors

    Michael Prokop <mika@grml.org>

    @@ -2086,7 +1834,7 @@ in different formats: