1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 8.6.7" />
\r
7 <title>grml-debootstrap(8)</title>
\r
8 <style type="text/css">
\r
9 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
\r
13 font-family: Georgia,serif;
\r
17 h1, h2, h3, h4, h5, h6,
\r
18 div.title, caption.title,
\r
19 thead, p.table.header,
\r
21 #author, #revnumber, #revdate, #revremark,
\r
23 font-family: Arial,Helvetica,sans-serif;
\r
27 margin: 1em 5% 1em 5%;
\r
32 text-decoration: underline;
\r
48 h1, h2, h3, h4, h5, h6 {
\r
51 margin-bottom: 0.5em;
\r
56 border-bottom: 2px solid silver;
\r
76 border: 1px solid silver;
\r
81 margin-bottom: 0.5em;
\r
87 ul > li { color: #aaa; }
\r
88 ul > li > * { color: black; }
\r
102 #revnumber, #revdate, #revremark {
\r
107 border-top: 2px solid silver;
\r
108 padding-top: 0.5em;
\r
113 padding-bottom: 0.5em;
\r
117 padding-bottom: 0.5em;
\r
122 margin-bottom: 1.5em;
\r
124 div.imageblock, div.exampleblock, div.verseblock,
\r
125 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
126 div.admonitionblock {
\r
128 margin-bottom: 1.5em;
\r
130 div.admonitionblock {
\r
132 margin-bottom: 2.0em;
\r
137 div.content { /* Block element content. */
\r
141 /* Block element titles. */
\r
142 div.title, caption.title {
\r
147 margin-bottom: 0.5em;
\r
153 td div.title:first-child {
\r
156 div.content div.title:first-child {
\r
159 div.content + div.title {
\r
163 div.sidebarblock > div.content {
\r
164 background: #ffffee;
\r
165 border: 1px solid #dddddd;
\r
166 border-left: 4px solid #f0f0f0;
\r
170 div.listingblock > div.content {
\r
171 border: 1px solid #dddddd;
\r
172 border-left: 5px solid #f0f0f0;
\r
173 background: #f8f8f8;
\r
177 div.quoteblock, div.verseblock {
\r
178 padding-left: 1.0em;
\r
179 margin-left: 1.0em;
\r
181 border-left: 5px solid #f0f0f0;
\r
185 div.quoteblock > div.attribution {
\r
186 padding-top: 0.5em;
\r
190 div.verseblock > pre.content {
\r
191 font-family: inherit;
\r
192 font-size: inherit;
\r
194 div.verseblock > div.attribution {
\r
195 padding-top: 0.75em;
\r
198 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
\r
199 div.verseblock + div.attribution {
\r
203 div.admonitionblock .icon {
\r
204 vertical-align: top;
\r
207 text-decoration: underline;
\r
209 padding-right: 0.5em;
\r
211 div.admonitionblock td.content {
\r
212 padding-left: 0.5em;
\r
213 border-left: 3px solid #dddddd;
\r
216 div.exampleblock > div.content {
\r
217 border-left: 3px solid #dddddd;
\r
218 padding-left: 0.5em;
\r
221 div.imageblock div.content { padding-left: 0; }
\r
222 span.image img { border-style: none; }
\r
223 a.image:visited { color: white; }
\r
227 margin-bottom: 0.8em;
\r
232 font-style: normal;
\r
235 dd > *:first-child {
\r
240 list-style-position: outside;
\r
243 list-style-type: decimal;
\r
246 list-style-type: lower-alpha;
\r
249 list-style-type: upper-alpha;
\r
252 list-style-type: lower-roman;
\r
255 list-style-type: upper-roman;
\r
258 div.compact ul, div.compact ol,
\r
259 div.compact p, div.compact p,
\r
260 div.compact div, div.compact div {
\r
262 margin-bottom: 0.1em;
\r
274 margin-bottom: 0.8em;
\r
277 padding-bottom: 15px;
\r
279 dt.hdlist1.strong, td.hdlist1.strong {
\r
283 vertical-align: top;
\r
284 font-style: normal;
\r
285 padding-right: 0.8em;
\r
289 vertical-align: top;
\r
291 div.hdlist.compact tr {
\r
297 background: yellow;
\r
300 .footnote, .footnoteref {
\r
304 span.footnote, span.footnoteref {
\r
305 vertical-align: super;
\r
309 margin: 20px 0 20px 0;
\r
310 padding: 7px 0 0 0;
\r
313 #footnotes div.footnote {
\r
319 border-top: 1px solid silver;
\r
328 padding-right: 0.5em;
\r
329 padding-bottom: 0.3em;
\r
330 vertical-align: top;
\r
332 div.colist td img {
\r
337 #footer-badges { display: none; }
\r
341 margin-bottom: 2.5em;
\r
349 margin-bottom: 0.1em;
\r
352 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
\r
369 span.aqua { color: aqua; }
\r
370 span.black { color: black; }
\r
371 span.blue { color: blue; }
\r
372 span.fuchsia { color: fuchsia; }
\r
373 span.gray { color: gray; }
\r
374 span.green { color: green; }
\r
375 span.lime { color: lime; }
\r
376 span.maroon { color: maroon; }
\r
377 span.navy { color: navy; }
\r
378 span.olive { color: olive; }
\r
379 span.purple { color: purple; }
\r
380 span.red { color: red; }
\r
381 span.silver { color: silver; }
\r
382 span.teal { color: teal; }
\r
383 span.white { color: white; }
\r
384 span.yellow { color: yellow; }
\r
386 span.aqua-background { background: aqua; }
\r
387 span.black-background { background: black; }
\r
388 span.blue-background { background: blue; }
\r
389 span.fuchsia-background { background: fuchsia; }
\r
390 span.gray-background { background: gray; }
\r
391 span.green-background { background: green; }
\r
392 span.lime-background { background: lime; }
\r
393 span.maroon-background { background: maroon; }
\r
394 span.navy-background { background: navy; }
\r
395 span.olive-background { background: olive; }
\r
396 span.purple-background { background: purple; }
\r
397 span.red-background { background: red; }
\r
398 span.silver-background { background: silver; }
\r
399 span.teal-background { background: teal; }
\r
400 span.white-background { background: white; }
\r
401 span.yellow-background { background: yellow; }
\r
403 span.big { font-size: 2em; }
\r
404 span.small { font-size: 0.6em; }
\r
406 span.underline { text-decoration: underline; }
\r
407 span.overline { text-decoration: overline; }
\r
408 span.line-through { text-decoration: line-through; }
\r
410 div.unbreakable { page-break-inside: avoid; }
\r
419 font-family: "Courier New", Courier, monospace;
\r
420 font-size: inherit;
\r
426 margin-bottom: 1.5em;
\r
428 div.tableblock > table {
\r
429 border: 3px solid #527bbd;
\r
431 thead, p.table.header {
\r
438 /* Because the table frame attribute is overriden by CSS in most browsers. */
\r
439 div.tableblock > table[frame="void"] {
\r
440 border-style: none;
\r
442 div.tableblock > table[frame="hsides"] {
\r
443 border-left-style: none;
\r
444 border-right-style: none;
\r
446 div.tableblock > table[frame="vsides"] {
\r
447 border-top-style: none;
\r
448 border-bottom-style: none;
\r
458 font-family: "Courier New", Courier, monospace;
\r
459 font-size: inherit;
\r
465 margin-bottom: 1.5em;
\r
467 thead, p.tableblock.header {
\r
476 border-spacing: 0px;
\r
477 border-style: solid;
\r
478 border-color: #527bbd;
\r
479 border-collapse: collapse;
\r
481 th.tableblock, td.tableblock {
\r
484 border-style: solid;
\r
485 border-color: #527bbd;
\r
488 table.tableblock.frame-topbot {
\r
489 border-left-style: hidden;
\r
490 border-right-style: hidden;
\r
492 table.tableblock.frame-sides {
\r
493 border-top-style: hidden;
\r
494 border-bottom-style: hidden;
\r
496 table.tableblock.frame-none {
\r
497 border-style: hidden;
\r
500 th.tableblock.halign-left, td.tableblock.halign-left {
\r
503 th.tableblock.halign-center, td.tableblock.halign-center {
\r
504 text-align: center;
\r
506 th.tableblock.halign-right, td.tableblock.halign-right {
\r
510 th.tableblock.valign-top, td.tableblock.valign-top {
\r
511 vertical-align: top;
\r
513 th.tableblock.valign-middle, td.tableblock.valign-middle {
\r
514 vertical-align: middle;
\r
516 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
\r
517 vertical-align: bottom;
\r
527 padding-top: 0.5em;
\r
528 padding-bottom: 0.5em;
\r
529 border-top: 2px solid silver;
\r
530 border-bottom: 2px solid silver;
\r
533 border-style: none;
\r
535 body.manpage div.sectionbody {
\r
540 body.manpage div#toc { display: none; }
\r
543 <script type="text/javascript">
\r
545 var asciidoc = { // Namespace.
\r
547 /////////////////////////////////////////////////////////////////////
\r
548 // Table Of Contents generator
\r
549 /////////////////////////////////////////////////////////////////////
\r
551 /* Author: Mihai Bazon, September 2002
\r
552 * http://students.infoiasi.ro/~mishoo
\r
554 * Table Of Content generator
\r
557 * Feel free to use this script under the terms of the GNU General Public
\r
558 * License, as long as you do not remove or alter this notice.
\r
561 /* modified by Troy D. Hanson, September 2006. License: GPL */
\r
562 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
\r
564 // toclevels = 1..4.
\r
565 toc: function (toclevels) {
\r
567 function getText(el) {
\r
569 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
570 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
\r
572 else if (i.firstChild != null)
\r
573 text += getText(i);
\r
578 function TocEntry(el, text, toclevel) {
\r
581 this.toclevel = toclevel;
\r
584 function tocEntries(el, toclevels) {
\r
585 var result = new Array;
\r
586 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
\r
587 // Function that scans the DOM tree for header elements (the DOM2
\r
588 // nodeIterator API would be a better technique but not supported by all
\r
590 var iterate = function (el) {
\r
591 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
592 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
\r
593 var mo = re.exec(i.tagName);
\r
594 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
\r
595 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
\r
605 var toc = document.getElementById("toc");
\r
610 // Delete existing TOC entries in case we're reloading the TOC.
\r
611 var tocEntriesToRemove = [];
\r
613 for (i = 0; i < toc.childNodes.length; i++) {
\r
614 var entry = toc.childNodes[i];
\r
615 if (entry.nodeName.toLowerCase() == 'div'
\r
616 && entry.getAttribute("class")
\r
617 && entry.getAttribute("class").match(/^toclevel/))
\r
618 tocEntriesToRemove.push(entry);
\r
620 for (i = 0; i < tocEntriesToRemove.length; i++) {
\r
621 toc.removeChild(tocEntriesToRemove[i]);
\r
624 // Rebuild TOC entries.
\r
625 var entries = tocEntries(document.getElementById("content"), toclevels);
\r
626 for (var i = 0; i < entries.length; ++i) {
\r
627 var entry = entries[i];
\r
628 if (entry.element.id == "")
\r
629 entry.element.id = "_toc_" + i;
\r
630 var a = document.createElement("a");
\r
631 a.href = "#" + entry.element.id;
\r
632 a.appendChild(document.createTextNode(entry.text));
\r
633 var div = document.createElement("div");
\r
634 div.appendChild(a);
\r
635 div.className = "toclevel" + entry.toclevel;
\r
636 toc.appendChild(div);
\r
638 if (entries.length == 0)
\r
639 toc.parentNode.removeChild(toc);
\r
643 /////////////////////////////////////////////////////////////////////
\r
644 // Footnotes generator
\r
645 /////////////////////////////////////////////////////////////////////
\r
647 /* Based on footnote generation code from:
\r
648 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
\r
651 footnotes: function () {
\r
652 // Delete existing footnote entries in case we're reloading the footnodes.
\r
654 var noteholder = document.getElementById("footnotes");
\r
658 var entriesToRemove = [];
\r
659 for (i = 0; i < noteholder.childNodes.length; i++) {
\r
660 var entry = noteholder.childNodes[i];
\r
661 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
\r
662 entriesToRemove.push(entry);
\r
664 for (i = 0; i < entriesToRemove.length; i++) {
\r
665 noteholder.removeChild(entriesToRemove[i]);
\r
668 // Rebuild footnote entries.
\r
669 var cont = document.getElementById("content");
\r
670 var spans = cont.getElementsByTagName("span");
\r
673 for (i=0; i<spans.length; i++) {
\r
674 if (spans[i].className == "footnote") {
\r
676 var note = spans[i].getAttribute("data-note");
\r
678 // Use [\s\S] in place of . so multi-line matches work.
\r
679 // Because JavaScript has no s (dotall) regex flag.
\r
680 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
\r
681 spans[i].innerHTML =
\r
682 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
\r
683 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
684 spans[i].setAttribute("data-note", note);
\r
686 noteholder.innerHTML +=
\r
687 "<div class='footnote' id='_footnote_" + n + "'>" +
\r
688 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
\r
689 n + "</a>. " + note + "</div>";
\r
690 var id =spans[i].getAttribute("id");
\r
691 if (id != null) refs["#"+id] = n;
\r
695 noteholder.parentNode.removeChild(noteholder);
\r
697 // Process footnoterefs.
\r
698 for (i=0; i<spans.length; i++) {
\r
699 if (spans[i].className == "footnoteref") {
\r
700 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
\r
701 href = href.match(/#.*/)[0]; // Because IE return full URL.
\r
703 spans[i].innerHTML =
\r
704 "[<a href='#_footnote_" + n +
\r
705 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
711 install: function(toclevels) {
\r
714 function reinstall() {
\r
715 asciidoc.footnotes();
\r
717 asciidoc.toc(toclevels);
\r
721 function reinstallAndRemoveTimer() {
\r
722 clearInterval(timerId);
\r
726 timerId = setInterval(reinstall, 500);
\r
727 if (document.addEventListener)
\r
728 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
\r
730 window.onload = reinstallAndRemoveTimer;
\r
734 asciidoc.install();
\r
738 <body class="article">
\r
740 <h1>grml-debootstrap(8)</h1>
\r
743 <div class="sect1">
\r
744 <h2 id="_name">Name</h2>
\r
745 <div class="sectionbody">
\r
746 <div class="paragraph"><p>grml-debootstrap - wrapper around debootstrap for installing plain Debian</p></div>
\r
749 <div class="sect1">
\r
750 <h2 id="_synopsis">Synopsis</h2>
\r
751 <div class="sectionbody">
\r
752 <div class="paragraph"><p>grml-debootstrap [ <em>options</em> ]</p></div>
\r
753 <div class="paragraph"><p><span class="image">
\r
754 <img src="images/screenshot.png" alt="Screenshot" />
\r
758 <div class="sect1">
\r
759 <h2 id="_introduction">Introduction</h2>
\r
760 <div class="sectionbody">
\r
761 <div class="paragraph"><p>grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap if you
\r
762 want) for installing a plain Debian system (e.g. via Grml) very fast and easy.</p></div>
\r
763 <div class="paragraph"><p>All you have to do is adjust a few variables in the configuration file
\r
764 /etc/debootstrap/config or specify some command line options and invoke
\r
765 grml-debootstrap. If invoked without any configuration modifications or command
\r
766 line options a dialog based frontend will be available to control some basic
\r
767 configuration options.</p></div>
\r
768 <div class="paragraph"><p>A plain and base Debian system will be installed on the given device, directory
\r
769 or virtual image file then. Customization of this process is possible as well.</p></div>
\r
770 <div class="admonitionblock">
\r
773 <img src="./images/icons/caution.png" alt="Caution" />
\r
775 <td class="content">The Grml team does not take responsibility for loss of any data!</td>
\r
780 <div class="sect1">
\r
781 <h2 id="_options_and_environment_variables">Options and environment variables</h2>
\r
782 <div class="sectionbody">
\r
783 <div class="dlist"><dl>
\r
784 <dt class="hdlist1">
\r
785 <strong>--arch</strong> <em>architecture</em>
\r
789 Set target architecture you want to install. Defaults to the architecture
\r
790 you are currently running. If you’re running an amd64 kernel and want to
\r
791 deploy an i386 system use this option. Note: deploying amd64 from an i386
\r
792 kernel does <strong>not</strong> work. Example: "<em>--arch i386</em>"
\r
795 <dt class="hdlist1">
\r
796 <strong>--bootappend</strong> <em>appendline-for-the-kernel</em>
\r
800 Specify appendline for the kernel.
\r
801 E.g. "<em>pci=nomsi</em>"
\r
804 <dt class="hdlist1">
\r
805 <strong>-c</strong>, <strong>--config</strong> <em>file</em>
\r
809 Use specified configuration file, defaults to /etc/debootstrap/config.
\r
812 <dt class="hdlist1">
\r
813 <strong>--chroot-scripts</strong> <em>directory</em>
\r
817 Execute chroot scripts from specified directory. This allows customisation
\r
818 of the chroot setup, the executable script(s) present in the given directory
\r
819 are executed at the end of the chroot procedure.
\r
820 Default directory: /etc/debootstrap/chroot-scripts/
\r
823 <dt class="hdlist1">
\r
824 <strong>-d</strong>, <strong>--confdir</strong> <em>path</em>
\r
828 Place of configuration files for debootstrap, defaults to /etc/debootstrap.
\r
831 <dt class="hdlist1">
\r
832 <strong>--debconf</strong> <em>file</em>
\r
836 Use specified file for preseeding Debian packages instead of using
\r
837 the default <confdir>/debconf-selections.
\r
840 <dt class="hdlist1">
\r
841 <strong>--debopt</strong> <em>params</em>
\r
845 Extra parameters passed to the debootstrap command.
\r
848 <dt class="hdlist1">
\r
849 <strong>--filesystem</strong> <em>filesystem</em>
\r
853 Filesystem that should be created when installing to a partition.
\r
854 If unset defaults to ext3. Valid values are all filesystems that
\r
855 can be created through mkfs.<em>filesystem</em>.
\r
858 <dt class="hdlist1">
\r
859 <strong>--force</strong>
\r
863 Skip user acknowledgement and do not prompt for user input.
\r
866 <dt class="hdlist1">
\r
867 <strong>--grmlrepos</strong>
\r
871 Enable Grml.org’s Debian repository (<a href="http://deb.grml.org/">http://deb.grml.org/</a>) via the
\r
872 /etc/apt/sources.list.d/grml.list configuration file. This provides the
\r
873 option to install Debian packages from Grml’s repository.
\r
876 <dt class="hdlist1">
\r
877 <strong>--grub</strong> <em>device</em>
\r
881 Device where grub should be installed to. Note that only the MBR (master
\r
882 boot record) can be used (/dev/sda, /dev/sdb,…). Partitions (like
\r
883 /dev/sda1, /dev/sdb2,…) are NOT supported because grub2 doesn’t support
\r
884 installation into the PBR (partition boot record) anymore. Usage example:
\r
885 <em>--grub /dev/sda</em>. Note: just do not set this option to avoid installation
\r
889 <dt class="hdlist1">
\r
890 <strong>--help</strong>, <strong>-h</strong>
\r
894 Show summary of options and exit.
\r
897 <dt class="hdlist1">
\r
898 <strong>--hostname</strong> <em>hostname</em>
\r
902 Use specified hostname instead of the default (being <em>grml</em>).
\r
905 <dt class="hdlist1">
\r
906 <strong>-i</strong>, <strong>--iso</strong> <em>/mntpoint</em>
\r
910 Specify mount point where you have a Debian ISO mounted loopback.
\r
911 Using this option instead of the mirror option gives you the possibility
\r
912 to install the base-system without network access. Make sure you
\r
913 mounted the according Debian-ISO to the given <em>/mntpoint</em>. See section
\r
914 <em>Usage examples</em> for a demonstration.
\r
917 <dt class="hdlist1">
\r
918 <strong>--keep_src_list</strong>
\r
922 Do not overwrite user provided /etc/apt/sources.list.
\r
925 <dt class="hdlist1">
\r
926 <strong>-m</strong>, <strong>--mirror</strong> <em>URL</em>
\r
930 Specify mirror which should be used for apt-get/aptitude.
\r
931 Corresponding with configuration variable MIRROR.
\r
934 <dt class="hdlist1">
\r
935 <strong>--nodebootstrap</strong>
\r
939 Skip debootstrap, only do configuration to the target.
\r
942 <dt class="hdlist1">
\r
943 <strong>--nopackages</strong>
\r
947 Skip installation of packages defined in /etc/debootstrap/packages.
\r
950 <dt class="hdlist1">
\r
951 <strong>--nopassword</strong>
\r
955 Do not prompt for the root password. Note: Use the <em>--password</em> option if
\r
956 you want to set the root password during an automatic installation but don’t
\r
957 want to use the interactive dialog.
\r
960 <dt class="hdlist1">
\r
961 <strong>-p</strong>, <strong>--mntpoint</strong> <em>/mntpoint</em>
\r
965 Specify mount point that should be used for mounting the target system.
\r
966 Corresponding with configuration variable MNTPOINT.
\r
967 Note: this option has no effect if option -t is given and represents a
\r
971 <dt class="hdlist1">
\r
972 <strong>--packages</strong> <em>file</em>
\r
976 Use specified file as list for packages that should be installed instead of
\r
977 the default package list file <confdir>/packages.
\r
980 <dt class="hdlist1">
\r
981 <strong>--password</strong> <em>password</em>
\r
985 Use specified password as password for user root. Use with caution, as your
\r
986 command line might be visible in the process list and the shell history.
\r
987 It’s meant for automatic installation only.
\r
990 <dt class="hdlist1">
\r
991 <strong>-r</strong>, <strong>--release</strong> <em>releasename</em>
\r
995 Specify release of new Debian system. Supported releases names: lenny,
\r
996 squeeze, wheezy (note: requires current version of debootstrap) and sid.
\r
997 Corresponding with configuration variable RELEASE.
\r
1000 <dt class="hdlist1">
\r
1001 <strong>--pre-scripts</strong> <em>directory</em>
\r
1005 Execute scripts from specified directory before executing the chroot
\r
1006 script. This allows customisation of the system before the chroot has
\r
1007 been set up. The environment variable $MNTPOINT is available inside the
\r
1008 scripts for direct access of the chroot.
\r
1009 Default directory: /etc/debootstrap/pre-scripts/
\r
1012 <dt class="hdlist1">
\r
1013 <strong>--scripts</strong> <em>directory</em>
\r
1017 Execute scripts from specified directory. This allows customisation of
\r
1018 the system after the chroot has been set up. The environment variable
\r
1019 $MNTPOINT is available inside the scripts for direct access of the chroot.
\r
1020 Default directory: /etc/debootstrap/scripts/
\r
1023 <dt class="hdlist1">
\r
1024 <strong>-t</strong>, <strong>--target</strong> <em>target</em>
\r
1028 Target partition (/dev/…) or directory (anything else without /dev at the
\r
1029 beginning). To install grub using <strong>--grub</strong> make sure to use a <em>device</em>
\r
1030 instead of a directory as <em>target</em> (installation of grub as bootloader when
\r
1031 using directories is NOT supported).
\r
1034 <dt class="hdlist1">
\r
1035 <strong>-v</strong>, <strong>--verbose</strong>
\r
1039 Increase verbosity.
\r
1042 <dt class="hdlist1">
\r
1043 <strong>--vmfile</strong>
\r
1047 Set up a Virtual Machine instead of installing to a partition or directory.
\r
1048 This allows deployment of a Virtual Machine. The options needs to be
\r
1049 combined with the --target option.
\r
1050 Usage example: --vmfile --target /mnt/sda1/qemu.img
\r
1053 <dt class="hdlist1">
\r
1054 <strong>--vmsize</strong> <em>size</em>
\r
1058 Use specified size for size of Virtual Machine disk file. If not specified it
\r
1059 defaults to 2G (being 2GB). Syntax as supported by qemu-img (see manpage
\r
1060 qemu-img(1) for details.
\r
1061 Usage example: --vmsize 3G
\r
1064 <dt class="hdlist1">
\r
1065 <strong>-V</strong>, <strong>--version</strong>
\r
1069 Show version of program and exit.
\r
1073 <div class="admonitionblock">
\r
1076 <img src="./images/icons/warning.png" alt="Warning" />
\r
1078 <td class="content">the command line parsing of grml-debootstrap does not validate the provided
\r
1079 arguments for the command line options. Please be careful and check docs and
\r
1080 /etc/debootstrap/config for further information.</td>
\r
1085 <div class="sect1">
\r
1086 <h2 id="_usage_examples">Usage examples</h2>
\r
1087 <div class="sectionbody">
\r
1088 <div class="literalblock">
\r
1089 <div class="content">
\r
1090 <pre><tt>grml-debootstrap --target /dev/sda1 --grub /dev/sda</tt></pre>
\r
1092 <div class="paragraph"><p>Install default Debian release (wheezy) on /dev/sda1 and install bootmanager
\r
1093 Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.</p></div>
\r
1094 <div class="literalblock">
\r
1095 <div class="content">
\r
1096 <pre><tt>grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid</tt></pre>
\r
1098 <div class="paragraph"><p>Install Debian unstable/sid on /dev/sda6, install bootmanager Grub in MBR
\r
1099 (master boot record) of /dev/sda and use /dev/sda6 as system partition.</p></div>
\r
1100 <div class="literalblock">
\r
1101 <div class="content">
\r
1102 <pre><tt>mount /dev/sda1 /data/chroot
\r
1103 grml-debootstrap --target /data/chroot</tt></pre>
\r
1105 <div class="paragraph"><p>Install default Debian release (wheezy) in directory /data/chroot (without
\r
1106 any bootloader).</p></div>
\r
1107 <div class="literalblock">
\r
1108 <div class="content">
\r
1109 <pre><tt>grml-debootstrap --target /dev/sda3 --grub /dev/sda --mirror ftp://ftp.tugraz.at/mirror/debian</tt></pre>
\r
1111 <div class="paragraph"><p>Install default debian release (wheezy) in a Virtual Machine file with
\r
1112 3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):</p></div>
\r
1113 <div class="literalblock">
\r
1114 <div class="content">
\r
1115 <pre><tt>mount /dev/sda1 /mnt/sda1
\r
1116 grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img</tt></pre>
\r
1118 <div class="paragraph"><p>Install default Debian release (wheezy) on /dev/sda3 and install bootmanager
\r
1119 Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
\r
1120 Use specified mirror instead of the default (<a href="ftp://ftp.debian.de/debian">ftp://ftp.debian.de/debian</a>) one.</p></div>
\r
1121 <div class="literalblock">
\r
1122 <div class="content">
\r
1123 <pre><tt>mount -o loop /mnt/sda6/debian-CD-1.iso /mnt/iso
\r
1124 grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/</tt></pre>
\r
1126 <div class="paragraph"><p>Install Debian on /dev/sda1 using the loopback mounted Debian-ISO
\r
1127 for the base-system and install bootmanager Grub in MBR (master boot record) of
\r
1128 /dev/sda and use /dev/sda1 as system partition. Please notice, that the chroot
\r
1129 system requires network access for all packages which are not part of the
\r
1133 <div class="sect1">
\r
1134 <h2 id="_files">Files</h2>
\r
1135 <div class="sectionbody">
\r
1136 <div class="literalblock">
\r
1137 <div class="content">
\r
1138 <pre><tt>/etc/debootstrap/config</tt></pre>
\r
1140 <div class="paragraph"><p>Main configuration file. You have to adjust it according to your needs
\r
1141 if you want to execute grml-debootstrap in the non-interactive mode without
\r
1142 any special command line arguments.</p></div>
\r
1143 <div class="literalblock">
\r
1144 <div class="content">
\r
1145 <pre><tt>/etc/debootstrap/chroot-script</tt></pre>
\r
1147 <div class="paragraph"><p>The script executed within the new Debian system as soon as the main system
\r
1148 has been installed via [c]debootstrap.</p></div>
\r
1149 <div class="literalblock">
\r
1150 <div class="content">
\r
1151 <pre><tt>/etc/debootstrap/locale.gen</tt></pre>
\r
1153 <div class="paragraph"><p>Defines the default locales used for generating locales via locale-gen.</p></div>
\r
1154 <div class="literalblock">
\r
1155 <div class="content">
\r
1156 <pre><tt>/etc/debootstrap/packages</tt></pre>
\r
1158 <div class="paragraph"><p>Defines the software packages which should be installed in the new
\r
1159 Debian system by default.</p></div>
\r
1160 <div class="literalblock">
\r
1161 <div class="content">
\r
1162 <pre><tt>/etc/debootstrap/extrapackages/</tt></pre>
\r
1164 <div class="paragraph"><p>Debian Packages dropped in this directory will be installed into the new Debian
\r
1165 system by default (Control variable: EXTRAPACKAGES)</p></div>
\r
1166 <div class="literalblock">
\r
1167 <div class="content">
\r
1168 <pre><tt>/etc/debootstrap/stages/</tt></pre>
\r
1170 <div class="paragraph"><p>The default directory for storing information about executed stages. Every
\r
1171 single function of grml-debootstrap will write <em>done</em> to the stages directory
\r
1172 into a file named as the function itself if it has been executed successfully.
\r
1173 You can adjust the location of the directory via configuration variable STAGES
\r
1174 via /etc/debootstrap/config. Please notice that you have to remove the stages
\r
1175 directory on your own if you want to re-execute grml-debootstrap after running it
\r
1176 successfully once. This should avoid recurrent execution by error of
\r
1177 grml-debootstrap (which might delete present data).</p></div>
\r
1180 <div class="sect1">
\r
1181 <h2 id="_customization">Customization</h2>
\r
1182 <div class="sectionbody">
\r
1183 <div class="paragraph"><p>You can control execution of grml-debootstrap via adjusting
\r
1184 /etc/debootstrap/config for some main stuff or via setting some selected
\r
1185 variables via command line. The packages which should be installed in the new
\r
1186 Debian system can be defined via the file /etc/debootstrap/packages. If you
\r
1187 want to put existing files to the new Debian system you can place them into the
\r
1188 (by default non-existing) directories boot, etc, share, usr and var in
\r
1189 /etc/debootstrap/. Every existing directory will be copied to the new Debian
\r
1190 system then. If you want to install additional packages that are not available
\r
1191 via the Grml or Debian mirror drop them into /etc/debootstrap/extrapackages and
\r
1192 make sure that EXTRAPACKAGES is set to "yes".</p></div>
\r
1195 <div class="sect1">
\r
1196 <h2 id="_automatic_installation">Automatic installation</h2>
\r
1197 <div class="sectionbody">
\r
1198 <div class="paragraph"><p>If environment variable AUTOINSTALL is set grml-debootstrap can be executed in a
\r
1199 full automatic mode. While this mode isn’t really useful for interactive
\r
1200 execution (just configure /etc/debootstrap/configure or specify the relevant
\r
1201 variables on the command line instead) it is meant for use via boot option
\r
1202 debian2hd on the Grml live system. The boot option debian2hd (more precise: the
\r
1203 kernelname at the bootprompt) supports the following boot options (they
\r
1204 correspond with the command line options mentioned above):</p></div>
\r
1205 <div class="literalblock">
\r
1206 <div class="content">
\r
1207 <pre><tt>target=...</tt></pre>
\r
1209 <div class="paragraph"><p>The target partition/directory of the new Debian system. Usage example:
\r
1210 target=/dev/sda1</p></div>
\r
1211 <div class="literalblock">
\r
1212 <div class="content">
\r
1213 <pre><tt>grub=...</tt></pre>
\r
1215 <div class="paragraph"><p>Where do you want to install grub to? Usage example: grub=/dev/sda</p></div>
\r
1216 <div class="literalblock">
\r
1217 <div class="content">
\r
1218 <pre><tt>release=...</tt></pre>
\r
1220 <div class="paragraph"><p>Specify release of new Debian system. Defaults to Debian wheezy. Supported
\r
1221 relases: lenny, squeeze, wheezy and sid. Usage example: release=sid</p></div>
\r
1222 <div class="literalblock">
\r
1223 <div class="content">
\r
1224 <pre><tt>mirror=...</tt></pre>
\r
1226 <div class="paragraph"><p>Specify mirror which should be used for apt-get/aptitude instead
\r
1227 of the default one (<a href="http://http.debian.net/debian">http://http.debian.net/debian</a>).
\r
1228 Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian</p></div>
\r
1229 <div class="literalblock">
\r
1230 <div class="content">
\r
1231 <pre><tt>password=...</tt></pre>
\r
1233 <div class="paragraph"><p>Set password of user root without prompting for it but set it to the given
\r
1234 argument. Usage example: password=AiTh5ahn</p></div>
\r
1235 <div class="sect2">
\r
1236 <h3 id="_usage_example_for_automatic_installation">Usage example for automatic installation:</h3>
\r
1237 <div class="literalblock">
\r
1238 <div class="content">
\r
1239 <pre><tt>debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar</tt></pre>
\r
1241 <div class="paragraph"><p>You have to enter this command line at the bootprompt of the Grml live system.
\r
1242 Please make sure that /dev/sda1 is the partition where you really want to
\r
1243 install your new Debian system.</p></div>
\r
1244 <div class="admonitionblock">
\r
1247 <img src="./images/icons/note.png" alt="Note" />
\r
1249 <td class="content">Automatic installation within booting process is done in grml-autoconfig via
\r
1250 setting environment variable AUTOINSTALL and creation of
\r
1251 /usr/bin/grml-debootstrap_noninteractive with the available and relevant
\r
1252 boot options for grml-debootstrap.</td>
\r
1258 <div class="sect1">
\r
1259 <h2 id="_supported_releases">Supported Releases</h2>
\r
1260 <div class="sectionbody">
\r
1261 <div class="tableblock">
\r
1262 <table rules="all"
\r
1264 cellspacing="0" cellpadding="4">
\r
1265 <caption class="title">TableCurrent status</caption>
\r
1266 <col width="114" />
\r
1267 <col width="205" />
\r
1268 <col width="182" />
\r
1271 <th align="right">
\r
1274 <th align="center">
\r
1277 <th align="center">
\r
1282 <tbody valign="top">
\r
1284 <td align="right">
\r
1287 <td align="center">
\r
1290 <td align="center">
\r
1295 <td align="right">
\r
1298 <td align="center">
\r
1301 <td align="center">
\r
1306 <td align="right">
\r
1309 <td align="center">
\r
1312 <td align="center">
\r
1317 <td align="right">
\r
1320 <td align="center">
\r
1323 <td align="center">
\r
1330 <div class="admonitionblock">
\r
1333 <img src="./images/icons/note.png" alt="Note" />
\r
1335 <td class="content">
\r
1336 <div class="title">lenny release</div>
\r
1337 <div class="paragraph"><p>[1] Please notice that lenny is the current old-stable release within Debian.
\r
1338 grml-debootstrap can handle the release but you really should not use lenny
\r
1339 anymore unless you really know what you are doing. Choose Debian 6.0 (squeeze)
\r
1340 or Debian 7.0 (wheezy) instead.</p></div>
\r
1341 <div class="paragraph"><p>Notice that you need to specify a mirror providing the lenny release, the
\r
1342 default (<a href="http://http.debian.net/debian">http://http.debian.net/debian</a>) doesn’t provide it any longer nowadays.
\r
1343 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
1344 your own lenny mirror.</p></div>
\r
1345 <div class="paragraph"><p>When installing lenny to a new mdraid, grml-debootstrap will use md metadata
\r
1346 format version 0.90. This limits the device to a maximum size of 2TB, but has
\r
1347 the advantage of grub-legacy actually being able to boot from it.</p></div>
\r
1351 <div class="admonitionblock">
\r
1354 <img src="./images/icons/note.png" alt="Note" />
\r
1356 <td class="content">
\r
1357 <div class="title">sid release</div>
\r
1358 <div class="paragraph"><p>[2] Please notice that sid is Debian/unstable and due to its nature might not be
\r
1359 always installable. What <em>might</em> work instead is deploying a stable or testing
\r
1360 release and upgrade it after installation finished.</p></div>
\r
1366 <div class="sect1">
\r
1367 <h2 id="_bugs">Bugs</h2>
\r
1368 <div class="sectionbody">
\r
1369 <div class="paragraph"><p>Probably. Please send bugreports to Michael Prokop <<a href="mailto:mika@grml.org">mika@grml.org</a>>.</p></div>
\r
1372 <div class="sect1">
\r
1373 <h2 id="_see_also">See also</h2>
\r
1374 <div class="sectionbody">
\r
1375 <div class="paragraph"><p>debootstrap (8), cdebootstrap (1).</p></div>
\r
1378 <div class="sect1">
\r
1379 <h2 id="_author">Author</h2>
\r
1380 <div class="sectionbody">
\r
1381 <div class="paragraph"><p>Michael Prokop <<a href="mailto:mika@grml.org">mika@grml.org</a>></p></div>
\r
1385 <div id="footnotes"><hr /></div>
\r
1387 <div id="footer-text">
\r
1388 Last updated 2013-02-19 00:04:27 CET
\r