From: Michael Prokop Date: Thu, 19 Jan 2012 12:28:57 +0000 (+0100) Subject: grml-live: refresh docs from grml-live.git X-Git-Url: http://git.grml.org/?a=commitdiff_plain;ds=sidebyside;h=5f85692ed8abdbee4abf13724c11c92174e9306e;p=grml.org.git grml-live: refresh docs from grml-live.git --- diff --git a/grml-live/grml-live.epub b/grml-live/grml-live.epub index 21ba6b2..9820652 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 0522d59..040193a 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 3ab29e6..a3cd5ca 100644 --- a/grml-live/index.html +++ b/grml-live/index.html @@ -752,9 +752,10 @@ Linux Live system (CD/ISO)

2. Synopsis

-

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>] [ +

grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [ +-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]

@@ -808,8 +809,8 @@ base system again and again check out the base tar.

-Clean up output directories before attempting the build. Packs the chroot -into a tar archive, and removes chroot and ISO build directories before exiting. +Clean up all output directories before running the build process. After finishing, +clean up the Chroot target and Build target directories.

@@ -920,6 +921,15 @@ throughout this documentation.

+-e EXTRACT_ISO_NAME +
+
+

+The squashfs inside the specified ISO will be extracted and used as the chroot. +This option is useful for remastering, in combination with -A and -b or -u. +

+
+
-F
@@ -1047,15 +1057,6 @@ Specify place of the templates used for building the ISO. By default

--T CHROOT_ARCHIVE -
-
-

-Unpack chroot tar archive before starting. Most useful in combination with --A and -b or -u. -

-
-
-u
@@ -1120,12 +1121,10 @@ system:

Note -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. :) +If you have enough RAM, just run "mount -t tmpfs none /media/ramdisk" to get a +tmpfs ("RAMDISK"), and use /media/ramdisk as build and output directory - this +results in a very fast build process. Note that these files will be gone when +rebooting. @@ -1449,7 +1448,8 @@ version 2.6.38-grml[64] or 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 squeeze (6.0).

+

What we have: plain, original Debian squeeze (6.0) with debian-backports +enabled. (This is important for squashfs-tools.)

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

@@ -1474,21 +1474,6 @@ EOF
-
# adjust apt-pinning (only prefer squashfs stuff from grml):
-cat >> /etc/apt/preferences << EOF
-Package: *
-Pin: origin deb.grml.org
-Pin-Priority: 1
-
-
-
-
Package: squashfs-tools
-Pin: origin deb.grml.org
-Pin-Priority: 996
-EOF
-
-
-
# get keyring for apt:
 apt-get update
 apt-get --allow-unauthenticated install grml-debian-keyring
@@ -1498,14 +1483,14 @@ apt-get --allow-unauthenticated install grml-debian-keyring
# optionally(!) install basefile so we don't have to build basic
 # chroot from scratch, grab from http://daily.grml.org/
 # mkdir -p /etc/grml/fai/config/basefiles/
-# mv base.tgz /etc/grml/fai/config/basefiles/I386.tar.gz
-# mv base64.tgz /etc/grml/fai/config/basefiles/AMD64.tar.gz
+# mv I386.tar.gz /etc/grml/fai/config/basefiles/ +# mv AMD64.tar.gz /etc/grml/fai/config/basefiles/
# install relevant tools
-# please check out http://grml.org/grml-live/#current_state when encountering problems!
-apt-get -o APT::Install-Recommends=false install grml-live squashfs-tools
+apt-get install -t squeeze-backports squashfs-tools +apt-get --no-install-recommends install grml-live
@@ -1628,46 +1613,33 @@ dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb
-

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

-

First of all build the chroot system:

-
-
-
mkdir /tmp/nfsroot && cd /tmp/nfsroot
-debootstrap squeeze /tmp/nfsroot/ http://cdn.debian.net/debian
-tar zcf base.tgz ./
-
-

Then check out where your NFSROOT is located:

+

13.8. How do I create a base.tgz?

+

First of all create the chroot using debootstrap:

-
# grep '^NFSROOT' /etc/grml/fai/make-fai-nfsroot.conf
-NFSROOT=/grml/fai/nfsroot
+
BASECHROOT='/tmp/basefile'
+debootstrap squeeze "$BASECHROOT" http://cdn.debian.net/debian
+tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf base.tar.gz ./
-

So as /grml/fai/nfsroot is your NFSROOT place the file under -/grml/fai/nfsroot/live/filesystem.dir/var/tmp/:

-
-
-
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 if using -NFSROOT:

-
-
-
[...]
-Calling task_extrbase
-Unpacking Debian base archive
-Extracting /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
-Calling task_mirror
-[...]
-
-

or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:

+
+ + + +
+Tip +By default debootstrap builds a chroot matching the architecture of the running +host system. If you’re using an amd64 system and want to build an i386 base.tgz +then invoke debootstrap using the --arch i386 option. Disclaimer: building an +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 +debootstrap. Check out the output for something like:

[...]
-ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to
-/grml-live/grml-live_20071029.22138/grml_chroot//
+ftar: extracting //etc/grml/fai/config/basefiles///AMD64.tar.gz to /srv/grml64_testing/grml_chroot//
 [...]
@@ -1726,53 +1698,6 @@ tar zcf ../"${ARCH}".tar.gz * that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz for amd64 and I386.tar.gz for i386).

-
-

13.12. How do I set up an autobuild environment?

-

If you want to set up a system like daily.grml.org -the Debian package grml-live-buildd provides all you need to start. Start with -figuring out the cron job script /usr/share/grml-live/buildd/cronjob.sh.

-

If you want to automatically update the grml-live Debian package on your build -system based on the git tree of grml-live (so you get bleeding edge of -development which might is interesting for services like daily.grml.org) the -provided release_helper.sh script provides everything you need. Execute as root:

-
-
-
echo "deb file:/home/grml-live-git/grml-live.build-area/ ./" >> /etc/apt/sources.list.d/grml-live.list
-adduser --disabled-login --disabled-password grml-live-git
-
-

Execute visudo to update sudo configuration and add the following line:

-
-
-
grml-live-git ALL=NOPASSWD: /usr/bin/apt-get
-
-

Switch to user grml-live-git and configure the rest:

-
-
-
su - grml-live-git
-mkdir grml-live.build-area
-git clone git://git.grml.org/grml-live.git
-git config --global user.name "Grml-Live Git Autobuild"
-git config --global user.email "grml-live-git@$(hostname)"
-
-

Finally install a cron job (as user grml-live-git) like:

-
-
-
30 00 * * * cd /home/grml-live-git/grml-live.git/ && env AUTOBUILD=1 scripts/release_helper.sh >/home/grml-live-git/grml-live-build.log
-
-

Tip: To find out the build date of the installed grml-live package just execute:

-
-
-
% apt-cache policy grml-live | grep 'Installed.*autobuild'
- Installed: 0.13.1~autobuild1300450381
-
-

and run "date -ud @$STRING" where $STRING is the number behind the "autobuild", -like:

-
-
-
% date -ud @1300450081
-Fri Mar 18 12:08:01 UTC 2011
-
-
@@ -1834,7 +1759,7 @@ in different formats: