From: Michael Prokop Date: Mon, 15 Feb 2016 21:23:44 +0000 (+0100) Subject: Update grml-live docs to latest git version of grml-live.git X-Git-Url: http://git.grml.org/?p=grml.org.git;a=commitdiff_plain;h=96d82c1dde8e835b8313e32e04f2c6a3189fa164 Update grml-live docs to latest git version of grml-live.git As of git commit 5c8e5c9e2 --- diff --git a/grml-live/grml-live.epub b/grml-live/grml-live.epub index ff51d6c..73eae44 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 36eca9a..68914d6 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 6e6d4ef..f01c64b 100644 --- a/grml-live/index.html +++ b/grml-live/index.html @@ -754,7 +754,7 @@ Linux Live system (CD/ISO)

-e <extract_iso_name>] [-g <grml_name>] [-i <iso_name>] [ -o <output_directory>] [-r <release_name>] [-s <suite>] [ -t <template_directory>] [-v <version_number>] [-U <username>] [ --AbBFnNqQuVz]

+-w <date>] [-AbBFnNqQuVz]

@@ -1041,7 +1041,7 @@ Specify name of the release.

Specify the Debian suite you want to use for your live-system. If unset defaults to "testing". Supported values are: stable, testing, unstable (or their -corresponding release names like "wheezy"). Please be aware that recent Debian +corresponding release names like "jessie"). Please be aware that recent Debian suites might require a recent base.tgz debootstrap.

@@ -1089,6 +1089,26 @@ Increase verbosity in the build process.

+-w DATE +
+
+

+The wayback machine. Build the system using Debian archives from the specified +date. Valid date formats are yyyymmddThhmmssZ or simply yyyymmdd. To learn +which snapshots exist, i.e. which date strings are valid, simply browse the +lists on http://snapshot.debian.org/. If there is no import at the exact time +you specified you will get the latest available timestamp which is before the +time you specified. +This option is useful especially for release and debugging builds - for example +if you know that the Debian archive was in a good state on a specific date but +you want to build it on another day in the future, where the archive might not +be as needed anymore. Please be aware that this is restricted to the plain +Debian repositories only, as referred to in /etc/apt/sources.list.d/debian.list +(so neither the Grml repositories nor any further custom ones are affected by +the wayback machine). +

+
+
-z
@@ -1171,7 +1191,7 @@ losing the simplicity in the build process.

recommended to always use the class GRMLBASE when building an ISO using 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 +GRML_SMALL or GRML_FULL). The following files and directories are relevant for class GRMLBASE by default:

@@ -1222,29 +1242,17 @@ use this class.
  • GRML_FULL: full featured Grml, also known as the "normal", full grml as -introduced in December 2011 (~350MB ISO size). +introduced in December 2011 (~460MB ISO size).

  • -GRML_MEDIUM: medium sized Grml version, used to be known as grml-medium -until December 2011 (~220MB ISO size). -

    -
  • -
  • -

    -GRML_SMALL: minimum sized Grml version, known as grml-small (~110MB ISO +GRML_SMALL: minimum sized Grml version, known as grml-small (~230MB ISO size).

  • -GRML_XL: large size Grml version, used to be known as "full grml" until -December 2011 (~700MB ISO size). -

    -
  • -
  • -

    LATEX: LaTeX(-related) packages like auctex, texlive,… (which used to be shipped by grml before the LaTeX removal)

    @@ -1428,9 +1436,8 @@ chroot (check out "local mirror" to workaround this problem as far 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) to build Grml (based) ISOs featuring kernel version 2.6.38-grml[64] or -newer.

    +

    Use squashfs-tools >=4.2-1 to build Grml (based) ISOs featuring kernel version +2.6.38-grml[64] or newer.

    @@ -1441,8 +1448,8 @@ newer.

    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 wheezy (7.x).

    -

    What we want: build a Grml ISO based on Debian/wheezy for the amd64 architecture +

    What we have: plain, original Debian jessie (8.x).

    +

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

    13.1.1. Instructions

    @@ -1496,7 +1503,7 @@ cat > /etc/grml/grml-live.local << EOF # CHROOT_INSTALL="/etc/grml/fai/chroot_install" ## adjust if necessary (defaults to /grml/grml-live): ## OUTPUT="/srv/grml-live" -FAI_DEBOOTSTRAP="wheezy http://http.debian.net/debian/" +FAI_DEBOOTSTRAP="jessie http://ftp.debian.org/debian/" # ARCH="amd64" CLASSES="GRMLBASE,GRML_FULL,AMD64" EOF @@ -1604,13 +1611,45 @@ dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb
    -

    13.8. How do I create a base.tgz?

    -

    First of all create the chroot using debootstrap:

    +

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

    +

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

    -
    BASECHROOT='/tmp/basefile'
    -debootstrap wheezy "$BASECHROOT" http://http.debian.net/debian
    -tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf base.tar.gz ./
    +
    # cat /etc/grml/grml-live.local
    +[...]
    +APT_PROXY="http://localhost:3142/"
    +[...]
    +FAI_DEBOOTSTRAP="jessie http://localhost:3142/ftp.debian.org/debian jessie 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.

    +
    +
    +

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

    +

    The so called manifold feature Grml ISOs use by default allows one to use the same +ISO for CD boot and USB boot. If you notice any problems when booting just +revert the manifold feature running:

    +
    +
    +
    % dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc
    +
    +

    To switch from manifold to isohybrid mode (an alternative approach provided by +syslinux) then just execute:

    +
    +
    +
    % isohybrid grml.iso
    +
    +
    +
    +

    13.10. How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz)

    +

    First of all create the chroot using debootstrap (requires root):

    +
    +
    +
    BASECHROOT='/tmp/basefile'  # path where the chroot gets generated
    +SUITE='jessie'              # using the current stable release should always work
    +debootstrap --exclude=info,tasksel,tasksel-data "$SUITE" "$BASECHROOT" http://ftp.debian.org/debian
    +tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf "${SUITE}".tar.gz ./
    @@ -1623,9 +1662,10 @@ then invoke debootstrap using the --arch i386 option. Disclaimer: build AMD64 base.tgz won’t work if you are using a 32bit kernel system of course.
    -

    Then move the base.tar.gz to /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz. -Use e.g. I386 as $CLASSNAME for i386 chroots and AMD64 for amd64 chroots.

    -

    Now executing grml-live should use this file as base system instead of executing +

    Finally place the generated tarball in /etc/grml/fai/config/basefiles/ (note +that it needs to be uppercase letters matching the class names, so: e.g. +AMD64.tar.gz for amd64 and I386.tar.gz for i386).

    +

    Then executing grml-live should use this file as base system instead of executing debootstrap. Check out the output for something like:

    @@ -1633,71 +1673,82 @@ debootstrap. Check out the output for something like:

    ftar: extracting //etc/grml/fai/config/basefiles///AMD64.tar.gz to /srv/grml64_testing/grml_chroot// [...]
    -
    - - - -
    -Tip -Existing base.tgz can be found at http://daily.grml.org/
    -
    -

    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:

    +

    13.11. How to use your own local repository

    +

    Let’s assume you have Debian package(s) in your filesystem inside +/home/foobar/local-packages and want to provide them to your grml-live build. +This can be achieved either 1) through a bind mount (using the MIRROR_DIRECTORY +configuration) or 2) by serving a repository via HTTP.

    +
    +

    13.11.1. Serving via bind mount / MIRROR_DIRECTORY

    +

    Make sure to create an according sources.list configuration file, e.g. using +your own class name CUSTOM:

    -
    # cat /etc/grml/grml-live.local
    -[...]
    -APT_PROXY="http://localhost:3142/"
    -[...]
    -FAI_DEBOOTSTRAP="wheezy http://localhost:3142/http.debian.net/debian wheezy main contrib non-free"
    +
    # cat > /etc/grml/fai/config/files/etc/apt/sources.list.d/local-packages.list/CUSTOM << EOF
    +deb file:///home/foobar/local-packages ./
    +EOF
    -

    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?

    -

    The so called manifold feature Grml ISOs use by default allows one to use the same -ISO for CD boot and USB boot. If you notice any problems when booting just -revert the manifold feature running:

    +

    Add the according MIRROR_DIRECTORY configuration to your grml-live configuration:

    -
    % dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc
    +
    # echo "MIRROR_DIRECTORY='/home/foobar/packages'" >> /etc/grml/grml-live.local
    -

    To switch from manifold to isohybrid mode (an alternative approach provided by -syslinux) then just execute:

    +

    Make sure the local directory looks like a mirror:

    -
    % isohybrid grml.iso
    +
    % cd /home/foobar/packages
    +% dpkg-scanpackages . /dev/null | gzip > Packages.gz
    +

    Finally invoke grml-live with your class name (CUSTOM in this example) added +to the list of classes on the command line (see grml-live option -c).

    -
    -

    13.11. How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz)

    -

    Execute the following commands (requires root):

    +
    +

    13.11.2. Serving a repository via HTTP

    +

    Make sure to create an according sources.list configuration file, e.g. using +your own class name CUSTOM:

    -
    ARCH='amd64' # replace with i386 if necessary
    -SUITE='wheezy' # using the current stable release should always work
    -debootstrap --arch "$ARCH" --exclude=info,tasksel,tasksel-data "$SUITE" "$ARCH" http://debian.netcologne.de/debian
    -cd "$ARCH"
    -rm var/cache/apt/archives/*.deb
    -tar zcf ../"${ARCH}".tar.gz *
    +
    # cat > /etc/grml/fai/config/files/etc/apt/sources.list.d/local-packages.list/CUSTOM << EOF
    +deb http://127.0.0.1:8000/ ./
    +EOF
    -

    And finally place the generated tarball in /etc/grml/fai/config/basefiles/ (note -that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz -for amd64 and I386.tar.gz for i386).

    +

    Make sure the local directory is served via HTTP on the according IP address and +port. For the http://127.0.0.1:8000/ example from above it should be enough to +just invoke:

    +
    +
    +
    % cd /home/foobar/packages
    +% dpkg-scanpackages . /dev/null | gzip > Packages.gz
    +% python -m SimpleHTTPServer 8000
    +
    +
    + + + +
    +Tip +Of course you can also use a real Debian repository setup using tools like +reprepro(1) and/or using a real web server, though for quick debugging sessions +python’s SimpleHTTPServer in combination with dpkg-scanpackages from package +dpkg-dev is a simple and easy approach.
    +
    +

    Finally invoke grml-live with your class name (CUSTOM in this example) added +to the list of classes on the command line (see grml-live option -c).

    +
  • 14. Download / install grml-live as a Debian package

    -

    Debian packages are available through the grml-repository at -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:

    +

    Stable Debian packages are available through the grml-repository at +deb.grml.org and the latest +Git commits are available as Debian packages from +jenkins.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:

    git clone git://git.grml.org/grml-live
    @@ -1707,21 +1758,37 @@ debuild -us -uc
    -

    15. Source

    +

    15. Run grml-live directly from git

    +
    +

    In case you want to run grml-live directly from the git repository checkout +(after making sure all dependencies are installed), you should set +GRML_FAI_CONFIG so that a) it finds the according FAI configuration files and +b) does not use the config files of an possibly installed grml-live package. +Usage example:

    +
    +
    +
    # export GRML_FAI_CONFIG=$(pwd)/etc/grml/fai
    +# export SCRIPTS_DIRECTORY=$(pwd)/scripts
    +# ./grml-live -s sid -a amd64 -c GRMLBASE,GRML_FULL,AMD64
    +
    +
    +
    +
    +

    16. Source

    The source of grml-live is available at https://github.com/grml/grml-live/

    -

    16. Bugs

    +

    17. Bugs

    Please report feedback, bugreports and wishes to the Grml team!

    -

    17. Documentation

    +

    18. Documentation

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

    -

    18. Authors

    +

    19. Authors

    Michael Prokop <mika@grml.org>

    @@ -1750,7 +1817,8 @@ in different formats: