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.6" />
\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.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
417 font-family: monospace;
\r
418 font-size: inherit;
\r
424 margin-bottom: 1.5em;
\r
426 div.tableblock > table {
\r
427 border: 3px solid #527bbd;
\r
429 thead, p.table.header {
\r
436 /* Because the table frame attribute is overriden by CSS in most browsers. */
\r
437 div.tableblock > table[frame="void"] {
\r
438 border-style: none;
\r
440 div.tableblock > table[frame="hsides"] {
\r
441 border-left-style: none;
\r
442 border-right-style: none;
\r
444 div.tableblock > table[frame="vsides"] {
\r
445 border-top-style: none;
\r
446 border-bottom-style: none;
\r
456 font-family: monospace;
\r
457 font-size: inherit;
\r
463 margin-bottom: 1.5em;
\r
465 thead, p.tableblock.header {
\r
474 border-spacing: 0px;
\r
475 border-style: solid;
\r
476 border-color: #527bbd;
\r
477 border-collapse: collapse;
\r
479 th.tableblock, td.tableblock {
\r
482 border-style: solid;
\r
483 border-color: #527bbd;
\r
486 table.tableblock.frame-topbot {
\r
487 border-left-style: hidden;
\r
488 border-right-style: hidden;
\r
490 table.tableblock.frame-sides {
\r
491 border-top-style: hidden;
\r
492 border-bottom-style: hidden;
\r
494 table.tableblock.frame-none {
\r
495 border-style: hidden;
\r
498 th.tableblock.halign-left, td.tableblock.halign-left {
\r
501 th.tableblock.halign-center, td.tableblock.halign-center {
\r
502 text-align: center;
\r
504 th.tableblock.halign-right, td.tableblock.halign-right {
\r
508 th.tableblock.valign-top, td.tableblock.valign-top {
\r
509 vertical-align: top;
\r
511 th.tableblock.valign-middle, td.tableblock.valign-middle {
\r
512 vertical-align: middle;
\r
514 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
\r
515 vertical-align: bottom;
\r
525 padding-top: 0.5em;
\r
526 padding-bottom: 0.5em;
\r
527 border-top: 2px solid silver;
\r
528 border-bottom: 2px solid silver;
\r
531 border-style: none;
\r
533 body.manpage div.sectionbody {
\r
538 body.manpage div#toc { display: none; }
\r
541 <script type="text/javascript">
\r
543 var asciidoc = { // Namespace.
\r
545 /////////////////////////////////////////////////////////////////////
\r
546 // Table Of Contents generator
\r
547 /////////////////////////////////////////////////////////////////////
\r
549 /* Author: Mihai Bazon, September 2002
\r
550 * http://students.infoiasi.ro/~mishoo
\r
552 * Table Of Content generator
\r
555 * Feel free to use this script under the terms of the GNU General Public
\r
556 * License, as long as you do not remove or alter this notice.
\r
559 /* modified by Troy D. Hanson, September 2006. License: GPL */
\r
560 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
\r
562 // toclevels = 1..4.
\r
563 toc: function (toclevels) {
\r
565 function getText(el) {
\r
567 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
568 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
\r
570 else if (i.firstChild != null)
\r
571 text += getText(i);
\r
576 function TocEntry(el, text, toclevel) {
\r
579 this.toclevel = toclevel;
\r
582 function tocEntries(el, toclevels) {
\r
583 var result = new Array;
\r
584 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
\r
585 // Function that scans the DOM tree for header elements (the DOM2
\r
586 // nodeIterator API would be a better technique but not supported by all
\r
588 var iterate = function (el) {
\r
589 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
590 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
\r
591 var mo = re.exec(i.tagName);
\r
592 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
\r
593 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
\r
603 var toc = document.getElementById("toc");
\r
608 // Delete existing TOC entries in case we're reloading the TOC.
\r
609 var tocEntriesToRemove = [];
\r
611 for (i = 0; i < toc.childNodes.length; i++) {
\r
612 var entry = toc.childNodes[i];
\r
613 if (entry.nodeName == 'div'
\r
614 && entry.getAttribute("class")
\r
615 && entry.getAttribute("class").match(/^toclevel/))
\r
616 tocEntriesToRemove.push(entry);
\r
618 for (i = 0; i < tocEntriesToRemove.length; i++) {
\r
619 toc.removeChild(tocEntriesToRemove[i]);
\r
622 // Rebuild TOC entries.
\r
623 var entries = tocEntries(document.getElementById("content"), toclevels);
\r
624 for (var i = 0; i < entries.length; ++i) {
\r
625 var entry = entries[i];
\r
626 if (entry.element.id == "")
\r
627 entry.element.id = "_toc_" + i;
\r
628 var a = document.createElement("a");
\r
629 a.href = "#" + entry.element.id;
\r
630 a.appendChild(document.createTextNode(entry.text));
\r
631 var div = document.createElement("div");
\r
632 div.appendChild(a);
\r
633 div.className = "toclevel" + entry.toclevel;
\r
634 toc.appendChild(div);
\r
636 if (entries.length == 0)
\r
637 toc.parentNode.removeChild(toc);
\r
641 /////////////////////////////////////////////////////////////////////
\r
642 // Footnotes generator
\r
643 /////////////////////////////////////////////////////////////////////
\r
645 /* Based on footnote generation code from:
\r
646 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
\r
649 footnotes: function () {
\r
650 // Delete existing footnote entries in case we're reloading the footnodes.
\r
652 var noteholder = document.getElementById("footnotes");
\r
656 var entriesToRemove = [];
\r
657 for (i = 0; i < noteholder.childNodes.length; i++) {
\r
658 var entry = noteholder.childNodes[i];
\r
659 if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")
\r
660 entriesToRemove.push(entry);
\r
662 for (i = 0; i < entriesToRemove.length; i++) {
\r
663 noteholder.removeChild(entriesToRemove[i]);
\r
666 // Rebuild footnote entries.
\r
667 var cont = document.getElementById("content");
\r
668 var spans = cont.getElementsByTagName("span");
\r
671 for (i=0; i<spans.length; i++) {
\r
672 if (spans[i].className == "footnote") {
\r
674 var note = spans[i].getAttribute("data-note");
\r
676 // Use [\s\S] in place of . so multi-line matches work.
\r
677 // Because JavaScript has no s (dotall) regex flag.
\r
678 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
\r
679 spans[i].innerHTML =
\r
680 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
\r
681 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
682 spans[i].setAttribute("data-note", note);
\r
684 noteholder.innerHTML +=
\r
685 "<div class='footnote' id='_footnote_" + n + "'>" +
\r
686 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
\r
687 n + "</a>. " + note + "</div>";
\r
688 var id =spans[i].getAttribute("id");
\r
689 if (id != null) refs["#"+id] = n;
\r
693 noteholder.parentNode.removeChild(noteholder);
\r
695 // Process footnoterefs.
\r
696 for (i=0; i<spans.length; i++) {
\r
697 if (spans[i].className == "footnoteref") {
\r
698 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
\r
699 href = href.match(/#.*/)[0]; // Because IE return full URL.
\r
701 spans[i].innerHTML =
\r
702 "[<a href='#_footnote_" + n +
\r
703 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
709 install: function(toclevels) {
\r
712 function reinstall() {
\r
713 asciidoc.footnotes();
\r
715 asciidoc.toc(toclevels);
\r
719 function reinstallAndRemoveTimer() {
\r
720 clearInterval(timerId);
\r
724 timerId = setInterval(reinstall, 500);
\r
725 if (document.addEventListener)
\r
726 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
\r
728 window.onload = reinstallAndRemoveTimer;
\r
732 asciidoc.install();
\r
736 <body class="article">
\r
738 <h1>grml-debootstrap(8)</h1>
\r
741 <div class="sect1">
\r
742 <h2 id="_name">Name</h2>
\r
743 <div class="sectionbody">
\r
744 <div class="paragraph"><p>grml-debootstrap - wrapper around debootstrap for installing plain Debian</p></div>
\r
747 <div class="sect1">
\r
748 <h2 id="_synopsis">Synopsis</h2>
\r
749 <div class="sectionbody">
\r
750 <div class="paragraph"><p>grml-debootstrap [ <em>options</em> ]</p></div>
\r
751 <div class="paragraph"><p><span class="image">
\r
752 <img src="images/screenshot.png" alt="Screenshot" />
\r
756 <div class="sect1">
\r
757 <h2 id="_introduction">Introduction</h2>
\r
758 <div class="sectionbody">
\r
759 <div class="paragraph"><p>grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap if you
\r
760 want) for installing a plain Debian system (e.g. via Grml) very fast and easy.</p></div>
\r
761 <div class="paragraph"><p>All you have to do is adjust a few variables in configuration file
\r
762 /etc/debootstrap/config (or specify some variables via command line) and invoke
\r
763 grml-debootstrap without any further options then.</p></div>
\r
764 <div class="paragraph"><p>A plain and base Debian system will be installed on the given device (or
\r
765 directory) then. Customization of this process is possible as well.</p></div>
\r
766 <div class="admonitionblock">
\r
769 <img src="./images/icons/caution.png" alt="Caution" />
\r
771 <td class="content">The Grml team does not take responsibility for loss of any data!</td>
\r
776 <div class="sect1">
\r
777 <h2 id="_options_and_environment_variables">Options and environment variables</h2>
\r
778 <div class="sectionbody">
\r
779 <div class="dlist"><dl>
\r
780 <dt class="hdlist1">
\r
781 <strong>--arch</strong> <em>architecture</em>
\r
785 Set target architecture you want to install. Defaults to the architecture
\r
786 you are currently running. If you’re running an amd64 kernel and want to
\r
787 deploy an i386 system use this option. Note: deploying amd64 from an i386
\r
788 kernel does <strong>not</strong> work. Example: "<em>--arch i386</em>"
\r
791 <dt class="hdlist1">
\r
792 <strong>--bootappend</strong> <em>appendline-for-the-kernel</em>
\r
796 Specify appendline for the kernel.
\r
797 E.g. "<em>pci=nomsi</em>"
\r
800 <dt class="hdlist1">
\r
801 <strong>-c</strong>, <strong>--config</strong> <em>file</em>
\r
805 Use specified configuration file, defaults to /etc/debootstrap/config.
\r
808 <dt class="hdlist1">
\r
809 <strong>--chroot-scripts</strong> <em>directory</em>
\r
813 Execute chroot scripts from specified directory. This allows customisation
\r
814 of the chroot setup, the executable script(s) present in the given directory
\r
815 are executed at the end of the chroot procedure.
\r
816 Default directory: /etc/debootstrap/chroot-scripts/
\r
819 <dt class="hdlist1">
\r
820 <strong>-d</strong>, <strong>--confdir</strong> <em>path</em>
\r
824 Place of configuration files for debootstrap, defaults to /etc/debootstrap.
\r
827 <dt class="hdlist1">
\r
828 <strong>--debconf</strong> <em>file</em>
\r
832 Use specified file for preseeding Debian packages instead of using
\r
833 the default <confdir>/debconf-selections.
\r
836 <dt class="hdlist1">
\r
837 <strong>--debopt</strong> <em>params</em>
\r
841 Extra parameters passed to the debootstrap command.
\r
844 <dt class="hdlist1">
\r
845 <strong>--filesystem</strong> <em>filesystem</em>
\r
849 Filesystem that should be created when installing to a partition.
\r
850 If unset defaults to ext3. Valid values are all filesystems that
\r
851 can be created through mkfs.<em>filesystem</em>.
\r
854 <dt class="hdlist1">
\r
855 <strong>--force</strong>
\r
859 Skip user acknowledgement and do not prompt for user input.
\r
862 <dt class="hdlist1">
\r
863 <strong>--grmlrepos</strong>
\r
867 Enable Grml.org’s Debian repository (<a href="http://deb.grml.org/">http://deb.grml.org/</a>) via the
\r
868 /etc/apt/sources.list.d/grml.list configuration file. This provides the
\r
869 option to install Debian packages from Grml’s repository.
\r
872 <dt class="hdlist1">
\r
873 <strong>--grub</strong> <em>device</em>
\r
877 Device where grub should be installed to. Note that only the MBR (master
\r
878 boot record) can be used (/dev/sda, /dev/sdb,…). Partitions (like
\r
879 /dev/sda1, /dev/sdb2,…) are NOT supported because grub2 doesn’t support
\r
880 installation into the PBR (partition boot record) anymore. Usage example:
\r
881 <em>--grub /dev/sda</em>. Note: just do not set this option to avoid installation
\r
885 <dt class="hdlist1">
\r
886 <strong>--help</strong>, <strong>-h</strong>
\r
890 Show summary of options and exit.
\r
893 <dt class="hdlist1">
\r
894 <strong>--hostname</strong> <em>hostname</em>
\r
898 Use specified hostname instead of the default (being <em>grml</em>).
\r
901 <dt class="hdlist1">
\r
902 <strong>-i</strong>, <strong>--iso</strong> <em>/mntpoint</em>
\r
906 Specify mount point where you have a Debian ISO mounted loopback.
\r
907 Using this option instead of the mirror option gives you the possibility
\r
908 to install the base-system without network access. Make sure you
\r
909 mounted the according Debian-ISO to the given <em>/mntpoint</em>. See section
\r
910 <em>Usage examples</em> for a demonstration.
\r
913 <dt class="hdlist1">
\r
914 <strong>--insecure</strong>
\r
918 Do not download and check signatures for retrieved Release files.
\r
921 <dt class="hdlist1">
\r
922 <strong>--keep_src_list</strong>
\r
926 Do not overwrite user provided /etc/apt/sources.list.
\r
929 <dt class="hdlist1">
\r
930 <strong>-m</strong>, <strong>--mirror</strong> <em>URL</em>
\r
934 Specify mirror which should be used for apt-get/aptitude.
\r
935 Corresponding with configuration variable MIRROR.
\r
938 <dt class="hdlist1">
\r
939 <strong>--nodebootstrap</strong>
\r
943 Skip debootstrap, only do configuration to the target.
\r
946 <dt class="hdlist1">
\r
947 <strong>--nopackages</strong>
\r
951 Skip installation of packages defined in /etc/debootstrap/packages.
\r
954 <dt class="hdlist1">
\r
955 <strong>--nopassword</strong>
\r
959 Do not prompt for the root password. Note: Use the <em>--password</em> option if
\r
960 you want to set the root password during an automatic installation but don’t
\r
961 want to use the interactive dialog.
\r
964 <dt class="hdlist1">
\r
965 <strong>-p</strong>, <strong>--mntpoint</strong> <em>/mntpoint</em>
\r
969 Specify mount point that should be used for mounting the target system.
\r
970 Corresponding with configuration variable MNTPOINT.
\r
971 Note: this option has no effect if option -t is given and represents a
\r
975 <dt class="hdlist1">
\r
976 <strong>--packages</strong> <em>file</em>
\r
980 Use specified file as list for packages that should be installed instead of
\r
981 the default package list file <confdir>/packages.
\r
984 <dt class="hdlist1">
\r
985 <strong>--password</strong> <em>password</em>
\r
989 Use specified password as password for user root. Use with caution, as your
\r
990 command line might be visible in the process list and the shell history.
\r
991 It’s meant for automatic installation only.
\r
994 <dt class="hdlist1">
\r
995 <strong>-r</strong>, <strong>--release</strong> <em>releasename</em>
\r
999 Specify release of new Debian system. Supported releases names: lenny,
\r
1000 squeeze, wheezy (note: requires current version of debootstrap) and sid.
\r
1001 Corresponding with configuration variable RELEASE.
\r
1004 <dt class="hdlist1">
\r
1005 <strong>--pre-scripts</strong> <em>directory</em>
\r
1009 Execute scripts from specified directory before executing the chroot
\r
1010 script. This allows customisation of the system before the chroot has
\r
1011 been set up. The environment variable $MNTPOINT is available inside the
\r
1012 scripts for direct access of the chroot.
\r
1013 Default directory: /etc/debootstrap/pre-scripts/
\r
1016 <dt class="hdlist1">
\r
1017 <strong>--scripts</strong> <em>directory</em>
\r
1021 Execute scripts from specified directory. This allows customisation of
\r
1022 the system after the chroot has been set up. The environment variable
\r
1023 $MNTPOINT is available inside the scripts for direct access of the chroot.
\r
1024 Default directory: /etc/debootstrap/scripts/
\r
1027 <dt class="hdlist1">
\r
1028 <strong>-t</strong>, <strong>--target</strong> <em>target</em>
\r
1032 Target partition (/dev/…) or directory (anything else without /dev at the
\r
1033 beginning). To install grub using <strong>--grub</strong> make sure to use a <em>device</em>
\r
1034 instead of a directory as <em>target</em> (installation of grub as bootloader when
\r
1035 using directories is NOT supported).
\r
1038 <dt class="hdlist1">
\r
1039 <strong>-v</strong>, <strong>--verbose</strong>
\r
1043 Increase verbosity.
\r
1046 <dt class="hdlist1">
\r
1047 <strong>--vmfile</strong>
\r
1051 Set up a Virtual Machine instead of installing to a partition or directory.
\r
1052 This allows deployment of a Virtual Machine. The options needs to be
\r
1053 combined with the --target option.
\r
1054 Usage example: --vmfile --target /mnt/sda1/qemu.img
\r
1057 <dt class="hdlist1">
\r
1058 <strong>--vmsize</strong> <em>size</em>
\r
1062 Use specified size for size of Virtual Machine disk file. If not specified it
\r
1063 defaults to 2G (being 2GB). Syntax as supported by qemu-img (see manpage
\r
1064 qemu-img(1) for details.
\r
1065 Usage example: --vmsize 3G
\r
1068 <dt class="hdlist1">
\r
1069 <strong>-V</strong>, <strong>--version</strong>
\r
1073 Show version of program and exit.
\r
1077 <div class="admonitionblock">
\r
1080 <img src="./images/icons/warning.png" alt="Warning" />
\r
1082 <td class="content">the command line parsing of grml-debootstrap does not validate the provided
\r
1083 arguments for the command line options. Please be careful and check docs and
\r
1084 /etc/debootstrap/config for further information.</td>
\r
1089 <div class="sect1">
\r
1090 <h2 id="_usage_examples">Usage examples</h2>
\r
1091 <div class="sectionbody">
\r
1092 <div class="literalblock">
\r
1093 <div class="content">
\r
1094 <pre><tt>grml-debootstrap --target /dev/sda1 --grub /dev/sda</tt></pre>
\r
1096 <div class="paragraph"><p>Install default Debian release (stable/squeeze) on /dev/sda1 and install bootmanager
\r
1097 Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.</p></div>
\r
1098 <div class="literalblock">
\r
1099 <div class="content">
\r
1100 <pre><tt>grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid</tt></pre>
\r
1102 <div class="paragraph"><p>Install Debian unstable/sid on /dev/sda6, install bootmanager Grub in MBR
\r
1103 (master boot record) of /dev/sda and use /dev/sda6 as system partition.</p></div>
\r
1104 <div class="literalblock">
\r
1105 <div class="content">
\r
1106 <pre><tt>mount /dev/sda1 /data/chroot
\r
1107 grml-debootstrap --target /data/chroot</tt></pre>
\r
1109 <div class="paragraph"><p>Install default Debian release (stable/squeeze) in directory /data/chroot (without
\r
1110 any bootloader).</p></div>
\r
1111 <div class="literalblock">
\r
1112 <div class="content">
\r
1113 <pre><tt>grml-debootstrap --target /dev/sda3 --grub /dev/sda --mirror ftp://ftp.tugraz.at/mirror/debian</tt></pre>
\r
1115 <div class="paragraph"><p>Install default debian release (stable/squeeze) in a Virtual Machine file with
\r
1116 3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):</p></div>
\r
1117 <div class="literalblock">
\r
1118 <div class="content">
\r
1119 <pre><tt>mount /dev/sda1 /mnt/sda1
\r
1120 grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img</tt></pre>
\r
1122 <div class="paragraph"><p>Install default Debian release (stable/squeeze) on /dev/sda3 and install bootmanager
\r
1123 Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
\r
1124 Use specified mirror instead of the default (<a href="ftp://ftp.debian.de/debian">ftp://ftp.debian.de/debian</a>) one.</p></div>
\r
1125 <div class="literalblock">
\r
1126 <div class="content">
\r
1127 <pre><tt>mount -o loop /mnt/sda6/debian-40r0-i386-CD-1.iso /mnt/iso
\r
1128 grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/</tt></pre>
\r
1130 <div class="paragraph"><p>Install Debian stable/squeeze on /dev/sda1 using the loopback mounted Debian-ISO
\r
1131 for the base-system and install bootmanager Grub in MBR (master boot record) of
\r
1132 /dev/sda and use /dev/sda1 as system partition. Please notice, that the chroot
\r
1133 system requires network access for all packages which are not part of the
\r
1137 <div class="sect1">
\r
1138 <h2 id="_files">Files</h2>
\r
1139 <div class="sectionbody">
\r
1140 <div class="literalblock">
\r
1141 <div class="content">
\r
1142 <pre><tt>/etc/debootstrap/config</tt></pre>
\r
1144 <div class="paragraph"><p>Main configuration file. You have to adjust it according to your needs
\r
1145 if you want to execute grml-debootstrap in the non-interactive mode without
\r
1146 any special command line arguments.</p></div>
\r
1147 <div class="literalblock">
\r
1148 <div class="content">
\r
1149 <pre><tt>/etc/debootstrap/chroot-script</tt></pre>
\r
1151 <div class="paragraph"><p>The script executed within the new Debian system as soon as the main system
\r
1152 has been installed via [c]debootstrap.</p></div>
\r
1153 <div class="literalblock">
\r
1154 <div class="content">
\r
1155 <pre><tt>/etc/debootstrap/locale.gen</tt></pre>
\r
1157 <div class="paragraph"><p>Defines the default locales used for generating locales via locale-gen.</p></div>
\r
1158 <div class="literalblock">
\r
1159 <div class="content">
\r
1160 <pre><tt>/etc/debootstrap/packages</tt></pre>
\r
1162 <div class="paragraph"><p>Defines the software packages which should be installed in the new
\r
1163 Debian system by default.</p></div>
\r
1164 <div class="literalblock">
\r
1165 <div class="content">
\r
1166 <pre><tt>/etc/debootstrap/extrapackages/</tt></pre>
\r
1168 <div class="paragraph"><p>Debian Packages dropped in this directory will be installed into the new Debian
\r
1169 system by default (Control variable: EXTRAPACKAGES)</p></div>
\r
1170 <div class="literalblock">
\r
1171 <div class="content">
\r
1172 <pre><tt>/etc/debootstrap/stages/</tt></pre>
\r
1174 <div class="paragraph"><p>The default directory for storing information about executed stages. Every
\r
1175 single function of grml-debootstrap will write <em>done</em> to the stages directory
\r
1176 into a file named as the function itself if it has been executed successfully.
\r
1177 You can adjust the location of the directory via configuration variable STAGES
\r
1178 via /etc/debootstrap/config. Please notice that you have to remove the stages
\r
1179 directory on your own if you want to re-execute grml-debootstrap after running it
\r
1180 successfully once. This should avoid recurrent execution by error of
\r
1181 grml-debootstrap (which might delete present data).</p></div>
\r
1184 <div class="sect1">
\r
1185 <h2 id="_customization">Customization</h2>
\r
1186 <div class="sectionbody">
\r
1187 <div class="paragraph"><p>You can control execution of grml-debootstrap via adjusting
\r
1188 /etc/debootstrap/config for some main stuff or via setting some selected
\r
1189 variables via command line. The packages which should be installed in the new
\r
1190 Debian system can be defined via the file /etc/debootstrap/packages. If you
\r
1191 want to put existing files to the new Debian system you can place them into the
\r
1192 (by default non-existing) directories boot, etc, share, usr and var in
\r
1193 /etc/debootstrap/. Every existing directory will be copied to the new Debian
\r
1194 system then. If you want to install additional packages that are not available
\r
1195 via the Grml or Debian mirror drop them into /etc/debootstrap/extrapackages and
\r
1196 make sure that EXTRAPACKAGES is set to "yes".</p></div>
\r
1199 <div class="sect1">
\r
1200 <h2 id="_automatic_installation">Automatic installation</h2>
\r
1201 <div class="sectionbody">
\r
1202 <div class="paragraph"><p>If environment variable AUTOINSTALL is set grml-debootstrap can be executed in a
\r
1203 full automatic mode. While this mode isn’t really useful for interactive
\r
1204 execution (just configure /etc/debootstrap/configure or specify the relevant
\r
1205 variables on the command line instead) it is meant for use via boot option
\r
1206 debian2hd. The boot option debian2hd (more precise: the kernelname on bootprompt)
\r
1207 supports the following boot options (they correspond with the command line options
\r
1208 mentioned above):</p></div>
\r
1209 <div class="literalblock">
\r
1210 <div class="content">
\r
1211 <pre><tt>target=...</tt></pre>
\r
1213 <div class="paragraph"><p>The target partition/directory of the new Debian system. Usage example:
\r
1214 target=/dev/sda1</p></div>
\r
1215 <div class="literalblock">
\r
1216 <div class="content">
\r
1217 <pre><tt>grub=...</tt></pre>
\r
1219 <div class="paragraph"><p>Where do you want to install grub to? Usage example: grub=/dev/sda</p></div>
\r
1220 <div class="literalblock">
\r
1221 <div class="content">
\r
1222 <pre><tt>release=...</tt></pre>
\r
1224 <div class="paragraph"><p>Specify release of new Debian system. Defaults to Debian squeeze. Supported
\r
1225 relases: lenny, squeeze, wheezy and sid. Usage example: release=sid</p></div>
\r
1226 <div class="literalblock">
\r
1227 <div class="content">
\r
1228 <pre><tt>mirror=...</tt></pre>
\r
1230 <div class="paragraph"><p>Specify mirror which should be used for apt-get/aptitude instead
\r
1231 of the default one (<a href="ftp://ftp.debian.de/debian">ftp://ftp.debian.de/debian</a>).
\r
1232 Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian</p></div>
\r
1233 <div class="literalblock">
\r
1234 <div class="content">
\r
1235 <pre><tt>password=...</tt></pre>
\r
1237 <div class="paragraph"><p>Set password of user root without prompting for it but set it to the given
\r
1238 argument. Usage example: password=AiTh5ahn</p></div>
\r
1239 <div class="sect2">
\r
1240 <h3 id="_usage_example_for_automatic_installation">Usage example for automatic installation:</h3>
\r
1241 <div class="literalblock">
\r
1242 <div class="content">
\r
1243 <pre><tt>debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar</tt></pre>
\r
1245 <div class="paragraph"><p>You have to enter this command line at the bootprompt of the Grml live system.
\r
1246 Please make sure that /dev/sda1 is the partition where you really want to
\r
1247 install your new Debian system.</p></div>
\r
1248 <div class="admonitionblock">
\r
1251 <img src="./images/icons/note.png" alt="Note" />
\r
1253 <td class="content">Automatic installation within booting process is done in grml-autoconfig via
\r
1254 setting environment variable AUTOINSTALL and creation of
\r
1255 /usr/bin/grml-debootstrap_noninteractive with the available and relevant
\r
1256 boot options for grml-debootstrap.</td>
\r
1262 <div class="sect1">
\r
1263 <h2 id="_supported_releases">Supported Releases</h2>
\r
1264 <div class="sectionbody">
\r
1265 <div class="tableblock">
\r
1266 <table rules="all"
\r
1268 cellspacing="0" cellpadding="4">
\r
1269 <caption class="title">TableCurrent status</caption>
\r
1270 <col width="114" />
\r
1271 <col width="205" />
\r
1272 <col width="182" />
\r
1275 <th align="right">
\r
1278 <th align="center">
\r
1281 <th align="center">
\r
1286 <tbody valign="top">
\r
1288 <td align="right">
\r
1291 <td align="center">
\r
1294 <td align="center">
\r
1299 <td align="right">
\r
1302 <td align="center">
\r
1305 <td align="center">
\r
1310 <td align="right">
\r
1313 <td align="center">
\r
1316 <td align="center">
\r
1321 <td align="right">
\r
1324 <td align="center">
\r
1327 <td align="center">
\r
1334 <div class="admonitionblock">
\r
1337 <img src="./images/icons/note.png" alt="Note" />
\r
1339 <td class="content">
\r
1340 <div class="title">lenny release</div>
\r
1341 <div class="paragraph"><p>[1] Please notice that lenny is the current old-stable release within Debian.
\r
1342 grml-debootstrap can handle the release but you really should not use lenny
\r
1343 anymore unless you really know what you are doing. Choose stable (squeeze)
\r
1344 instead.</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 stable (squeeze) or
\r
1360 testing (wheezy) 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 2012-04-10 12:22:02 CEST
\r