+<?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="text/html; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.5.2" />\r
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 9.0.0rc2" />\r
<title>grml-debootstrap(8)</title>\r
<style type="text/css">\r
-/* Debug borders */\r
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
-/*\r
- border: 1px solid red;\r
-*/\r
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */\r
+\r
+/* Default font. */\r
+body {\r
+ font-family: Georgia,serif;\r
+}\r
+\r
+/* Title font. */\r
+h1, h2, h3, h4, h5, h6,\r
+div.title, caption.title,\r
+thead, p.table.header,\r
+#toctitle,\r
+#author, #revnumber, #revdate, #revremark,\r
+#footer {\r
+ font-family: Arial,Helvetica,sans-serif;\r
}\r
\r
body {\r
color: #083194;\r
}\r
\r
-tt {\r
- color: navy;\r
-}\r
-\r
h1, h2, h3, h4, h5, h6 {\r
color: #527bbd;\r
- font-family: sans-serif;\r
margin-top: 1.2em;\r
margin-bottom: 0.5em;\r
line-height: 1.3;\r
h3 + * {\r
clear: left;\r
}\r
+h5 {\r
+ font-size: 1.0em;\r
+}\r
\r
div.sectionbody {\r
- font-family: serif;\r
margin-left: 0;\r
}\r
\r
ul, ol, li > p {\r
margin-top: 0;\r
}\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
-span#author {\r
+#author {\r
color: #527bbd;\r
- font-family: sans-serif;\r
font-weight: bold;\r
font-size: 1.1em;\r
}\r
-span#email {\r
+#email {\r
}\r
-span#revnumber, span#revdate, span#revremark {\r
- font-family: sans-serif;\r
+#revnumber, #revdate, #revremark {\r
}\r
\r
-div#footer {\r
- font-family: sans-serif;\r
+#footer {\r
font-size: small;\r
border-top: 2px solid silver;\r
padding-top: 0.5em;\r
margin-top: 4.0em;\r
}\r
-div#footer-text {\r
+#footer-text {\r
float: left;\r
padding-bottom: 0.5em;\r
}\r
-div#footer-badges {\r
+#footer-badges {\r
float: right;\r
padding-bottom: 0.5em;\r
}\r
\r
-div#preamble {\r
+#preamble {\r
margin-top: 1.5em;\r
margin-bottom: 1.5em;\r
}\r
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
+div.imageblock, div.exampleblock, div.verseblock,\r
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
div.admonitionblock {\r
margin-top: 1.0em;\r
/* Block element titles. */\r
div.title, caption.title {\r
color: #527bbd;\r
- font-family: sans-serif;\r
font-weight: bold;\r
text-align: left;\r
margin-top: 1.0em;\r
\r
div.sidebarblock > div.content {\r
background: #ffffee;\r
- border: 1px solid silver;\r
+ border: 1px solid #dddddd;\r
+ border-left: 4px solid #f0f0f0;\r
padding: 0.5em;\r
}\r
\r
div.listingblock > div.content {\r
- border: 1px solid silver;\r
- background: #f4f4f4;\r
+ border: 1px solid #dddddd;\r
+ border-left: 5px solid #f0f0f0;\r
+ background: #f8f8f8;\r
padding: 0.5em;\r
}\r
\r
padding-left: 1.0em;\r
margin-left: 1.0em;\r
margin-right: 10%;\r
- border-left: 5px solid #dddddd;\r
- color: #777777;\r
+ border-left: 5px solid #f0f0f0;\r
+ color: #888;\r
}\r
\r
div.quoteblock > div.attribution {\r
text-align: right;\r
}\r
\r
-div.verseblock > div.content {\r
- white-space: pre;\r
+div.verseblock > pre.content {\r
+ font-family: inherit;\r
+ font-size: inherit;\r
}\r
div.verseblock > div.attribution {\r
padding-top: 0.75em;\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.tableblock > table {\r
- border: 3px solid #527bbd;\r
-}\r
-thead, p.table.header {\r
- font-family: sans-serif;\r
- font-weight: bold;\r
-}\r
tfoot {\r
font-weight: bold;\r
}\r
td > div.verse {\r
white-space: pre;\r
}\r
-p.table {\r
- margin-top: 0;\r
-}\r
-/* Because the table frame attribute is overriden by CSS in most browsers. */\r
-div.tableblock > table[frame="void"] {\r
- border-style: none;\r
-}\r
-div.tableblock > table[frame="hsides"] {\r
- border-left-style: none;\r
- border-right-style: none;\r
-}\r
-div.tableblock > table[frame="vsides"] {\r
- border-top-style: none;\r
- border-bottom-style: none;\r
-}\r
-\r
\r
div.hdlist {\r
margin-top: 0.8em;\r
min-width: 100px;\r
}\r
\r
+div.colist td {\r
+ padding-right: 0.5em;\r
+ padding-bottom: 0.3em;\r
+ vertical-align: top;\r
+}\r
+div.colist td img {\r
+ margin-top: 0.3em;\r
+}\r
\r
@media print {\r
- div#footer-badges { display: none; }\r
+ #footer-badges { display: none; }\r
}\r
\r
-div#toc {\r
+#toc {\r
margin-bottom: 2.5em;\r
}\r
\r
-div#toctitle {\r
+#toctitle {\r
color: #527bbd;\r
- font-family: sans-serif;\r
font-size: 1.1em;\r
font-weight: bold;\r
margin-top: 1.0em;\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
margin-left: 6em;\r
font-size: 0.9em;\r
}\r
-/* Workarounds for IE6's broken and incomplete CSS2. */\r
\r
-div.sidebar-content {\r
- background: #ffffee;\r
- border: 1px solid silver;\r
- padding: 0.5em;\r
+span.aqua { color: aqua; }\r
+span.black { color: black; }\r
+span.blue { color: blue; }\r
+span.fuchsia { color: fuchsia; }\r
+span.gray { color: gray; }\r
+span.green { color: green; }\r
+span.lime { color: lime; }\r
+span.maroon { color: maroon; }\r
+span.navy { color: navy; }\r
+span.olive { color: olive; }\r
+span.purple { color: purple; }\r
+span.red { color: red; }\r
+span.silver { color: silver; }\r
+span.teal { color: teal; }\r
+span.white { color: white; }\r
+span.yellow { color: yellow; }\r
+\r
+span.aqua-background { background: aqua; }\r
+span.black-background { background: black; }\r
+span.blue-background { background: blue; }\r
+span.fuchsia-background { background: fuchsia; }\r
+span.gray-background { background: gray; }\r
+span.green-background { background: green; }\r
+span.lime-background { background: lime; }\r
+span.maroon-background { background: maroon; }\r
+span.navy-background { background: navy; }\r
+span.olive-background { background: olive; }\r
+span.purple-background { background: purple; }\r
+span.red-background { background: red; }\r
+span.silver-background { background: silver; }\r
+span.teal-background { background: teal; }\r
+span.white-background { background: white; }\r
+span.yellow-background { background: yellow; }\r
+\r
+span.big { font-size: 2em; }\r
+span.small { font-size: 0.6em; }\r
+\r
+span.underline { text-decoration: underline; }\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
+div.tableblock {\r
+ margin-top: 1.0em;\r
+ margin-bottom: 1.5em;\r
}\r
-div.sidebar-title, div.image-title {\r
+div.tableblock > table {\r
+ border: 3px solid #527bbd;\r
+}\r
+thead, p.table.header {\r
+ font-weight: bold;\r
color: #527bbd;\r
- font-family: sans-serif;\r
+}\r
+p.table {\r
+ margin-top: 0;\r
+}\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
+div.tableblock > table[frame="hsides"] {\r
+ border-left-style: none;\r
+ border-right-style: none;\r
+}\r
+div.tableblock > table[frame="vsides"] {\r
+ border-top-style: none;\r
+ border-bottom-style: none;\r
+}\r
+\r
+\r
+/*\r
+ * html5 specific\r
+ *\r
+ * */\r
+\r
+table.tableblock {\r
+ margin-top: 1.0em;\r
+ margin-bottom: 1.5em;\r
+}\r
+thead, p.tableblock.header {\r
font-weight: bold;\r
- margin-top: 0.0em;\r
- margin-bottom: 0.5em;\r
+ color: #527bbd;\r
+}\r
+p.tableblock {\r
+ margin-top: 0;\r
+}\r
+table.tableblock {\r
+ border-width: 3px;\r
+ border-spacing: 0px;\r
+ border-style: solid;\r
+ border-color: #527bbd;\r
+ border-collapse: collapse;\r
+}\r
+th.tableblock, td.tableblock {\r
+ border-width: 1px;\r
+ padding: 4px;\r
+ border-style: solid;\r
+ border-color: #527bbd;\r
}\r
\r
-div.listingblock div.content {\r
- border: 1px solid silver;\r
- background: #f4f4f4;\r
- padding: 0.5em;\r
+table.tableblock.frame-topbot {\r
+ border-left-style: hidden;\r
+ border-right-style: hidden;\r
+}\r
+table.tableblock.frame-sides {\r
+ border-top-style: hidden;\r
+ border-bottom-style: hidden;\r
+}\r
+table.tableblock.frame-none {\r
+ border-style: hidden;\r
}\r
\r
-div.quoteblock-attribution {\r
- padding-top: 0.5em;\r
+th.tableblock.halign-left, td.tableblock.halign-left {\r
+ text-align: left;\r
+}\r
+th.tableblock.halign-center, td.tableblock.halign-center {\r
+ text-align: center;\r
+}\r
+th.tableblock.halign-right, td.tableblock.halign-right {\r
text-align: right;\r
}\r
\r
-div.verseblock-content {\r
- white-space: pre;\r
+th.tableblock.valign-top, td.tableblock.valign-top {\r
+ vertical-align: top;\r
}\r
-div.verseblock-attribution {\r
- padding-top: 0.75em;\r
- text-align: left;\r
+th.tableblock.valign-middle, td.tableblock.valign-middle {\r
+ vertical-align: middle;\r
+}\r
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {\r
+ vertical-align: bottom;\r
}\r
\r
-div.exampleblock-content {\r
- border-left: 3px solid #dddddd;\r
- padding-left: 0.5em;\r
+\r
+/*\r
+ * manpage specific\r
+ *\r
+ * */\r
+\r
+body.manpage h1 {\r
+ padding-top: 0.5em;\r
+ padding-bottom: 0.5em;\r
+ border-top: 2px solid silver;\r
+ border-bottom: 2px solid silver;\r
+}\r
+body.manpage h2 {\r
+ border-style: none;\r
+}\r
+body.manpage div.sectionbody {\r
+ margin-left: 3em;\r
}\r
\r
-/* IE6 sets dynamically generated links as visited. */\r
-div#toc a:visited { color: blue; }\r
+@media print {\r
+ body.manpage div#toc { display: none; }\r
+}\r
+\r
+\r
</style>\r
<script type="text/javascript">\r
/*<![CDATA[*/\r
-window.onload = function(){asciidoc.footnotes();}\r
var asciidoc = { // Namespace.\r
\r
/////////////////////////////////////////////////////////////////////\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
}\r
\r
var toc = document.getElementById("toc");\r
+ if (!toc) {\r
+ return;\r
+ }\r
+\r
+ // Delete existing TOC entries in case we're reloading the TOC.\r
+ var tocEntriesToRemove = [];\r
+ var i;\r
+ for (i = 0; i < toc.childNodes.length; i++) {\r
+ var entry = toc.childNodes[i];\r
+ if (entry.nodeName.toLowerCase() == 'div'\r
+ && entry.getAttribute("class")\r
+ && entry.getAttribute("class").match(/^toclevel/))\r
+ tocEntriesToRemove.push(entry);\r
+ }\r
+ for (i = 0; i < tocEntriesToRemove.length; i++) {\r
+ toc.removeChild(tocEntriesToRemove[i]);\r
+ }\r
+\r
+ // Rebuild TOC entries.\r
var entries = tocEntries(document.getElementById("content"), toclevels);\r
for (var i = 0; i < entries.length; ++i) {\r
var entry = entries[i];\r
*/\r
\r
footnotes: function () {\r
- var cont = document.getElementById("content");\r
+ // Delete existing footnote entries in case we're reloading the footnodes.\r
+ var i;\r
var noteholder = document.getElementById("footnotes");\r
+ if (!noteholder) {\r
+ return;\r
+ }\r
+ var entriesToRemove = [];\r
+ for (i = 0; i < noteholder.childNodes.length; i++) {\r
+ var entry = noteholder.childNodes[i];\r
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
+ entriesToRemove.push(entry);\r
+ }\r
+ for (i = 0; i < entriesToRemove.length; i++) {\r
+ noteholder.removeChild(entriesToRemove[i]);\r
+ }\r
+\r
+ // Rebuild footnote entries.\r
+ var cont = document.getElementById("content");\r
var spans = cont.getElementsByTagName("span");\r
var refs = {};\r
var n = 0;\r
for (i=0; i<spans.length; i++) {\r
if (spans[i].className == "footnote") {\r
n++;\r
- // Use [\s\S] in place of . so multi-line matches work.\r
- // Because JavaScript has no s (dotall) regex flag.\r
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
+ var note = spans[i].getAttribute("data-note");\r
+ if (!note) {\r
+ // Use [\s\S] in place of . so multi-line matches work.\r
+ // Because JavaScript has no s (dotall) regex flag.\r
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
+ spans[i].innerHTML =\r
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
+ "' title='View footnote' class='footnote'>" + n + "</a>]";\r
+ spans[i].setAttribute("data-note", note);\r
+ }\r
noteholder.innerHTML +=\r
"<div class='footnote' id='_footnote_" + n + "'>" +\r
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
n + "</a>. " + note + "</div>";\r
- spans[i].innerHTML =\r
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
- "' title='View footnote' class='footnote'>" + n + "</a>]";\r
var id =spans[i].getAttribute("id");\r
if (id != null) refs["#"+id] = n;\r
}\r
}\r
}\r
}\r
+},\r
+\r
+install: function(toclevels) {\r
+ var timerId;\r
+\r
+ function reinstall() {\r
+ asciidoc.footnotes();\r
+ if (toclevels) {\r
+ asciidoc.toc(toclevels);\r
+ }\r
+ }\r
+\r
+ function reinstallAndRemoveTimer() {\r
+ clearInterval(timerId);\r
+ reinstall();\r
+ }\r
+\r
+ timerId = setInterval(reinstall, 500);\r
+ if (document.addEventListener)\r
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
+ else\r
+ window.onload = reinstallAndRemoveTimer;\r
}\r
\r
}\r
+asciidoc.install();\r
/*]]>*/\r
</script>\r
</head>\r
-<body>\r
+<body class="article">\r
<div id="header">\r
<h1>grml-debootstrap(8)</h1>\r
</div>\r
<div id="content">\r
+<div class="sect1">\r
<h2 id="_name">Name</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>grml-debootstrap - wrapper around debootstrap for installing plain Debian via grml</p></div>\r
+<div class="paragraph"><p>grml-debootstrap - wrapper around debootstrap for installing plain Debian</p></div>\r
</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_synopsis">Synopsis</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>grml-debootstrap [ <em>options</em> ]</p></div>\r
<img src="images/screenshot.png" alt="Screenshot" />\r
</span></p></div>\r
</div>\r
+</div>\r
+<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
-want) for installing a plain Debian system via grml very fast and easy.</p></div>\r
-<div class="paragraph"><p>All you have to do is adjust a few variables in configuration file\r
-/etc/debootstrap/config (or specify some variables via commandline) and invoke\r
-grml-debootstrap without any further options then.</p></div>\r
-<div class="paragraph"><p>A plain and base Debian system will be installed on the given device (or\r
-directory) then. Customization of this process is possible as well.</p></div>\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 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
<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">The grml team does not take responsibility for loss of any data!</td>\r
+<td class="content">The Grml team does not take responsibility for loss of any data!</td>\r
</tr></table>\r
</div>\r
</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_options_and_environment_variables">Options and environment variables</h2>\r
<div class="sectionbody">\r
<div class="dlist"><dl>\r
<dt class="hdlist1">\r
-<strong>--arch</strong> <_architecture_>\r
+<strong>--arch</strong> <em>architecture</em>\r
</dt>\r
<dd>\r
<p>\r
- Architecture you want to bootstrap. Currently only i386 is supported.\r
- Defaults to the architecture that is currently running on your system. If\r
- you’re running an amd64 system and want to deploy a i386 system use this option.\r
- Note: deploying amd64 from a i386 system won’t work.\r
+ Set target architecture you want to install. Defaults to the architecture\r
+ you are currently running. If you’re running an amd64 kernel and want to\r
+ deploy an i386 system use this option. Note: deploying amd64 from an i386\r
+ kernel does <strong>not</strong> work. Example: "<em>--arch i386</em>"\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--bootappend</strong> <_appendline for the kernel_>\r
+<strong>--backportrepos</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Enable Debian’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’s backports repository.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--bootappend</strong> <em>appendline-for-the-kernel</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-c</strong>, <strong>--config</strong> <_file_>\r
+<strong>-c</strong>, <strong>--config</strong> <em>file</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--chroot-scripts</strong> <_directory_>\r
+<strong>--chroot-scripts</strong> <em>directory</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-d</strong>, <strong>--confdir</strong> <_path_>\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
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--debconf</strong> <_file_>\r
+<strong>--debconf</strong> <em>file</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--debopt</strong> <_params_>\r
+<strong>--debopt</strong> <em>params</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--grub</strong> <_device_>\r
+<strong>--debug</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Execute in very verbose way. Useful for debugging possible problems\r
+ with grml-debootstrap or identify what’s actually executed.\r
+</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’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’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
+<p>\r
+ Filesystem that should be created when installing to a partition.\r
+ If unset defaults to ext4. Valid values are all filesystems that\r
+ can be created through mkfs.<em>filesystem</em>.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--force</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Skip user acknowledgement and do not prompt for user input.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--grmlrepos</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Enable Grml.org’s Debian repository (<a href="http://deb.grml.org/">http://deb.grml.org/</a>) via the\r
+ /etc/apt/sources.list.d/grml.list configuration file. This provides the\r
+ option to install Debian packages from Grml’s repository.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--grub</strong> <em>device</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--hostname</strong> <_hostname_>\r
+<strong>--hostname</strong> <em>hostname</em>\r
</dt>\r
<dd>\r
<p>\r
- Use specified hostname instead of the default (being <em>grml</em>).\r
+ Use specified hostname instead of the default (being $HOSTNAME or if unset <em>grml</em>).\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-i</strong>, <strong>--iso</strong> <_/mntpoint_>\r
+<strong>-i</strong>, <strong>--iso</strong> <em>/mntpoint</em>\r
</dt>\r
<dd>\r
<p>\r
- Specify mountpoint where you have a Debian ISO mounted loopback.\r
+ Specify mount point where you have a Debian ISO mounted loopback.\r
Using this option instead of the mirror option gives you the possibility\r
to install the base-system without network access. Make sure you\r
- mounted the according Debian-ISO to the given <_/mntpoint_>. See section\r
+ mounted the according Debian-ISO to the given <em>/mntpoint</em>. See section\r
<em>Usage examples</em> for a demonstration.\r
</p>\r
</dd>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-m</strong>, <strong>--mirror</strong> <_URL_>\r
+<strong>-m</strong>, <strong>--mirror</strong> <em>URL</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
+<strong>--nointerfaces</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Do not copy /etc/network/interfaces from host system to the target.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--nokernel</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Skip installation of default kernel images. This option might be\r
+ interesting for you if you want a Debian system which doesn’t\r
+ need to provide regular boot, e.g. a system which provides\r
+ ISOs for booting via GRUB using grml-rescueboot.\r
+</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
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--insecure</strong>\r
+<strong>--nopassword</strong>\r
</dt>\r
<dd>\r
<p>\r
- Do not download and check signatures for retrieved Release files.\r
+ Do not prompt for the root password. Note: Use the <em>--password</em> option if\r
+ you want to set the root password during an automatic installation but don’t\r
+ want to use the interactive dialog.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-p</strong>, <strong>--mntpoint</strong> <_/mntpoint_>\r
+<strong>-p</strong>, <strong>--mntpoint</strong> <em>/mntpoint</em>\r
</dt>\r
<dd>\r
<p>\r
- Specify mountpoint that should be used for mounting the target system.\r
+ Specify mount point that should be used for mounting the target system.\r
Corresponding with configuration variable MNTPOINT.\r
Note: this option has no effect if option -t is given and represents a\r
directory.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--packages</strong> <_file_>\r
+<strong>--packages</strong> <em>file</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--password</strong> <_password_>\r
+<strong>--password</strong> <em>password</em>\r
</dt>\r
<dd>\r
<p>\r
Use specified password as password for user root. Use with caution, as your\r
- commandline might be visible in the process list and the shell history.\r
+ command line might be visible in the process list and the shell history.\r
It’s meant for automatic installation only.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-r</strong>, <strong>--release</strong> <_releasename_>\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 (note: requires current version of debootstrap) and sid.\r
- 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
-<strong>--pre-scripts</strong> <_directory_>\r
+<strong>--pre-scripts</strong> <em>directory</em>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>--scripts</strong> <_directory_>\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
- 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
+ Delete grml-debootstrap configuration files (/etc/debootstrap/*) from installed\r
+ system. Useful for reproducible builds or if you don’t want to leak information.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-t</strong>, <strong>--target</strong> <_target_>\r
+<strong>--sshcopyauth</strong>\r
+</dt>\r
+<dd>\r
+<p>\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
+<strong>-t</strong>, <strong>--target</strong> <em>target</em>\r
</dt>\r
<dd>\r
<p>\r
Target partition (/dev/…) or directory (anything else without /dev at the\r
- beginning). To install grub using <strong>--grub</strong> make sure to use a <em>device</em>\r
- instead of a directory as <em>target</em> (installation of grub as bootloader when\r
- using directories is NOT supported).\r
+ beginning).\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
+<strong>--vm</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Set up a Virtual Machine on an existing block device, which will be\r
+ 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
+<dt class="hdlist1">\r
+<strong>--vmfile</strong>\r
+</dt>\r
+<dd>\r
+<p>\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 …</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
+<dt class="hdlist1">\r
+<strong>--vmsize</strong> <em>size</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Use specified size for size of Virtual Machine disk file. If not specified it\r
+ defaults to 2G (being 2GB). Syntax as supported by qemu-img (see manpage\r
+ qemu-img(1) for details.\r
+ Usage example: --vmsize 3G\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
<strong>-V</strong>, <strong>--version</strong>\r
</dt>\r
<dd>\r
<td class="icon">\r
<img src="./images/icons/warning.png" alt="Warning" />\r
</td>\r
-<td class="content">the commandline parsing of grml-debootstrap does not validate the provided\r
-arguments for the commandline options. Please be careful and check docs and\r
-/etc/debootstrap/config for further information.</td>\r
+<td class="content">the command line parsing of grml-debootstrap usually does not validate\r
+the provided arguments for the command line options. Please be careful and check\r
+docs and /etc/debootstrap/config for further information.</td>\r
</tr></table>\r
</div>\r
</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><tt>grml-debootstrap --target /dev/sda1 --grub /dev/sda</tt></pre>\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 (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 default Debian release (stable/lenny) 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 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><tt>grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid</tt></pre>\r
+<pre><code>DEBOOTSTRAP=mmdebstrap grml-debootstrap --target /dev/sda1 --grub /dev/sda</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 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><tt>mount /dev/sda1 /data/chroot\r
-grml-debootstrap --target /data/chroot</tt></pre>\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 (stable/lenny) in directory /data/chroot (without\r
-any bootloader).</p></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><tt>grml-debootstrap --target /dev/sda3 --grub /dev/sda --mirror ftp://ftp.tugraz.at/mirror/debian</tt></pre>\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 (stable/lenny) 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="ftp://ftp.debian.de/debian">ftp://ftp.debian.de/debian</a>) one.</p></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><tt>mount -o loop /mnt/sda6/debian-40r0-i386-CD-1.iso /mnt/iso\r
-grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/</tt></pre>\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 Debian stable/lenny 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 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 (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 (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 ./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 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
<h2 id="_files">Files</h2>\r
<div class="sectionbody">\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/debootstrap/config</tt></pre>\r
+<pre><code>/etc/debootstrap/config</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>Main configuration file. You have to adjust it according to your needs\r
-if you want to execute grml-debootstrap in the non-interactive mode without\r
-any special command line arguments.</p></div>\r
+<div class="paragraph"><p>Main configuration file. Adjust it according to your needs if you want to\r
+execute grml-debootstrap in the non-interactive mode without any special command\r
+line arguments.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/debootstrap/chroot-script</tt></pre>\r
+<pre><code>/etc/debootstrap/chroot-script</code></pre>\r
</div></div>\r
<div class="paragraph"><p>The script executed within the new Debian system as soon as the main system\r
has been installed via [c]debootstrap.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/debootstrap/locale.gen</tt></pre>\r
+<pre><code>/etc/debootstrap/locale.gen</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Defines the default locales used for generating locales via locale-gen.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/debootstrap/packages</tt></pre>\r
+<pre><code>/etc/debootstrap/packages</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Defines the software packages which should be installed in the new\r
Debian system by default.</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>/etc/debootstrap/extrapackages</tt></pre>\r
+<pre><code>/etc/debootstrap/extrapackages/</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>Debian Packages dropped here will be installed into the new Debian system by\r
-default (Controlvariable: EXTRAPACKAGES)</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><tt>/etc/debootstrap/stages/</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>The default directory for storing information about executed stages. Every\r
-single function of grml-debootstrap will write <em>done</em> to the stages directory\r
-into a file named as the function itself if it has been executed successfully.\r
-You can adjust the location of the directory via configuration variable STAGES\r
-via /etc/debootstrap/config. Please notice that you have to remove the stages\r
-directory on your own if you want to re-execute grml-debootstrap after running it\r
-successfully once. This should avoid recurrent execution by error of\r
-grml-debootstrap (which might delete present data).</p></div>\r
+<div class="paragraph"><p>Debian Packages dropped in this directory will be installed into the new Debian\r
+system by default (Control variable: EXTRAPACKAGES)</p></div>\r
+</div>\r
</div>\r
+<div class="sect1">\r
<h2 id="_customization">Customization</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>You can control execution of grml-debootstrap via adjusting\r
/etc/debootstrap/config for some main stuff or via setting some selected\r
-variables via commandline. The packages which should be installed in the new\r
+variables via command line. The packages which should be installed in the new\r
Debian system can be defined via the file /etc/debootstrap/packages. If you\r
want to put existing files to the new Debian system you can place them into the\r
(by default non-existing) directories boot, etc, share, usr and var in\r
/etc/debootstrap/. Every existing directory will be copied to the new Debian\r
system then. If you want to install additional packages that are not available\r
-via the grml or debian mirror drop them into /etc/debootstrap/extrapackages and\r
+via the Grml or Debian mirror drop them into /etc/debootstrap/extrapackages and\r
make sure that EXTRAPACKAGES is set to "yes".</p></div>\r
</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_automatic_installation">Automatic installation</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>If environment variable AUTOINSTALL is set grml-debootstrap can be executed in a\r
full automatic mode. While this mode isn’t really useful for interactive\r
execution (just configure /etc/debootstrap/configure or specify the relevant\r
-variables on the commandline instead) it is meant for use via bootoption\r
-debian2hd. The bootoption debian2hd (more precise: the kernelname on bootprompt)\r
-supports the following bootoptions (they correspond with the commandline options\r
-mentioned above):</p></div>\r
+variables on the command line instead) it is meant for use via boot option\r
+debian2hd on the Grml live system. The boot option debian2hd (more precise: the\r
+kernelname at the bootprompt) supports the following boot options (they\r
+correspond with the command line options mentioned above):</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>target=...</tt></pre>\r
+<pre><code>target=...</code></pre>\r
</div></div>\r
<div class="paragraph"><p>The target partition/directory of the new Debian system. Usage example:\r
target=/dev/sda1</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>grub=...</tt></pre>\r
+<pre><code>grub=...</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Where do you want to install grub to? Usage example: grub=/dev/sda</p></div>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>release=...</tt></pre>\r
+<pre><code>release=...</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>Specify release of new Debian system. Defaults to Debian stable. Supported\r
-relases: lenny, squeeze 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><tt>mirror=...</tt></pre>\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="ftp://ftp.debian.de/debian">ftp://ftp.debian.de/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
-<pre><tt>password=...</tt></pre>\r
+<pre><code>password=...</code></pre>\r
</div></div>\r
<div class="paragraph"><p>Set password of user root without prompting for it but set it to the given\r
argument. Usage example: password=AiTh5ahn</p></div>\r
-<h3 id="_usage_example_for_automatic_installation">Usage example for automatic installation:</h3><div style="clear:left"></div>\r
+<div class="sect2">\r
+<h3 id="_usage_example_for_automatic_installation">Usage example for automatic installation</h3>\r
<div class="literalblock">\r
<div class="content">\r
-<pre><tt>debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar</tt></pre>\r
+<pre><code>debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>You have to enter this commandline at the bootprompt of grml. Please make sure\r
-that /dev/sda1 is the partition where you really want to install your new Debian\r
-system.</p></div>\r
+<div class="paragraph"><p>You have to enter this command line at the bootprompt of the Grml live system.\r
+Please make sure that /dev/sda1 is the partition where you really want to\r
+install your new Debian system.</p></div>\r
<div class="admonitionblock">\r
<table><tr>\r
<td class="icon">\r
<td class="content">Automatic installation within booting process is done in grml-autoconfig via\r
setting environment variable AUTOINSTALL and creation of\r
/usr/bin/grml-debootstrap_noninteractive with the available and relevant\r
-bootoptions for grml-debootstrap.</td>\r
+boot options for grml-debootstrap.</td>\r
</tr></table>\r
</div>\r
</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_supported_releases">Supported Releases</h2>\r
<div class="sectionbody">\r
<div class="tableblock">\r
<table rules="all"\r
+width="40%"\r
frame="hsides"\r
cellspacing="0" cellpadding="4">\r
-<caption class="title">TableCurrent status</caption>\r
-<col width="114" />\r
-<col width="205" />\r
-<col width="182" />\r
+<caption class="title">Table 1. Current status</caption>\r
+<col width="50%" />\r
+<col width="50%" />\r
<thead>\r
- <tr>\r
- <th align="right">\r
- Release /\r
- </th>\r
- <th align="center">\r
- Tool debootstrap\r
- </th>\r
- <th align="center">\r
- cdebootstrap\r
- </th>\r
- </tr>\r
+<tr>\r
+<th align="left" valign="top">Release </th>\r
+<th align="left" valign="top">Status</th>\r
+</tr>\r
</thead>\r
-<tbody valign="top">\r
- <tr>\r
- <td align="right">\r
- Lenny\r
- </td>\r
- <td align="center">\r
- works\r
- </td>\r
- <td align="center">\r
- works\r
- </td>\r
- </tr>\r
- <tr>\r
- <td align="right">\r
- Squeeze\r
- </td>\r
- <td align="center">\r
- works\r
- </td>\r
- <td align="center">\r
- works\r
- </td>\r
- </tr>\r
- <tr>\r
- <td align="right">\r
- Sid\r
- </td>\r
- <td align="center">\r
- works\r
- </td>\r
- <td align="center">\r
- works\r
- </td>\r
- </tr>\r
+<tbody>\r
+<tr>\r
+<td align="left" valign="top"><p class="table">lenny</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">squeeze</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[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
</tbody>\r
</table>\r
</div>\r
<img src="./images/icons/note.png" alt="Note" />\r
</td>\r
<td class="content">\r
-<div class="title">Etch-Release</div>\r
-<div class="paragraph"><p>[1] Please notice that Etch is the current old-stable within Debian.\r
-grml-debootstrap can handle the release but you really should not use Etch\r
-anymore unless you really know what you are doing. Choose Lenny instead.</p></div>\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’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’t have\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’s supported by lenny, e.g.\r
+<em>--filesystem ext3</em> since grml-debootstrap’s current default (ext4) isn’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’s libc will fail to install with:</p></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>[...]\r
+/var/lib/dpkg/tmp.ci/preinst: line 265: [: 3.16-1-grml-amd64: integery expression expected\r
+/var/lib/dpkg/tmp.ci/preinst: line 231: 3.16-1-grml-amd64: syntax error: invalid arithemtic operator (error token is ".16-1-grml-amd64")\r
+dpkg: error processing /var/cache/apt/archives/libc6_2.7-18lenny7_amd64.deb (--install):\r
+[....]</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>To workaround this either debootstrap from a system with an according\r
+kernel version or use the "fake uname" workaround (just google for it).</p></div>\r
+<div class="paragraph"><p>When installing lenny to a new mdraid, grml-debootstrap will use md metadata\r
+format version 0.90. This limits the device to a maximum size of 2TB, but has\r
+the advantage of grub-legacy actually being able to boot from it.</p></div>\r
+</td>\r
+</tr></table>\r
+</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">\r
+<div class="title">unstable and testing releases</div>\r
+<div class="paragraph"><p>[2] Please notice that Debian/testing and Debian/unstable (sid) might\r
+not be always installable due to their nature. What <em>might</em> work instead is\r
+deploying a stable release and upgrade it after installation finished.</p></div>\r
</td>\r
</tr></table>\r
</div>\r
</div>\r
+</div>\r
+<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 <<a href="mailto:mika@grml.org">mika@grml.org</a>>.</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
<h2 id="_author">Author</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>\r
+</div>\r
<div id="footnotes"><hr /></div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 2010-02-23 00:21:26 CEST\r
+Last updated\r
+ 2020-06-03 14:44:11 UTC\r
</div>\r
</div>\r
</body>\r