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]
Description
-A::
-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.
-a **ARCHITECTURE**::
directory. This directory is what's being referred to as ${GRML_FAI_CONFIG}
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::
Force execution and do not prompt for acknowledgment of configuration.
Specify place of the templates used for building the ISO. By default
(and if not manually specified) this is /usr/share/grml-live/templates/.
- -T **CHROOT_ARCHIVE**::
-
-Unpack chroot tar archive before starting. Most useful in combination with
--A and -b or -u.
-
-u::
Update existing chroot instead of rebuilding it from scratch. This option is
[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.
[[main-features]]
Main features of grml-live
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.
# deb-src http://deb.grml.org/ grml-testing main
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
# 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
# adjust grml-live configuration for our needs:
cat > /etc/grml/grml-live.local << EOF
that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz
for amd64 and I386.tar.gz for i386).
-[[autobuild]]
-How do I set up an autobuild environment?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you want to set up a system like link:http://daily.grml.org/[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
-
[[download]]
Download / install grml-live as a Debian package
------------------------------------------------