Merge remote-tracking branch 'origin/github/pr/45'
[grml.org.git] / grml-debootstrap / index.html
index cf2dfca..b002bcb 100644 (file)
@@ -1,9 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
 <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.9" />\r
+<meta name="generator" content="AsciiDoc 9.0.0rc2" />\r
 <title>grml-debootstrap(8)</title>\r
 <style type="text/css">\r
 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */\r
@@ -435,7 +436,7 @@ thead, p.table.header {
 p.table {\r
   margin-top: 0;\r
 }\r
-/* Because the table frame attribute is overriden by CSS in most browsers. */\r
+/* Because the table frame attribute is overridden by CSS in most browsers. */\r
 div.tableblock > table[frame="void"] {\r
   border-style: none;\r
 }\r
@@ -754,12 +755,12 @@ asciidoc.install();
 <div class="sect1">\r
 <h2 id="_introduction">Introduction</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p>grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap if you\r
+<div class="paragraph"><p>grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap and mmdebstrap if you\r
 want) for installing a plain Debian system very fast and easy.</p></div>\r
 <div class="paragraph"><p>All you have to do is adjust a few variables in the configuration file\r
 /etc/debootstrap/config or specify some command line options and invoke\r
 grml-debootstrap. If invoked without any configuration modifications or command\r
-line options a dialog based frontend will be available to control some basic\r
+line options a dialog based front end will be available to control some basic\r
 configuration options.</p></div>\r
 <div class="paragraph"><p>A plain and base Debian system will be installed on the given device, directory\r
 or virtual image file then. Customization of this process is possible as well.</p></div>\r
@@ -793,7 +794,7 @@ or virtual image file then. Customization of this process is possible as well.</
 </dt>\r
 <dd>\r
 <p>\r
-    Enable Debian&#8217;s Backports repository (<a href="http://backports.debian.org/">http://backports.debian.org/</a>) via the\r
+    Enable Debian&#8217;s Backports repository via the\r
     /etc/apt/sources.list.d/backports.list configuration file. This provides the\r
     option to install Debian packages from Debian&#8217;s backports repository.\r
 </p>\r
@@ -827,6 +828,15 @@ or virtual image file then. Customization of this process is possible as well.</
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
+<strong>--contrib</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+    Enable the <em>contrib</em> repository in COMPONENTS. By default only\r
+    the <em>main</em> repository is enabled.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
 <strong>-d</strong>, <strong>--confdir</strong> <em>path</em>\r
 </dt>\r
 <dd>\r
@@ -861,6 +871,32 @@ or virtual image file then. Customization of this process is possible as well.</
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
+<strong>--defaultinterfaces</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+   Install a default /etc/network/interfaces file (enabling DHCP for all local\r
+   Ethernet, WLAN and WWAN interfaces using predictable network interface names\r
+   and using eth0 as traditional interface name for backward compatibility)\r
+   instead of taking over config from host system.\r
+   This option is automatically enabled when using --vm or --vmfile.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--efi</strong> <em>device</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+    Partition where EFI boot manager should be installed to. If the\r
+    specified device doesn&#8217;t use a FAT filesystem yet grml-debootstrap\r
+    automatically creates the filesystem. If a FAT filesystem is already\r
+    present the filesystem creation is skipped. Please ensure that it&#8217;s\r
+    a valid FAT32 filesystem and the partition has the <em>boot</em> and <em>esp</em>\r
+    flags enabled. This option requires EFI support on the running system\r
+    and the option is NOT supported for Virtual Machine deployments.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
 <strong>--filesystem</strong> <em>filesystem</em>\r
 </dt>\r
 <dd>\r
@@ -960,7 +996,6 @@ or virtual image file then. Customization of this process is possible as well.</
 <dd>\r
 <p>\r
     Do not copy /etc/network/interfaces from host system to the target.\r
-    This option is automatically enabled when using --vm or --vmfile.\r
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
@@ -975,6 +1010,15 @@ or virtual image file then. Customization of this process is possible as well.</
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
+<strong>--non-free</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+    Enable the <em>non-free</em> repository in COMPONENTS. By default only\r
+    the <em>main</em> repository is enabled.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
 <strong>--nopackages</strong>\r
 </dt>\r
 <dd>\r
@@ -1023,13 +1067,15 @@ or virtual image file then. Customization of this process is possible as well.</
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
-<strong>-r</strong>, <strong>--release</strong> <em>releasename</em>\r
+<strong>--post-scripts</strong> <em>directory</em>\r
 </dt>\r
 <dd>\r
 <p>\r
-    Specify release of new Debian system. Supported releases names: lenny,\r
-    squeeze, wheezy, jessie (note: requires a recent version of debootstrap)\r
-    and sid. Corresponding with configuration variable RELEASE.\r
+    Execute scripts from specified directory after executing the chroot script.\r
+    This allows customisation of the system after the chroot has been set up.\r
+    The environment variable $MNTPOINT is available inside the scripts for\r
+    direct access of the chroot.\r
+    Default directory: /etc/debootstrap/post-scripts/\r
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
@@ -1045,14 +1091,44 @@ or virtual image file then. Customization of this process is possible as well.</
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
-<strong>--scripts</strong> <em>directory</em>\r
+<strong>-r</strong>, <strong>--release</strong> <em>releasename</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+    Specify release of new Debian system. Supported releases names: lenny,\r
+    squeeze, wheezy, jessie, stretch, buster, bullseye and sid. Corresponding with configuration\r
+    variable RELEASE. Default release: buster\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--remove-configs</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+    Delete grml-debootstrap configuration files (/etc/debootstrap/*) from installed\r
+    system. Useful for reproducible builds or if you don&#8217;t want to leak information.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--sshcopyauth</strong>\r
 </dt>\r
 <dd>\r
 <p>\r
-    Execute scripts from specified directory. This allows customisation of\r
-    the system after the chroot has been set up. The environment variable\r
-    $MNTPOINT is available inside the scripts for direct access of the chroot.\r
-    Default directory: /etc/debootstrap/scripts/\r
+    Use locally available <em>$HOME/.ssh/authorized_keys</em> to authorise root login on the target system.\r
+    This installs <em>$HOME/.ssh/authorized_keys</em> as <em>/root/.ssh/authorized_keys</em> on\r
+    the target system. If a different file than <em>$HOME/.ssh/authorized_keys</em> should\r
+    be used, the environment variable <em>AUTHORIZED_KEYS_SOURCE</em> can be used.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--sshcopyid</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+    Use locally available public keys to authorise root login on the target system.\r
+    Similar to ssh-copy-id(1) (without the -i option) it checks if <code>ssh-add -L</code>\r
+    provides any output, and if so those keys are appended to\r
+    <em>/root/.ssh/authorized_keys</em> (creating the file and directory (with mode 0700)).\r
 </p>\r
 </dd>\r
 <dt class="hdlist1">\r
@@ -1081,6 +1157,7 @@ or virtual image file then. Customization of this process is possible as well.</
     partitioned.\r
     This allows deployment of a Virtual Machine. The options needs to be\r
     combined with the --target option.\r
+    This option automatically enables the --defaultinterfaces option.\r
     Usage example: --vm --target /dev/mapper/your-vm-disk\r
 </p>\r
 </dd>\r
@@ -1089,9 +1166,11 @@ or virtual image file then. Customization of this process is possible as well.</
 </dt>\r
 <dd>\r
 <p>\r
-    Set up a Virtual Machine instead of installing to a partition or directory.\r
-    This allows deployment of a Virtual Machine. The options needs to be\r
-    combined with the --target option.\r
+    Set up a Virtual Machine using a regular file instead of installing to a\r
+    partition/block device or directory. This allows deployment of a Virtual\r
+    Machine. The options needs to be combined with the --target option\r
+    (<em>qemu-img create -f raw &#8230;</em> is executed on the specified target).\r
+    This option automatically enables the --defaultinterfaces option.\r
     Usage example: --vmfile --target /mnt/sda1/qemu.img\r
 </p>\r
 </dd>\r
@@ -1128,51 +1207,74 @@ docs and /etc/debootstrap/config for further information.</td>
 </div>\r
 </div>\r
 <div class="sect1">\r
+<h2 id="_networking">Networking</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>By default (that is, if none of the options <strong>--nointerfaces</strong>,\r
+<strong>--defaultinterfaces</strong>, <strong>--vmfile</strong> or <strong>--vm</strong> are given) /etc/network/interfaces\r
+will be copied from the host to the target system.</p></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
 <h2 id="_usage_examples">Usage examples</h2>\r
 <div class="sectionbody">\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>grml-debootstrap --target /dev/sda1 --grub /dev/sda</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Install default Debian release (jessie) on /dev/sda1 and install bootmanager\r
-Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.</p></div>\r
+<div class="paragraph"><p>Install default Debian release (buster) on /dev/sda1 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>grml-debootstrap --release stretch --target /dev/sda1 --grub /dev/sda --hostname debian01 --password changeme</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>Install Debian release stretch on /dev/sda1 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.\r
+Set hostname to <em>debian01</em> and password for user root to <em>changeme</em>.</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Install Debian unstable/sid on /dev/sda6, install bootmanager Grub in MBR\r
-(master boot record) of /dev/sda and use /dev/sda6 as system partition.</p></div>\r
+<div class="paragraph"><p>Install Debian unstable/sid on /dev/sda6 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>DEBOOTSTRAP=mmdebstrap grml-debootstrap --target /dev/sda1 --grub /dev/sda</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>Install default Debian release (buster) on /dev/sda1 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.\r
+Use mmdebstrap instead of default debootstrap tool for bootstrapping.</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>grml-debootstrap --target /dev/mapper/vg0-rootfs --grub /dev/sda</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>Install default Debian release (buster) on LVM device /dev/mapper/vg0-rootfs and install bootmanager GRUB in MBR (master boot record) of /dev/sda.</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>grml-debootstrap --efi /dev/sda1 --target /dev/sda2 --grub /dev/sda</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>Install default Debian release (buster) on /dev/sda2 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.\r
+Use /dev/sda1 as EFI partition (requires EFI support in booted system).</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>mount /dev/sda1 /data/chroot\r
 grml-debootstrap --target /data/chroot</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Install default Debian release (jessie) in directory /data/chroot (without\r
-any bootloader).</p></div>\r
+<div class="paragraph"><p>Install default Debian release (buster) in directory /data/chroot (without any bootloader).</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>grml-debootstrap --target /dev/sda3 --grub /dev/sda  --mirror ftp://ftp.tugraz.at/mirror/debian</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Install default Debian release (jessie) on /dev/sda3 and install bootmanager\r
-Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.\r
-Use specified mirror instead of the default (<a href="http://http.debian.net/debian">http://http.debian.net/debian</a>) one.</p></div>\r
+<div class="paragraph"><p>Install default Debian release (buster) on /dev/sda3 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.\r
+Use specified mirror instead of the default (<a href="http://deb.debian.org/debian">http://deb.debian.org/debian</a>) one.</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>mount /dev/sda1 /mnt/sda1\r
 grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Install default debian release (jessie) in a Virtual Machine file with\r
-3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):</p></div>\r
+<div class="paragraph"><p>Install default debian release (buster) in a Virtual Machine file with 3GB disk size (including GRUB as bootmanager in MBR of the virtual disk file):</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
-<pre><code>mount -o loop /mnt/sda6/debian-CD-1.iso /mnt/iso\r
-grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/</code></pre>\r
+<pre><code>mount -o loop ./debian-CD-1.iso /media/cdrom\r
+grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso /media/cdrom</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Install Debian on /dev/sda1 using the loopback mounted Debian-ISO\r
-for the base-system and install bootmanager Grub in MBR (master boot record) of\r
-/dev/sda and use /dev/sda1 as system partition. Please notice, that the chroot\r
-system requires network access for all packages which are not part of the\r
-ISO.</p></div>\r
+<div class="paragraph"><p>Install Debian on /dev/sda1 using the loopback mounted Debian-ISO for the base-system and install bootmanager GRUB in MBR (master boot record) of /dev/sda.\r
+Please notice, that the chroot system requires network access for all packages which are not part of the ISO.</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -1250,14 +1352,14 @@ target=/dev/sda1</p></div>
 <div class="content">\r
 <pre><code>release=...</code></pre>\r
 </div></div>\r
-<div class="paragraph"><p>Specify release of new Debian system. Defaults to Debian jessie. Supported\r
-relases: lenny, squeeze, wheezy, jessie and sid. Usage example: release=sid</p></div>\r
+<div class="paragraph"><p>Specify release of new Debian system. Defaults to Debian buster. Supported\r
+releases: lenny, squeeze, wheezy, jessie, stretch, buster, bullseye and sid. Usage example: release=stretch</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code>mirror=...</code></pre>\r
 </div></div>\r
 <div class="paragraph"><p>Specify mirror which should be used for apt-get/aptitude instead\r
-of the default one (<a href="http://http.debian.net/debian">http://http.debian.net/debian</a>).\r
+of the default one (<a href="http://deb.debian.org/debian">http://deb.debian.org/debian</a>).\r
 Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian</p></div>\r
 <div class="literalblock">\r
 <div class="content">\r
@@ -1312,17 +1414,29 @@ cellspacing="0" cellpadding="4">
 </tr>\r
 <tr>\r
 <td align="left" valign="top"><p class="table">squeeze</p></td>\r
-<td align="left" valign="top"><p class="table">works</p></td>\r
+<td align="left" valign="top"><p class="table">works[1]</p></td>\r
 </tr>\r
 <tr>\r
 <td align="left" valign="top"><p class="table">wheezy</p></td>\r
-<td align="left" valign="top"><p class="table">works</p></td>\r
+<td align="left" valign="top"><p class="table">works[1]</p></td>\r
 </tr>\r
 <tr>\r
 <td align="left" valign="top"><p class="table">jessie</p></td>\r
 <td align="left" valign="top"><p class="table">works</p></td>\r
 </tr>\r
 <tr>\r
+<td align="left" valign="top"><p class="table">stretch</p></td>\r
+<td align="left" valign="top"><p class="table">works</p></td>\r
+</tr>\r
+<tr>\r
+<td align="left" valign="top"><p class="table">buster</p></td>\r
+<td align="left" valign="top"><p class="table">works</p></td>\r
+</tr>\r
+<tr>\r
+<td align="left" valign="top"><p class="table">bullseye</p></td>\r
+<td align="left" valign="top"><p class="table">works[2]</p></td>\r
+</tr>\r
+<tr>\r
 <td align="left" valign="top"><p class="table">sid</p></td>\r
 <td align="left" valign="top"><p class="table">works[2]</p></td>\r
 </tr>\r
@@ -1335,15 +1449,27 @@ cellspacing="0" cellpadding="4">
 <img src="./images/icons/note.png" alt="Note" />\r
 </td>\r
 <td class="content">\r
-<div class="title">lenny release</div>\r
-<div class="paragraph"><p>[1] Please notice that lenny is an unsupported release within Debian nowadays.\r
-grml-debootstrap can handle the release but you really should not use lenny\r
-anymore unless you really know what you are doing. Choose Debian 7.0 (wheezy) or\r
-something newer instead.</p></div>\r
-<div class="paragraph"><p>Notice that you need to specify a mirror providing the lenny release, the\r
-default (<a href="http://http.debian.net/debian">http://http.debian.net/debian</a>) doesn&#8217;t provide it any longer nowadays.\r
+<div class="title">lenny/squeeze/wheezy release</div>\r
+<div class="paragraph"><p>[1] Please notice that releases like lenny, squeeze and wheezy are unsupported releases within Debian nowadays.\r
+grml-debootstrap can handle the releases but you really should not use them\r
+anymore unless you really know what you are doing.\r
+Choose the current Debian stable version instead.\r
+See <a href="https://wiki.debian.org/DebianReleases">https://wiki.debian.org/DebianReleases</a> for the list of supported releases.</p></div>\r
+<div class="paragraph"><p>Notice that you need to specify a mirror providing the lenny and squeeze releases, the\r
+default (<a href="http://deb.debian.org/debian">http://deb.debian.org/debian</a>) doesn&#8217;t provide it any longer nowadays.\r
 Set the mirror to e.g. <a href="http://archive.debian.org/debian/">http://archive.debian.org/debian/</a> if you don&#8217;t have\r
-your own lenny mirror.</p></div>\r
+your own lenny/squeeze mirror.</p></div>\r
+<div class="paragraph"><p>Older releases might also fail to install when running on top of recent kernel versions,\r
+throwing segfaults during debootstrap. This can be identified by the following messages inside kernel log (check with <em>dmesg</em>):</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>dpkg[...] vsyscall attempted with vsyscall=none ip:[...]\r
+dpkg[...]: segfault at [...]</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>To work around this issue boot your system with the kernel boot option <em>vsyscall=emulate</em>.</p></div>\r
+<div class="paragraph"><p>You also need to specify a filesystem that&#8217;s supported by lenny, e.g.\r
+<em>--filesystem ext3</em> since grml-debootstrap&#8217;s current default (ext4) isn&#8217;t\r
+supported by lenny.</p></div>\r
 <div class="paragraph"><p>Also when debootstrapping lenny on a live system with a kernel version\r
 like "3.16-1-grml-amd64" lenny&#8217;s libc will fail to install with:</p></div>\r
 <div class="literalblock">\r
@@ -1380,13 +1506,13 @@ deploying a stable release and upgrade it after installation finished.</p></div>
 <div class="sect1">\r
 <h2 id="_bugs">Bugs</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p>Probably. Please send bugreports to Michael Prokop &lt;<a href="mailto:mika@grml.org">mika@grml.org</a>&gt;.</p></div>\r
+<div class="paragraph"><p>Please report bugs towards <a href="https://github.com/grml/grml-debootstrap/issues">https://github.com/grml/grml-debootstrap/issues</a></p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
 <h2 id="_see_also">See also</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p>debootstrap (8), cdebootstrap (1).</p></div>\r
+<div class="paragraph"><p>debootstrap (8), cdebootstrap (1), mmdebstrap(1).</p></div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r
@@ -1400,7 +1526,7 @@ deploying a stable release and upgrade it after installation finished.</p></div>
 <div id="footer">\r
 <div id="footer-text">\r
 Last updated\r
- 2014-12-30 10:50:18 CET\r
+ 2020-06-03 14:44:11 UTC\r
 </div>\r
 </div>\r
 </body>\r