<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
<head>\r
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.6" />\r
+<meta name="generator" content="AsciiDoc 8.6.9" />\r
<title>grml-live(8)</title>\r
<style type="text/css">\r
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */\r
ul > li { color: #aaa; }\r
ul > li > * { color: black; }\r
\r
-pre {\r
+.monospaced, code, pre {\r
+ font-family: "Courier New", Courier, monospace;\r
+ font-size: inherit;\r
+ color: navy;\r
padding: 0;\r
margin: 0;\r
}\r
+pre {\r
+ white-space: pre-wrap;\r
+}\r
\r
#author {\r
color: #527bbd;\r
}\r
\r
div.imageblock div.content { padding-left: 0; }\r
-span.image img { border-style: none; }\r
+span.image img { border-style: none; vertical-align: text-bottom; }\r
a.image:visited { color: white; }\r
\r
dl {\r
margin-bottom: 0.1em;\r
}\r
\r
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
margin-top: 0;\r
margin-bottom: 0;\r
}\r
span.overline { text-decoration: overline; }\r
span.line-through { text-decoration: line-through; }\r
\r
+div.unbreakable { page-break-inside: avoid; }\r
+\r
\r
/*\r
* xhtml11 specific\r
*\r
* */\r
\r
-tt {\r
- font-family: monospace;\r
- font-size: inherit;\r
- color: navy;\r
-}\r
-\r
div.tableblock {\r
margin-top: 1.0em;\r
margin-bottom: 1.5em;\r
*\r
* */\r
\r
-.monospaced {\r
- font-family: monospace;\r
- font-size: inherit;\r
- color: navy;\r
-}\r
-\r
table.tableblock {\r
margin-top: 1.0em;\r
margin-bottom: 1.5em;\r
@media print {\r
body.manpage div#toc { display: none; }\r
}\r
+\r
+\r
</style>\r
<script type="text/javascript">\r
/*<![CDATA[*/\r
\r
function tocEntries(el, toclevels) {\r
var result = new Array;\r
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');\r
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');\r
// Function that scans the DOM tree for header elements (the DOM2\r
// nodeIterator API would be a better technique but not supported by all\r
// browsers).\r
var i;\r
for (i = 0; i < toc.childNodes.length; i++) {\r
var entry = toc.childNodes[i];\r
- if (entry.nodeName == 'div'\r
+ if (entry.nodeName.toLowerCase() == 'div'\r
&& entry.getAttribute("class")\r
&& entry.getAttribute("class").match(/^toclevel/))\r
tocEntriesToRemove.push(entry);\r
var entriesToRemove = [];\r
for (i = 0; i < noteholder.childNodes.length; i++) {\r
var entry = noteholder.childNodes[i];\r
- if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")\r
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
entriesToRemove.push(entry);\r
}\r
for (i = 0; i < entriesToRemove.length; i++) {\r
<div class="sect1">\r
<h2 id="_name">1. Name</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>grml-live - build framework based on FAI for generating a grml and Debian based\r
+<div class="paragraph"><p>grml-live - build framework based on FAI for generating a Grml and Debian based\r
Linux Live system (CD/ISO)</p></div>\r
</div>\r
</div>\r
<div class="sect1">\r
<h2 id="_synopsis">2. Synopsis</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [-g\r
-<grml_name>] [-i <iso_name> ] [-o <output_directory>] [-r <release_name>] [-s\r
-<suite>] [-t <template_directory>] [-v <version_number>] [-U <username>] [\r
--AbBFnNquVz]</p></div>\r
-<div class="admonitionblock">\r
-<table><tr>\r
-<td class="icon">\r
-<img src="./images/icons/caution.png" alt="Caution" />\r
-</td>\r
-<td class="content">Please check out <a href="#current_state">the <em>Current state of grml-live with squashfs-tools and kernel</em> section</a> for details about current state of involved\r
-tools before starting with grml-live or if you encounter any problems.</td>\r
-</tr></table>\r
-</div>\r
+<div class="paragraph"><p>grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [\r
+-e <extract_iso_name>] [-g <grml_name>] [-i <iso_name>] [\r
+-o <output_directory>] [-r <release_name>] [-s <suite>] [\r
+-t <template_directory>] [-v <version_number>] [-U <username>] [\r
+-AbBFnNqQuVz]</p></div>\r
</div>\r
</div>\r
<div class="sect1">\r
<h2 id="_description">3. Description</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>grml-live provides the build system for creating a grml and Debian based Linux\r
+<div class="paragraph"><p>grml-live provides the build system for creating a Grml and Debian based Linux\r
Live-CD. The build system is based on\r
<a href="http://fai-project.org/">FAI</a> (Fully Automatic\r
Installation). grml-live uses the "fai dirinstall" feature to generate a chroot\r
<img src="./images/icons/caution.png" alt="Caution" />\r
</td>\r
<td class="content">grml-live does <strong>not</strong> use /etc/fai for configuration but instead\r
-(unless overriden using the <em>'-D</em>' option). This ensures that it does not clash\r
+(unless overridden using the <em>'-D</em>' option). This ensures that it does not clash\r
with default FAI configuration and packages, so you can use grml-live and FAI\r
completely independent at the same time!</td>\r
</tr></table>\r
checkout mkdebmirror (see /usr/share/doc/grml-live/examples/mkdebmirror),\r
debmirror(1), reprepro(1) (see /usr/share/doc/grml-live/examples/reprepro/ for a\r
sample configuration), apt-cacher(1) and approx(8). To avoid downloading the\r
-base system again and again check out FAI’s NFSROOT (see FAQ of this document\r
-for details).</td>\r
+base system again and again check out <a href="#create-a-base-tgz">the base tar.gz feature</a>.</td>\r
</tr></table>\r
</div>\r
</div>\r
</dt>\r
<dd>\r
<p>\r
-Clean up output directories before attempting the build. Packs the chroot\r
-into a tar archive, and removes chroot and iso build directories before exiting.\r
+Clean up all output directories before running the build process. After finishing,\r
+clean up the Chroot target and Build target directories.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
<dd>\r
<p>\r
Build the ISO without touching the chroot at all. This option is useful if\r
-you modified anything that FAI or grml-live might adjust via grml’s FAI\r
+you modified anything that FAI or grml-live might adjust via Grml’s FAI\r
scripts. It’s like the <em>-b</em> option but even more advanced. Use only if you\r
really know that you do not want to update the chroot.\r
</p>\r
<p>\r
Specify the CLASSES to be used for building the ISO via FAI. By default only\r
the classes GRMLBASE, GRML_FULL and I386/AMD64 (depending on system\r
-architecture) are assumed, resulting in a small base system (being about ~180MB\r
-total ISO size). If using a non-I386 system (like AMD64) you should specify the\r
+architecture) are assumed, resulting in a base system of about 350MB\r
+total ISO size. If using a non-I386 system (like AMD64) you should specify the\r
appropriate architecture as well. Additionally you can specify a class providing\r
a grml-kernel (see <a href="#classes">the <em>CLASSES</em> section in this document</a> for\r
details about available classes). So instead of GRML_FULL you can also use\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
+-e <strong>EXTRACT_ISO_NAME</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+The squashfs inside the specified ISO will be extracted and used as the chroot.\r
+This option is useful for remastering, in combination with -A and -b or -u.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
-F\r
</dt>\r
<dd>\r
</dt>\r
<dd>\r
<p>\r
-Specify the Debian suite you want to use for your live-system. Defaults to\r
-"squeeze" (being current Debian/stable). Supported values are: etch, lenny,\r
-squeeze, sid. Debian "squeeze" requires a recent base.tgz\r
+Specify the Debian suite you want to use for your live-system. If unset defaults\r
+to "testing". Supported values are: stable, testing, unstable (or their\r
+corresponding release names like "wheezy"). Please be aware that recent Debian\r
+suites might require a recent base.tgz\r
debootstrap.\r
</p>\r
</dd>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
--T <strong>CHROOT_ARCHIVE</strong>\r
-</dt>\r
-<dd>\r
-<p>\r
-Unpack chroot tar archive before starting. Most useful in combination with\r
--A and -b or -u.\r
-</p>\r
-</dd>\r
-<dt class="hdlist1">\r
-u\r
</dt>\r
<dd>\r
<div class="sect1">\r
<h2 id="usage-examples">5. Usage examples</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>To get a small, Debian-stable and grml-based Live-CD using /grml/grml-live\r
+<div class="paragraph"><p>To get a Debian-stable and Grml-based Live-CD using /grml/grml-live\r
as build and output directory just run:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># grml-live</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>To get a small Debian-unstable and grml-small based Live-CD using\r
-/home/mika/grml-live as build and output directory just use:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt># grml-live -s sid -c GRMLBASE,GRML_SMALL,AMD64 -o /home/mika/grml-live</tt></pre>\r
+<pre><code># grml-live</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>To get a medium sized, Debian-unstable and grml-based Live-CD for amd64\r
-architecture using /grml/grml-live as build and output directory just run:</p></div>\r
+<div class="paragraph"><p>To get a 64bit Debian-testing and grml-small based Live-CD using /srv/grml-live\r
+as build and output directory use the following command line on your amd64\r
+system:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># grml-live -s sid -a amd64 -c GRMLBASE,GRML_FULL,AMD64</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>To get a small, Debian-unstable and grml-based Live-CD using /tmp as build and\r
-output directory and use grml_0.0-3.iso as ISO name (placed inside\r
-/tmp/grml_isos) just invoke:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt># grml-live -o /tmp -c GRMLBASE,GRML_SMALL,AMD64 -s sid -i grml_0.0-3.iso</tt></pre>\r
+<pre><code># grml-live -s testing -c GRMLBASE,GRML_SMALL,AMD64 -o /srv/grml-live</code></pre>\r
</div></div>\r
<div class="admonitionblock">\r
<table><tr>\r
<td class="icon">\r
<img src="./images/icons/note.png" alt="Note" />\r
</td>\r
-<td class="content">If you have about 700MB of free space inside /dev/shm (being a tmpfs, usually\r
-you should have >=1GB of RAM) just run "mount -o remount,suid,dev,rw /dev/shm"\r
-and use /dev/shm as build and output directory - resulting in very fast build\r
-process. But please be aware of the fact that rebooting your system will result\r
-in an empty /dev/shm, so please use another directory for $CHROOT_OUTPUT,\r
-$BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :)</td>\r
+<td class="content">If you have enough RAM, just run "mount -t tmpfs none /media/ramdisk" to get a\r
+tmpfs ("RAMDISK"), and use /media/ramdisk as build and output directory - this\r
+results in a very fast build process. Note that these files will be gone when\r
+rebooting.</td>\r
</tr></table>\r
</div>\r
</div>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
-create a grml-/Debian-based Linux Live-CD with one single command\r
+create a Grml-/Debian-based Linux Live-CD with one single command\r
</p>\r
</li>\r
<li>\r
native support of FAI features\r
</p>\r
</li>\r
-<li>\r
-<p>\r
-multi-arch support (work in progress)\r
-</p>\r
-</li>\r
</ul></div>\r
</div>\r
</div>\r
relevant for class GRMLBASE by default:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/\r
+<pre><code>${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/\r
${GRML_FAI_CONFIG}/config/debconf/GRMLBASE\r
${GRML_FAI_CONFIG}/config/class/GRMLBASE.var\r
${GRML_FAI_CONFIG}/config/hooks/instsoft.GRMLBASE\r
-${GRML_FAI_CONFIG}/config/package_config/GRMLBASE</tt></pre>\r
+${GRML_FAI_CONFIG}/config/package_config/GRMLBASE</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Take a look at the next section for information about the concept of those\r
files/directories.</p></div>\r
<div class="ulist"><ul>\r
<li>\r
<p>\r
-DEBORPHAN: get rid of all packages listed in output of Deborphan\r
+DEBORPHAN: get rid of all packages listed in output of deborphan\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+FRESHCLAM: execute freshclam (if it’s present) to update clamav definitions\r
+(increases resulting ISO size ~70MB). By default it’s skipped to avoid bigger\r
+ISO size.\r
</p>\r
</li>\r
<li>\r
</li>\r
<li>\r
<p>\r
-GRML_FULL: full featured grml, also known as the "normal", full grml as\r
-introduced in november 2011 (~350MB ISO size).\r
+GRML_FULL: full featured Grml, also known as the "normal", full grml as\r
+introduced in December 2011 (~350MB ISO size).\r
</p>\r
</li>\r
<li>\r
<p>\r
-GRML_MEDIUM: medium sized grml version, used to be known as grml-medium\r
-until november 2011 (~220MB ISO size).\r
+GRML_MEDIUM: medium sized Grml version, used to be known as grml-medium\r
+until December 2011 (~220MB ISO size).\r
</p>\r
</li>\r
<li>\r
<p>\r
-GRML_SMALL: minimum sized grml version, known as grml-small (~110MB ISO\r
+GRML_SMALL: minimum sized Grml version, known as grml-small (~110MB ISO\r
size).\r
</p>\r
</li>\r
<li>\r
<p>\r
GRML_XL: large size Grml version, used to be known as "full grml" until\r
-november 2011 (~700MB ISO size).\r
+December 2011 (~700MB ISO size).\r
</p>\r
</li>\r
<li>\r
provides documentation regarding configuration possibilities.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/usr/sbin/grml-live</tt></pre>\r
+<pre><code>/usr/sbin/grml-live</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Script for the main build process. Requires root permissions for execution.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/grml/grml-live.conf</tt></pre>\r
+<pre><code>/etc/grml/grml-live.conf</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Main configuration file for grml-live which should be considered as a reference\r
configuration file only. Please use /etc/grml/grml-live.local for local\r
configuration instead.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/grml/grml-live.local</tt></pre>\r
+<pre><code>/etc/grml/grml-live.local</code></pre>\r
</div></div>\r
<div class="paragraph"><p>All the local configuration should go to this file. This file overrides any\r
defaults of grml-live. Configurations via /etc/grml/grml-live.local are preferred\r
commandline.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/fai.conf</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/fai.conf</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Main configuration file for FAI which specifies where all the configuration\r
files and scripts for FAI/grml-live can be found. By default the configuration\r
file.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/make-fai-nfsroot.conf</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>This file is used by make-fai-nfsroot(8) only. Usually you don’t have to change\r
-anything inside this file. If you want to modify NFSROOT though you can adjust\r
-it there.</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/NFSROOT</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>This file specifies the package list for creating the NFSROOT.</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/apt/sources.list</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>This file specifies which mirrors should be considered for retrieving the Debian\r
-packages when creating the main chroot (including all the software you would\r
-like to see included). Important: this file should <strong>not</strong> be adjusted manually!\r
-Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or\r
-on-the-fly via grml-live then. If you want to generally adjust apt configuration</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/config/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>The main directory for configuration of FAI/grml-live. More details below.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/class/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/config/class/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>This directory contains files which specify main configuration variables for the\r
FAI classes.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/debconf/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/config/debconf/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>This directory provides the files for preseeding/configuration of debconf\r
through files.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/hooks/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/config/hooks/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>This directory provides files for customising the build process through hooks.\r
Hooks are user defined programs or scripts, which are called during the\r
installation process.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/package_config/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/config/package_config/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Directory with lists of software packages to be installed or removed. The\r
different classes describe what should find its way to your ISO. When running\r
reasonable package configuration.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/config/scripts/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/config/scripts/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Scripts for customising the ISO within the build process.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>${GRML_FAI_CONFIG}/live-initramfs/</tt></pre>\r
+<pre><code>${GRML_FAI_CONFIG}/live-initramfs/</code></pre>\r
</div></div>\r
<div class="paragraph"><p>This directory provides the files used for building the initramfs/initrd via\r
live-initramfs(8).</p></div>\r
<div class="sect1">\r
<h2 id="log-files">10. Available log files</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>grml-live itself logs to /var/log/grml-live.log. Unless you set PRESERVE_LOGFILE\r
-in your grml-live configuration the file is cleared on each new invocation of\r
-grml-live.</p></div>\r
-<div class="paragraph"><p>The FAI part of grml-live logs to /var/log/fai/$HOSTNAME/ - so the\r
-default being /var/log/fai/grml/.</p></div>\r
-<div class="paragraph"><p>If you are using the grml-live buildd you will find the logs of the grml-live\r
-run at /var/log/grml-buildd.log.</p></div>\r
-<div class="paragraph"><p>If you want to store build information in a database just install the\r
-grml-live-db Debian package. Further details available in the grml-live-db\r
-manpage.</p></div>\r
+<div class="paragraph"><p>Starting with grml-live version 0.17.0 you should find log files in a directory\r
+named <em>grml_logs</em> in the output directory (next to grml_isos, grml_chroot,…).</p></div>\r
+<div class="paragraph"><p>grml-live versions before 0.17.0 used to log into /var/log/grml-live.log\r
+and /var/log/fai/grml.</p></div>\r
</div>\r
</div>\r
<div class="sect1">\r
<li>\r
<p>\r
any Debian based system should be sufficient (if it doesn’t work it’s a bug,\r
-please send us a bug report then) [a usual\r
-<a href="http://grml.org/grml2hd/">grml2hd</a> harddisk installation (using grml or\r
-grml-medium) ships all you need]. Check out <a href="#deploy-on-debian">How do I deploy grml-live on a plain Debian installation</a> for details how to set up grml-live\r
+please send us a bug report then). Check out <a href="#deploy-on-debian">How do I deploy grml-live on a plain Debian installation</a> for details how to set up grml-live\r
on a plain, original Debian system.\r
</p>\r
</li>\r
<li>\r
<p>\r
fast network access for retrieving the Debian packages used for creating the\r
-chroot (check out "local mirror" and "NFSROOT" to workaround this problem as far\r
-as possible)\r
+chroot (check out "local mirror" to workaround this problem as far as possible)\r
</p>\r
</li>\r
</ul></div>\r
<h2 id="current_state">12. Current state of grml-live with squashfs-tools and kernel</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Use squashfs-tools >=4.2-1 (available from Grml repositories as well as from\r
-Debian/unstable) to build Grml (based) ISOs featuring kernel version\r
-2.6.38-grml[64].</p></div>\r
+Debian) to build Grml (based) ISOs featuring kernel version 2.6.38-grml[64] or\r
+newer.</p></div>\r
</div>\r
</div>\r
<div class="sect1">\r
<div class="sectionbody">\r
<div class="sect2">\r
<h3 id="deploy-on-debian">13.1. How do I deploy grml-live on a plain Debian installation?</h3>\r
-<div class="paragraph"><p>The easiest way to get a running grml-live setup is to install Grml or\r
-grml-medium using grml2hd (for example inside KVM, Virtualbox, VMware,… if you\r
-don’t want to run it on a physical system). Of course using grml-live on a\r
-plain, original Debian installation is supported as well. So there we go.</p></div>\r
-<div class="paragraph"><p>What we have: plain, original Debian Lenny (5.0).</p></div>\r
-<div class="paragraph"><p>What we want: build a grml-medium ISO based on Debian/squeeze for the amd64\r
-architecture using grml-live.</p></div>\r
-<div class="admonitionblock">\r
-<table><tr>\r
-<td class="icon">\r
-<img src="./images/icons/important.png" alt="Important" />\r
-</td>\r
-<td class="content">If you encounter any problems while booting the resulting ISO please be aware of\r
-<a href="#current_state">the <em>current state of grml-live with squashfs-tools and kernel</em> section</a>.</td>\r
-</tr></table>\r
-</div>\r
+<div class="paragraph"><p>The easiest way to get a running grml-live setup is to just use Grml.\r
+Of course using grml-live on a plain, original Debian installation is supported\r
+as well. So there we go.</p></div>\r
+<div class="paragraph"><p>What we have: plain, original Debian wheezy (7.x).</p></div>\r
+<div class="paragraph"><p>What we want: build a Grml ISO based on Debian/wheezy for the amd64 architecture\r
+using grml-live.</p></div>\r
<div class="sect3">\r
<h4 id="_instructions">13.1.1. Instructions</h4>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># adjust sources.list:\r
-cat >> /etc/apt/sources.list << EOF</tt></pre>\r
+<pre><code># adjust sources.list:\r
+cat >> /etc/apt/sources.list << EOF</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># grml stable repository:\r
+<pre><code># grml stable repository:\r
deb http://deb.grml.org/ grml-stable main\r
-# deb-src http://deb.grml.org/ grml-stable main</tt></pre>\r
+# deb-src http://deb.grml.org/ grml-stable main</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># grml testing/development repository:\r
+<pre><code># grml testing/development repository:\r
deb http://deb.grml.org/ grml-testing main\r
# deb-src http://deb.grml.org/ grml-testing main\r
-EOF</tt></pre>\r
+EOF</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># adjust apt-pinning (only prefer squashfs stuff from grml):\r
-cat >> /etc/apt/preferences << EOF\r
-Package: *\r
-Pin: origin deb.grml.org\r
-Pin-Priority: 1</tt></pre>\r
-</div></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>Package: squashfs-tools\r
-Pin: origin deb.grml.org\r
-Pin-Priority: 996\r
-EOF</tt></pre>\r
-</div></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt># get keyring for apt:\r
+<pre><code># get keyring for apt:\r
apt-get update\r
-apt-get --allow-unauthenticated install grml-debian-keyring</tt></pre>\r
+apt-get --allow-unauthenticated install grml-debian-keyring</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># optionally(!) install basefile so we don't have to build basic\r
+<pre><code># optionally(!) install basefile so we don't have to build basic\r
# chroot from scratch, grab from http://daily.grml.org/\r
# mkdir -p /etc/grml/fai/config/basefiles/\r
-# mv base.tgz /etc/grml/fai/config/basefiles/I386.tar.gz\r
-# mv base64.tgz /etc/grml/fai/config/basefiles/AMD64.tar.gz</tt></pre>\r
+# mv I386.tar.gz /etc/grml/fai/config/basefiles/\r
+# mv AMD64.tar.gz /etc/grml/fai/config/basefiles/</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># install relevant tools\r
-# please check out http://grml.org/grml-live/#current_state when encountering problems!\r
-apt-get -o APT::Install-Recommends=false install grml-live squashfs-tools</tt></pre>\r
+<pre><code># install relevant tools\r
+apt-get --no-install-recommends install grml-live</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># adjust grml-live configuration for our needs:\r
+<pre><code># adjust grml-live configuration for our needs:\r
cat > /etc/grml/grml-live.local << EOF\r
## want a faster build process and don't need smaller ISOs?\r
## if so use zlib compression\r
# SQUASHFS_OPTIONS="-comp gzip -b 256k"\r
## want to use a specific squashfs binary?\r
# SQUASHFS_BINARY='/usr/bin/mksquashfs'\r
-# install local files into the chroot\r
-CHROOT_INSTALL="/etc/grml/fai/chroot_install"\r
+## install local files into the chroot\r
+# CHROOT_INSTALL="/etc/grml/fai/chroot_install"\r
## adjust if necessary (defaults to /grml/grml-live):\r
## OUTPUT="/srv/grml-live"\r
-FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/"\r
-ARCH="i386"\r
+FAI_DEBOOTSTRAP="wheezy http://http.debian.net/debian/"\r
+# ARCH="amd64"\r
CLASSES="GRMLBASE,GRML_FULL,AMD64"\r
-# PRESERVE_LOGFILE='1'\r
-# ZERO_FAI_LOGFILE='1'\r
-GRML_LIVE_SOURCES="\r
-deb http://deb.grml.org/ grml-stable main\r
-deb http://deb.grml.org/ grml-testing main\r
-deb http://cdn.debian.net/debian squeeze main contrib non-free\r
-"\r
-EOF</tt></pre>\r
+EOF</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># just optional(!) - upgrade FAI to latest available version:\r
-cat >> /etc/apt/sources.list << EOF\r
-# fai:\r
- deb http://fai-project.org/download lenny koeln\r
-EOF</tt></pre>\r
+<pre><code># just optional(!) - upgrade FAI to latest available version:\r
+cat >> /etc/apt/sources.list.d/fai.list << EOF\r
+deb http://jenkins.grml.org/debian fai main\r
+deb-src http://jenkins.grml.org/debian fai main\r
+EOF</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># get gpg key of FAI repos and install current FAI version:\r
-gpg -a --recv-keys AB9B66FD; gpg -a --export AB9B66FD | apt-key add -\r
+<pre><code># get gpg key of FAI repos and install current FAI version:\r
+wget -O - http://jenkins.grml.org/debian/C525F56752D4A654.asc | sudo apt-key add -\r
apt-get update\r
-apt-get install fai-client fai-server fai-doc</tt></pre>\r
+apt-get install fai-client fai-server fai-doc</code></pre>\r
</div></div>\r
<div class="paragraph"><p>That’s it. Now invoking <em>grml-live -V</em> should build the ISO. If everything\r
worked as expected the last line of the shell output should look like:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>[*] Successfully finished execution of grml-live [running 687 seconds]</tt></pre>\r
+<pre><code>[*] Successfully finished execution of grml-live [running 687 seconds]</code></pre>\r
</div></div>\r
<div class="paragraph"><p>and the ISO can be found inside /grml-live/grml-live/grml_isos/ then.</p></div>\r
</div>\r
</div>\r
<div class="sect2">\r
<h3 id="how-to-debug">13.3. I’ve problems with the build process. How to start debugging?</h3>\r
-<div class="paragraph"><p>Check out the logs inside /var/log/fai/… If you think it’s a bug in grml-live\r
-send a copy of your config, logs and the commandline with a short problem\r
-description to <<a href="mailto:mika@grml.org">mika@grml.org</a>>:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt># history | grep grml-live > /etc/grml/grml_live.cmdline\r
-# tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \\r
- /etc/grml/grml_live.cmdline /etc/grml/grml-buildd.conf \\r
- /var/log/fai /etc/grml/fai\r
--> finally mail grml_live_problem.tar.gz to <mika@grml.org></tt></pre>\r
-</div></div>\r
+<div class="paragraph"><p>Check out the logs inside the directory <em>grml_logs</em> next to your grml_chroot,\r
+grml_isos,… directories.</p></div>\r
<div class="paragraph"><p>If you need help with grml-live or would like to see new features as part of\r
grml-live you can get commercial support via\r
<a href="http://grml-solutions.com/">Grml Solutions</a>.</p></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="lzma-vs-zlib">13.4. How much is the difference between LZMA and ZLIB compression?</h3>\r
-<div class="paragraph"><p>ISO size (bs = blocksize):</p></div>\r
-<div class="tableblock">\r
-<table rules="all"\r
-width="45%"\r
-frame="border"\r
-cellspacing="0" cellpadding="4">\r
-<col width="42%" />\r
-<col width="28%" />\r
-<col width="28%" />\r
-<tbody>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">ISO</p></td>\r
-<td align="center" valign="top"><p class="table">LZMA (256kB bs)</p></td>\r
-<td align="center" valign="top"><p class="table">ZLIB</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml_sid</p></td>\r
-<td align="center" valign="top"><p class="table">666M</p></td>\r
-<td align="center" valign="top"><p class="table">771M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml_squeeze</p></td>\r
-<td align="center" valign="top"><p class="table">659M</p></td>\r
-<td align="center" valign="top"><p class="table">761M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml_lenny</p></td>\r
-<td align="center" valign="top"><p class="table">624M</p></td>\r
-<td align="center" valign="top"><p class="table">723M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64_sid</p></td>\r
-<td align="center" valign="top"><p class="table">677M</p></td>\r
-<td align="center" valign="top"><p class="table">791M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64_squeeze</p></td>\r
-<td align="center" valign="top"><p class="table">671M</p></td>\r
-<td align="center" valign="top"><p class="table">785M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64_lenny</p></td>\r
-<td align="center" valign="top"><p class="table">639M</p></td>\r
-<td align="center" valign="top"><p class="table">745M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml-medium_sid</p></td>\r
-<td align="center" valign="top"><p class="table">208M</p></td>\r
-<td align="center" valign="top"><p class="table">236M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml-medium_squeeze</p></td>\r
-<td align="center" valign="top"><p class="table">206M</p></td>\r
-<td align="center" valign="top"><p class="table">234M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml-medium_lenny</p></td>\r
-<td align="center" valign="top"><p class="table">193M</p></td>\r
-<td align="center" valign="top"><p class="table">220M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64-medium_sid</p></td>\r
-<td align="center" valign="top"><p class="table">213M</p></td>\r
-<td align="center" valign="top"><p class="table">245M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64-medium_squeeze</p></td>\r
-<td align="center" valign="top"><p class="table">213M</p></td>\r
-<td align="center" valign="top"><p class="table">244M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64-medium_lenny</p></td>\r
-<td align="center" valign="top"><p class="table">201M</p></td>\r
-<td align="center" valign="top"><p class="table">231M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml-small_sid</p></td>\r
-<td align="center" valign="top"><p class="table">102M</p></td>\r
-<td align="center" valign="top"><p class="table">118M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml-small_squeeze</p></td>\r
-<td align="center" valign="top"><p class="table">101M</p></td>\r
-<td align="center" valign="top"><p class="table">117M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml-small_lenny</p></td>\r
-<td align="center" valign="top"><p class="table">97M</p></td>\r
-<td align="center" valign="top"><p class="table">112M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64-small_sid</p></td>\r
-<td align="center" valign="top"><p class="table">103M</p></td>\r
-<td align="center" valign="top"><p class="table">120M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64-small_squeeze</p></td>\r
-<td align="center" valign="top"><p class="table">103M</p></td>\r
-<td align="center" valign="top"><p class="table">120M</p></td>\r
-</tr>\r
-<tr>\r
-<td align="left" valign="top"><p class="table">grml64-small_lenny</p></td>\r
-<td align="center" valign="top"><p class="table">99M</p></td>\r
-<td align="center" valign="top"><p class="table">116M</p></td>\r
-</tr>\r
-</tbody>\r
-</table>\r
-</div>\r
-<div class="paragraph"><p>Build time of grml-medium’s squashfs file (depends on your system, though just\r
-to get the ratio between the different options):</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-10 minutes and 4 seconds with LZMA default blocksize (128k)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-7 minutes 27 seconds with LZMA and blocksize 256k\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-6 minutes and 8 seconds with LZMA blocksize 512k\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-1 minute and 40 seconds with ZLIB\r
-</p>\r
-</li>\r
-</ul></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="install-local-files">13.5. How do I install further files into the chroot/ISO?</h3>\r
+<h3 id="install-local-files">13.4. How do I install further files into the chroot/ISO?</h3>\r
<div class="paragraph"><p>Just point the configuration variable CHROOT_INSTALL to the directory which\r
provides the files you would like to install. Note that the files are installed\r
under <em>/</em> in the chroot - so you have to create the rootfs structure on your\r
own. Usage example:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>echo "CHROOT_INSTALL=\$GRML_FAI_CONFIG/chroot_install" >> /etc/grml/grml-live.local\r
+<pre><code>echo "CHROOT_INSTALL=\$GRML_FAI_CONFIG/chroot_install" >> /etc/grml/grml-live.local\r
mkdir -p /etc/grml/fai/chroot_install/usr/src/\r
wget example.org/foo.tar.gz\r
mv foo.tar.gz /etc/grml/fai/chroot_install/usr/src/\r
-grml-live ...</tt></pre>\r
+grml-live ...</code></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="local-debian-mirror">13.6. Can I use my own (local) Debian mirror?</h3>\r
+<h3 id="local-debian-mirror">13.5. Can I use my own (local) Debian mirror?</h3>\r
<div class="paragraph"><p>Yes. Set up an according sources.list configuration as class file in\r
-FAI_DEBOOTSTRAP (if not already using NFSROOT’s base.tgz) inside\r
+FAI_DEBOOTSTRAP (if not already using a base.tgz) inside\r
/etc/grml/grml-live.conf[.local]. If you’re setting up your own class file don’t\r
forget to include the class name in the class list (grml-live -c …).</p></div>\r
<div class="paragraph"><p>If you want to use a local (for example NFS mount) mirror additionally then\r
<div class="paragraph"><p>If you want to use a HTTP Proxy (like apt-cacher-ng), set APT_PROXY. Example:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>APT_PROXY="http://localhost:3142/"</tt></pre>\r
+<pre><code>APT_PROXY="http://localhost:3142/"</code></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="add-additional-debian-packages">13.7. How do I add additional Debian package(s) to my CD/ISO?</h3>\r
+<h3 id="add-additional-debian-packages">13.6. How do I add additional Debian package(s) to my CD/ISO?</h3>\r
<div class="paragraph"><p>Just create a new class (using the package_config directory):</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># cat > /etc/grml/fai/config/package_config/MIKA << EOF\r
-PACKAGES aptitude</tt></pre>\r
+<pre><code># cat > /etc/grml/fai/config/package_config/MIKA << EOF\r
+PACKAGES aptitude</code></pre>\r
</div></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>vim\r
+<pre><code>vim\r
another_name_of_a_debian_package\r
and_another_one\r
-EOF</tt></pre>\r
+EOF</code></pre>\r
</div></div>\r
<div class="paragraph"><p>and specify it when invoking grml-live then:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># grml-live -c GRMLBASE,GRML_SMALL,AMD64,MIKA</tt></pre>\r
+<pre><code># grml-live -c GRMLBASE,GRML_SMALL,AMD64,MIKA</code></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
-<h3 id="reset-grml-live-configuration">13.8. I fscked up my grml-live configuration. How do I reset it to the defaults?</h3>\r
+<h3 id="reset-grml-live-configuration">13.7. I fscked up my grml-live configuration. How do I reset it to the defaults?</h3>\r
<div class="paragraph"><p>Notice: this deletes all your grml-live configuration files. If that’s really\r
what you are searching for just run:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>rm -rf /etc/grml/fai /etc/grml/grml-live.conf\r
-dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb</tt></pre>\r
+<pre><code>rm -rf /etc/grml/fai /etc/grml/grml-live.conf\r
+dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb</code></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="create-a-base-tgz">13.8. How do I create a base.tgz?</h3>\r
+<div class="paragraph"><p>First of all create the chroot using debootstrap:</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>BASECHROOT='/tmp/basefile'\r
+debootstrap wheezy "$BASECHROOT" http://http.debian.net/debian\r
+tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf base.tar.gz ./</code></pre>\r
</div></div>\r
<div class="admonitionblock">\r
<table><tr>\r
<td class="icon">\r
-<img src="./images/icons/note.png" alt="Note" />\r
+<img src="./images/icons/tip.png" alt="Tip" />\r
</td>\r
-<td class="content">If you don’t control your /etc using a version control system (VCS) yet it’s a\r
-good chance to start using it now. Check out\r
-<a href="http://michael-prokop.at/blog/2007/03/14/maintain-etc-with-mercurial-on-debian/">http://michael-prokop.at/blog/2007/03/14/maintain-etc-with-mercurial-on-debian/</a>\r
-for more details how to maintain /etc using the mercurial VCS.</td>\r
+<td class="content">By default debootstrap builds a chroot matching the architecture of the running\r
+host system. If you’re using an amd64 system and want to build an i386 base.tgz\r
+then invoke debootstrap using the <em>--arch i386</em> option. Disclaimer: building an\r
+AMD64 base.tgz won’t work if you are using a 32bit kernel system of course.</td>\r
</tr></table>\r
</div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="create-a-base-tgz">13.9. How do I create a base.tgz for use as NFSROOT?</h3>\r
-<div class="paragraph"><p>First of all build the chroot system:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>mkdir /tmp/nfsroot && cd /tmp/nfsroot\r
-debootstrap squeeze /tmp/nfsroot/ http://cdn.debian.net/debian\r
-tar zcf base.tgz ./</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Then check out where your NFSROOT is located:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt># grep '^NFSROOT' /etc/grml/fai/make-fai-nfsroot.conf\r
-NFSROOT=/grml/fai/nfsroot</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>So as /grml/fai/nfsroot is your NFSROOT place the file under\r
-/grml/fai/nfsroot/live/filesystem.dir/var/tmp/:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>mv base.tgz /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>or even better use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz instead.\r
-Use I386 as $CLASSNAME for i386 builds and AMD64 for amd64 builds.</p></div>\r
-<div class="paragraph"><p>Now running "grml-live …" will use this file as main system instead of\r
-executing debootstrap. Check out the output for the following lines if using\r
-NFSROOT:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>[...]\r
-Calling task_extrbase\r
-Unpacking Debian base archive\r
-Extracting /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz\r
-Calling task_mirror\r
-[...]</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:</p></div>\r
+<div class="paragraph"><p>Then move the base.tar.gz to /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz.\r
+Use e.g. I386 as $CLASSNAME for i386 chroots and AMD64 for amd64 chroots.</p></div>\r
+<div class="paragraph"><p>Now executing grml-live should use this file as base system instead of executing\r
+debootstrap. Check out the output for something like:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>[...]\r
-ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to\r
-/grml-live/grml-live_20071029.22138/grml_chroot//\r
-[...]</tt></pre>\r
+<pre><code>[...]\r
+ftar: extracting //etc/grml/fai/config/basefiles///AMD64.tar.gz to /srv/grml64_testing/grml_chroot//\r
+[...]</code></pre>\r
</div></div>\r
<div class="admonitionblock">\r
<table><tr>\r
<td class="content">Existing base.tgz can be found at <a href="http://daily.grml.org/">http://daily.grml.org/</a></td>\r
</tr></table>\r
</div>\r
-<div class="paragraph" id="apt-cacher"><p>Set up apt-cacher-ng for use with grml-live</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>Make sure /etc/grml/grml-live.local provides according APT_PROXY and\r
-FAI_DEBOOTSTRAP:\r
-\r
- # cat /etc/grml/grml-live.local\r
- [...]\r
- APT_PROXY="http://localhost:3142/"\r
- [...]\r
- FAI_DEBOOTSTRAP="squeeze http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free"\r
-\r
-Make sure apt-cacher-ng is running ('/etc/init.d/apt-cacher-ng restart').\r
-That's it. All downloaded files will be cached in /var/cache/apt-cacher-ng then.\r
-\r
-[[approx]]\r
-Set up approx for use with grml-live</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and\r
+</div>\r
+<div class="sect2">\r
+<h3 id="apt-cacher">13.9. Set up apt-cacher-ng for use with grml-live</h3>\r
+<div class="paragraph"><p>Make sure /etc/grml/grml-live.local provides according APT_PROXY and\r
FAI_DEBOOTSTRAP:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt># cat /etc/grml/grml-live.conf\r
+<pre><code># cat /etc/grml/grml-live.local\r
[...]\r
-GRML_LIVE_SOURCES="\r
-deb http://localhost:9999/grml grml-stable main\r
-deb http://localhost:9999/grml grml-testing main\r
-deb http://localhost:9999/debian squeeze main contrib non-free\r
-"\r
-FAI_DEBOOTSTRAP="squeeze http://localhost:9999/debian"</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Configure approx:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt># cat /etc/approx/approx.conf\r
+APT_PROXY="http://localhost:3142/"\r
[...]\r
-debian http://ftp.at.debian.org/debian\r
-grml http://deb.grml.org/</tt></pre>\r
+FAI_DEBOOTSTRAP="wheezy http://localhost:3142/http.debian.net/debian wheezy main contrib non-free"</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>Don’t forget to restart approx (/etc/init.d/approx restart). That’s it.\r
-All downloaded files will be cached in /var/cache/approx now.</p></div>\r
+<div class="paragraph"><p>Make sure apt-cacher-ng is running (<em>/etc/init.d/apt-cacher-ng restart</em>).\r
+That’s it. All downloaded files will be cached in /var/cache/apt-cacher-ng then.</p></div>\r
</div>\r
<div class="sect2">\r
<h3 id="revert_manifold">13.10. How do I revert the manifold feature from an ISO?</h3>\r
revert the manifold feature running:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>% dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc</tt></pre>\r
+<pre><code>% dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc</code></pre>\r
</div></div>\r
<div class="paragraph"><p>To switch from manifold to isohybrid mode (an alternative approach provided by\r
syslinux) then just execute:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>% isohybrid grml.iso</tt></pre>\r
+<pre><code>% isohybrid grml.iso</code></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p>Execute the following commands (requires root):</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>ARCH='amd64' # replace with i386 if necessary\r
-SUITE='squeeze' # using the current stable release should always work\r
+<pre><code>ARCH='amd64' # replace with i386 if necessary\r
+SUITE='wheezy' # using the current stable release should always work\r
debootstrap --arch "$ARCH" --exclude=info,tasksel,tasksel-data "$SUITE" "$ARCH" http://debian.netcologne.de/debian\r
cd "$ARCH"\r
rm var/cache/apt/archives/*.deb\r
-tar zcf ../"${ARCH}".tar.gz *</tt></pre>\r
+tar zcf ../"${ARCH}".tar.gz *</code></pre>\r
</div></div>\r
<div class="paragraph"><p>And finally place the generated tarball in /etc/grml/fai/config/basefiles/ (note\r
that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz\r
for amd64 and I386.tar.gz for i386).</p></div>\r
</div>\r
-<div class="sect2">\r
-<h3 id="autobuild">13.12. How do I set up an autobuild environment?</h3>\r
-<div class="paragraph"><p>If you want to set up a system like <a href="http://daily.grml.org/">daily.grml.org</a>\r
-the Debian package grml-live-buildd provides all you need to start. Start with\r
-figuring out the cron job script /usr/share/grml-live/buildd/cronjob.sh.</p></div>\r
-<div class="paragraph"><p>If you want to automatically update the grml-live Debian package on your build\r
-system based on the git tree of grml-live (so you get bleeding edge of\r
-development which might is interesting for services like daily.grml.org) the\r
-provided release_helper.sh script provides everything you need. Execute as root:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>echo "deb file:/home/grml-live-git/grml-live.build-area/ ./" >> /etc/apt/sources.list.d/grml-live.list\r
-adduser --disabled-login --disabled-password grml-live-git</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Execute <em>visudo</em> to update sudo configuration and add the following line:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>grml-live-git ALL=NOPASSWD: /usr/bin/apt-get</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Switch to user grml-live-git and configure the rest:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>su - grml-live-git\r
-mkdir grml-live.build-area\r
-git clone git://git.grml.org/grml-live.git\r
-git config --global user.name "Grml-Live Git Autobuild"\r
-git config --global user.email "grml-live-git@$(hostname)"</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Finally install a cron job (as user grml-live-git) like:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>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</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Tip: To find out the build date of the installed grml-live package just execute:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>% apt-cache policy grml-live | grep 'Installed.*autobuild'\r
- Installed: 0.13.1~autobuild1300450381</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>and run "date -ud @$STRING" where $STRING is the number behind the "autobuild",\r
-like:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>% date -ud @1300450081\r
-Fri Mar 18 12:08:01 UTC 2011</tt></pre>\r
-</div></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="question">13.13. I’ve a question which isn’t answered by this document</h3>\r
-<div class="paragraph"><p>Don’t hesitate to contact the author: <<a href="mailto:mika@grml.org">mika@grml.org</a>></p></div>\r
-</div>\r
</div>\r
</div>\r
<div class="sect1">\r
current development tree), just execute:</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>git clone git://git.grml.org/grml-live\r
+<pre><code>git clone git://git.grml.org/grml-live\r
cd grml-live\r
-debuild -us -uc</tt></pre>\r
+debuild -us -uc</code></pre>\r
</div></div>\r
</div>\r
</div>\r
<h2 id="source">15. Source</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>The source of grml-live is available at\r
-<a href="http://git.grml.org/?p=grml-live.git">http://git.grml.org/?p=grml-live.git</a></p></div>\r
-</div>\r
-</div>\r
-<div class="sect1">\r
-<h2 id="todo-list">16. TODO list</h2>\r
-<div class="sectionbody">\r
-<div class="paragraph"><p>Check out the <a href="http://git.grml.org/?p=grml-live.git;a=blob;f=TODO;hb=HEAD">TODO file</a>.</p></div>\r
+<a href="https://github.com/grml/grml-live/">https://github.com/grml/grml-live/</a></p></div>\r
</div>\r
</div>\r
<div class="sect1">\r
-<h2 id="bugs">17. Bugs</h2>\r
+<h2 id="bugs">16. Bugs</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Please report feedback, <a href="http://grml.org/bugs/">bugreports</a> and wishes\r
-<a href="http://grml.org/contact/">to the grml-team</a>!</p></div>\r
+<a href="http://grml.org/contact/">to the Grml team</a>!</p></div>\r
</div>\r
</div>\r
<div class="sect1">\r
-<h2 id="documentation">18. Documentation</h2>\r
+<h2 id="documentation">17. Documentation</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>The most recent grml-live documentation is available online at\r
<a href="http://grml.org/grml-live/">http://grml.org/grml-live/</a> and for offline reading also available\r
</div>\r
</div>\r
<div class="sect1">\r
-<h2 id="authors">19. Authors</h2>\r
+<h2 id="authors">18. Authors</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Michael Prokop <<a href="mailto:mika@grml.org">mika@grml.org</a>></p></div>\r
</div>\r
<div id="footnotes"><hr /></div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 2011-12-10 01:16:51 CET\r
+Last updated 2013-12-11 11:53:34 CET\r
</div>\r
</div>\r
</body>\r