Update grml-live docs to latest git version of grml-live.git
authorMichael Prokop <mika@grml.org>
Mon, 15 Feb 2016 21:23:44 +0000 (22:23 +0100)
committerMichael Prokop <mika@grml.org>
Mon, 15 Feb 2016 21:24:14 +0000 (22:24 +0100)
As of git commit 5c8e5c9e2

grml-live/grml-live.epub
grml-live/grml-live.pdf
grml-live/index.html

index ff51d6c..73eae44 100644 (file)
Binary files a/grml-live/grml-live.epub and b/grml-live/grml-live.epub differ
index 36eca9a..68914d6 100644 (file)
Binary files a/grml-live/grml-live.pdf and b/grml-live/grml-live.pdf differ
index 6e6d4ef..f01c64b 100644 (file)
@@ -754,7 +754,7 @@ Linux Live system (CD/ISO)</p></div>
 -e &lt;extract_iso_name&gt;] [-g &lt;grml_name&gt;] [-i &lt;iso_name&gt;] [\r
 -o &lt;output_directory&gt;] [-r &lt;release_name&gt;] [-s &lt;suite&gt;] [\r
 -t &lt;template_directory&gt;] [-v &lt;version_number&gt;] [-U &lt;username&gt;] [\r
--AbBFnNqQuVz]</p></div>\r
+-w &lt;date&gt;] [-AbBFnNqQuVz]</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -1041,7 +1041,7 @@ Specify name of the release.
 <p>\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
+corresponding release names like "jessie"). Please be aware that recent Debian\r
 suites might require a recent base.tgz\r
 debootstrap.\r
 </p>\r
@@ -1089,6 +1089,26 @@ Increase verbosity in the build process.
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
+-w <strong>DATE</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+The wayback machine. Build the system using Debian archives from the specified\r
+date.  Valid date formats are yyyymmddThhmmssZ or simply yyyymmdd.  To learn\r
+which snapshots exist, i.e. which date strings are valid, simply browse the\r
+lists on <a href="http://snapshot.debian.org/">http://snapshot.debian.org/</a>.  If there is no import at the exact time\r
+you specified you will get the latest available timestamp which is before the\r
+time you specified.\r
+This option is useful especially for release and debugging builds - for example\r
+if you know that the Debian archive was in a good state on a specific date but\r
+you want to build it on another day in the future, where the archive might not\r
+be as needed anymore. Please be aware that this is restricted to the plain\r
+Debian repositories only, as referred to in /etc/apt/sources.list.d/debian.list\r
+(so neither the Grml repositories nor any further custom ones are affected by\r
+the wayback machine).\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
 -z\r
 </dt>\r
 <dd>\r
@@ -1171,7 +1191,7 @@ losing the simplicity in the build process.</p></div>
 recommended to <strong>always</strong> use the class GRMLBASE when building an ISO using\r
 grml-live, as well as the architecture dependent class which provides the kernel\r
 (being <em>I386</em> for x86_32 and <em>AMD64</em> for x86_64) and a GRML_* class (like\r
-GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are\r
+GRML_SMALL or GRML_FULL). The following files and directories are\r
 relevant for class GRMLBASE by default:</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
@@ -1222,29 +1242,17 @@ use this class.
 <li>\r
 <p>\r
 GRML_FULL: full featured Grml, also known as the "normal", full grml as\r
-introduced in December 2011 (~350MB ISO size).\r
+introduced in December 2011 (~460MB 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 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 (~230MB 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
-December 2011 (~700MB ISO size).\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 LATEX: LaTeX(-related) packages like auctex, texlive,&#8230;\r
 (which used to be shipped by grml before the LaTeX removal)\r
 </p>\r
@@ -1428,9 +1436,8 @@ chroot (check out "local mirror" to workaround this problem as far as possible)
 <div class="sect1">\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 &gt;=4.2-1 (available from Grml repositories as well as from\r
-Debian) to build Grml (based) ISOs featuring kernel version 2.6.38-grml[64] or\r
-newer.</p></div>\r
+<div class="paragraph"><p>Use squashfs-tools &gt;=4.2-1 to build Grml (based) ISOs featuring kernel version\r
+2.6.38-grml[64] or newer.</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -1441,8 +1448,8 @@ newer.</p></div>
 <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
+<div class="paragraph"><p>What we have: plain, original Debian jessie (8.x).</p></div>\r
+<div class="paragraph"><p>What we want: build a Grml ISO based on Debian/jessie for the amd64 architecture\r
 using grml-live.</p></div>\r
 <div class="sect3">\r
 <h4 id="_instructions">13.1.1. Instructions</h4>\r
@@ -1496,7 +1503,7 @@ cat &gt; /etc/grml/grml-live.local &lt;&lt; EOF
 # CHROOT_INSTALL="/etc/grml/fai/chroot_install"\r
 ## adjust if necessary (defaults to /grml/grml-live):\r
 ## OUTPUT="/srv/grml-live"\r
-FAI_DEBOOTSTRAP="wheezy http://http.debian.net/debian/"\r
+FAI_DEBOOTSTRAP="jessie http://ftp.debian.org/debian/"\r
 # ARCH="amd64"\r
 CLASSES="GRMLBASE,GRML_FULL,AMD64"\r
 EOF</code></pre>\r
@@ -1604,13 +1611,45 @@ dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb</code></
 </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
+<h3 id="apt-cacher">13.8. 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><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
+<pre><code># cat /etc/grml/grml-live.local\r
+[...]\r
+APT_PROXY="http://localhost:3142/"\r
+[...]\r
+FAI_DEBOOTSTRAP="jessie http://localhost:3142/ftp.debian.org/debian jessie main contrib non-free"</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>Make sure apt-cacher-ng is running (<em>/etc/init.d/apt-cacher-ng restart</em>).\r
+That&#8217;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.9. How do I revert the manifold feature from an ISO?</h3>\r
+<div class="paragraph"><p>The so called manifold feature Grml ISOs use by default allows one to use the same\r
+ISO for CD boot and USB boot. If you notice any problems when booting just\r
+revert the manifold feature running:</p></div>\r
+<div class="literalblock">\r
+<div class="content">\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><code>% isohybrid grml.iso</code></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="create-a-base-tgz">13.10. How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz)</h3>\r
+<div class="paragraph" id="basetgz"><p>First of all create the chroot using debootstrap (requires root):</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>BASECHROOT='/tmp/basefile'  # path where the chroot gets generated\r
+SUITE='jessie'              # using the current stable release should always work\r
+debootstrap --exclude=info,tasksel,tasksel-data "$SUITE" "$BASECHROOT" http://ftp.debian.org/debian\r
+tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf "${SUITE}".tar.gz ./</code></pre>\r
 </div></div>\r
 <div class="admonitionblock">\r
 <table><tr>\r
@@ -1623,9 +1662,10 @@ then invoke debootstrap using the <em>--arch i386</em> option. Disclaimer: build
 AMD64 base.tgz won&#8217;t work if you are using a 32bit kernel system of course.</td>\r
 </tr></table>\r
 </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
+<div class="paragraph"><p>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: e.g.\r
+AMD64.tar.gz for amd64 and I386.tar.gz for i386).</p></div>\r
+<div class="paragraph"><p>Then 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
@@ -1633,71 +1673,82 @@ debootstrap. Check out the output for something like:</p></div>
 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="icon">\r
-<img src="./images/icons/tip.png" alt="Tip" />\r
-</td>\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>\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
+<h3 id="localrepos">13.11. How to use your own local repository</h3>\r
+<div class="paragraph"><p>Let&#8217;s assume you have Debian package(s) in your filesystem inside\r
+<code>/home/foobar/local-packages</code> and want to provide them to your grml-live build.\r
+This can be achieved either 1) through a bind mount (using the MIRROR_DIRECTORY\r
+configuration) or 2) by serving a repository via HTTP.</p></div>\r
+<div class="sect3">\r
+<h4 id="_serving_via_bind_mount_mirror_directory">13.11.1. Serving via bind mount / MIRROR_DIRECTORY</h4>\r
+<div class="paragraph"><p>Make sure to create an according sources.list configuration file, e.g. using\r
+your own class name <code>CUSTOM</code>:</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
-<pre><code># cat /etc/grml/grml-live.local\r
-[...]\r
-APT_PROXY="http://localhost:3142/"\r
-[...]\r
-FAI_DEBOOTSTRAP="wheezy http://localhost:3142/http.debian.net/debian wheezy main contrib non-free"</code></pre>\r
+<pre><code># cat &gt; /etc/grml/fai/config/files/etc/apt/sources.list.d/local-packages.list/CUSTOM &lt;&lt; EOF\r
+deb file:///home/foobar/local-packages ./\r
+EOF</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Make sure apt-cacher-ng is running (<em>/etc/init.d/apt-cacher-ng restart</em>).\r
-That&#8217;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
-<div class="paragraph"><p>The so called manifold feature Grml ISOs use by default allows one to use the same\r
-ISO for CD boot and USB boot. If you notice any problems when booting just\r
-revert the manifold feature running:</p></div>\r
+<div class="paragraph"><p>Add the according MIRROR_DIRECTORY configuration to your grml-live configuration:</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
-<pre><code>% dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc</code></pre>\r
+<pre><code># echo "MIRROR_DIRECTORY='/home/foobar/packages'" &gt;&gt; /etc/grml/grml-live.local</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="paragraph"><p>Make sure the local directory looks like a mirror:</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
-<pre><code>% isohybrid grml.iso</code></pre>\r
+<pre><code>% cd /home/foobar/packages\r
+% dpkg-scanpackages . /dev/null | gzip &gt; Packages.gz</code></pre>\r
 </div></div>\r
+<div class="paragraph"><p>Finally invoke grml-live with your class name (<code>CUSTOM</code> in this example) added\r
+to the list of classes on the command line (see grml-live option <code>-c</code>).</p></div>\r
 </div>\r
-<div class="sect2">\r
-<h3 id="basetgz">13.11. How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz)</h3>\r
-<div class="paragraph"><p>Execute the following commands (requires root):</p></div>\r
+<div class="sect3">\r
+<h4 id="_serving_a_repository_via_http">13.11.2. Serving a repository via HTTP</h4>\r
+<div class="paragraph"><p>Make sure to create an according sources.list configuration file, e.g. using\r
+your own class name <code>CUSTOM</code>:</p></div>\r
 <div class="literalblock">\r
 <div class="content">\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 *</code></pre>\r
+<pre><code># cat &gt; /etc/grml/fai/config/files/etc/apt/sources.list.d/local-packages.list/CUSTOM &lt;&lt; EOF\r
+deb http://127.0.0.1:8000/ ./\r
+EOF</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 class="paragraph"><p>Make sure the local directory is served via HTTP on the according IP address and\r
+port. For the <code>http://127.0.0.1:8000/</code> example from above it should be enough to\r
+just invoke:</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>% cd /home/foobar/packages\r
+% dpkg-scanpackages . /dev/null | gzip &gt; Packages.gz\r
+% python -m SimpleHTTPServer 8000</code></pre>\r
+</div></div>\r
+<div class="admonitionblock">\r
+<table><tr>\r
+<td class="icon">\r
+<img src="./images/icons/tip.png" alt="Tip" />\r
+</td>\r
+<td class="content">Of course you can also use a real Debian repository setup using tools like\r
+reprepro(1) and/or using a real web server, though for quick debugging sessions\r
+python&#8217;s SimpleHTTPServer in combination with dpkg-scanpackages from package\r
+dpkg-dev is a simple and easy approach.</td>\r
+</tr></table>\r
+</div>\r
+<div class="paragraph"><p>Finally invoke grml-live with your class name (<code>CUSTOM</code> in this example) added\r
+to the list of classes on the command line (see grml-live option <code>-c</code>).</p></div>\r
+</div>\r
 </div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
 <h2 id="download">14. Download / install grml-live as a Debian package</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p>Debian packages are available through the grml-repository at\r
-<a href="http://deb.grml.org/pool/main/g/grml-live/">deb.grml.org</a>.  If you want to\r
-build a Debian package on your own (using for example a specific version or the\r
-current development tree), just execute:</p></div>\r
+<div class="paragraph"><p>Stable Debian packages are available through the grml-repository at\r
+<a href="http://deb.grml.org/pool/main/g/grml-live/">deb.grml.org</a> and the latest\r
+Git commits are available as Debian packages from\r
+<a href="http://jenkins.grml.org/job/grml-live-binaries/">jenkins.grml.org</a>.\r
+If you want to build a Debian package on your own (using for example a specific\r
+version or the current development tree), just execute:</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>git clone git://git.grml.org/grml-live\r
@@ -1707,21 +1758,37 @@ debuild -us -uc</code></pre>
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="source">15. Source</h2>\r
+<h2 id="run-from-git">15. Run grml-live directly from git</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>In case you want to run grml-live directly from the git repository checkout\r
+(after making sure all dependencies are installed), you should set\r
+<code>GRML_FAI_CONFIG</code> so that a) it finds the according FAI configuration files and\r
+b) does not use the config files of an possibly installed <code>grml-live</code> package.\r
+Usage example:</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code># export GRML_FAI_CONFIG=$(pwd)/etc/grml/fai\r
+# export SCRIPTS_DIRECTORY=$(pwd)/scripts\r
+# ./grml-live -s sid -a amd64 -c GRMLBASE,GRML_FULL,AMD64</code></pre>\r
+</div></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="source">16. Source</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>The source of grml-live is available at\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">16. Bugs</h2>\r
+<h2 id="bugs">17. 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
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="documentation">17. Documentation</h2>\r
+<h2 id="documentation">18. 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
@@ -1741,7 +1808,7 @@ in different formats:</p></div>
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="authors">18. Authors</h2>\r
+<h2 id="authors">19. Authors</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>Michael Prokop &lt;<a href="mailto:mika@grml.org">mika@grml.org</a>&gt;</p></div>\r
 </div>\r
@@ -1750,7 +1817,8 @@ in different formats:</p></div>
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 2013-12-11 11:53:34 CET\r
+Last updated\r
+ 2016-02-15 22:15:22 CET\r
 </div>\r
 </div>\r
 </body>\r