Update to r44623:

Editorial review of boot stages.
Format loader built-in commands as a table.
This commit is contained in:
Bjoern Heidotting 2016-07-28 20:56:28 +00:00
parent bca27aabd7
commit aa882aab59
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49189

View file

@ -5,7 +5,7 @@
$FreeBSD$ $FreeBSD$
$FreeBSDde: de-docproj/books/handbook/boot/chapter.xml,v 1.63 2012/04/22 20:05:15 bcr Exp $ $FreeBSDde: de-docproj/books/handbook/boot/chapter.xml,v 1.63 2012/04/22 20:05:15 bcr Exp $
basiert auf: r44622 basiert auf: r44623
--> -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="boot"> <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="boot">
<info><title>&os;s Bootvorgang</title> <info><title>&os;s Bootvorgang</title>
@ -192,17 +192,12 @@
<primary>Master Boot Record (<acronym>MBR</acronym>)</primary> <primary>Master Boot Record (<acronym>MBR</acronym>)</primary>
</indexterm> </indexterm>
<para>Der Code im <acronym>MBR</acronym> oder im Boot-Manager <para>Der Boot-Manager Code im <acronym>MBR</acronym>
wird manchmal auch als <emphasis>stage zero</emphasis> des wird manchmal auch als <emphasis>stage zero</emphasis> des
Boot-Prozesses bezeichnet. Dieser Abschnitt beschreibt zwei Boot-Prozesses bezeichnet. In der Voreinstellung verwendet
Boot-Manager: <application>boot0</application> und &os; den <application>boot0</application> Boot-Manager.</para>
<application>LILO</application>.</para>
<formalpara> <para>Der vom &os;-Installationsprogramm
<title>Der <application>boot0</application>
Boot-Manager:</title>
<para>Der vom &os;-Installationsprogramm oder &man.boot0cfg.8;
in der Voreinstelung installierte <acronym>MBR</acronym> in der Voreinstelung installierte <acronym>MBR</acronym>
basiert auf <filename>/boot/boot0</filename>. Die Größe und basiert auf <filename>/boot/boot0</filename>. Die Größe und
Leistungsfähigkeit von <application>boot0</application> ist Leistungsfähigkeit von <application>boot0</application> ist
@ -213,7 +208,6 @@
<application>boot0</application> und mehrere Betriebssysteme <application>boot0</application> und mehrere Betriebssysteme
installiert sind, wird beim Starten des Computers eine installiert sind, wird beim Starten des Computers eine
Anzeige ähnlich der folgenden zu sehen sein:</para> Anzeige ähnlich der folgenden zu sehen sein:</para>
</formalpara>
<example xml:id="boot-boot0-example"> <example xml:id="boot-boot0-example">
<title><filename>boot0</filename>-Screenshot</title> <title><filename>boot0</filename>-Screenshot</title>
@ -224,7 +218,7 @@ F2 FreeBSD
Default: F2</screen> Default: F2</screen>
</example> </example>
<para>Diverse Betriebssysteme, insbesondere &windows;, <para>Diverse Betriebssysteme
überschreiben den existierenden <acronym>MBR</acronym>, wenn überschreiben den existierenden <acronym>MBR</acronym>, wenn
sie nach &os; installiert werden. Falls dies passiert, kann sie nach &os; installiert werden. Falls dies passiert, kann
mit folgendem Kommando der momentane <acronym>MBR</acronym> mit folgendem Kommando der momentane <acronym>MBR</acronym>
@ -241,34 +235,6 @@ Default: F2</screen>
für die erste <acronym>SCSI</acronym>-Festplatte. Um eine für die erste <acronym>SCSI</acronym>-Festplatte. Um eine
angepasste Konfiguration des <acronym>MBR</acronym> zu angepasste Konfiguration des <acronym>MBR</acronym> zu
erstellen, lesen Sie &man.boot0cfg.8;.</para> erstellen, lesen Sie &man.boot0cfg.8;.</para>
<formalpara>
<title>Der LILO-Boot-Manager:</title>
<para>Damit dieser Boot-Manager auch &os; booten kann, starten
Sie zuerst Linux und fügen danach folgende Zeilen in die
Konfigurationsdatei <filename>/etc/lilo.conf</filename>
ein:</para>
</formalpara>
<programlisting>other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSD</programlisting>
<para>Dabei muss die primäre Partition von &os;
sowie dessen Platte im Linux-Format angeben werden. Dazu wird
<replaceable>X</replaceable> durch die Linux-Bezeichnung der
Platte und <replaceable>Y</replaceable> durch die von Linux
verwendete Partitionsnummer ersetzt. Für ein
<acronym>SCSI</acronym>-Laufwerk wird
<replaceable>/dev/sd</replaceable> anstelle von
<replaceable>/dev/hd</replaceable> verwendet. Die Zeile
<option>loader=/boot/chain.b</option> kann weggelassen werden,
wenn beide Betriebssysteme auf der gleichen Platte installiert
sind. Geben Sie danach <command>/sbin/lilo -v</command>
ein, um die Änderungen zu übernehmen. Achten Sie
dabei besonders auf etwaige Fehlermeldungen.</para>
</sect2> </sect2>
<sect2 xml:id="boot-boot1"> <sect2 xml:id="boot-boot1">
@ -279,36 +245,34 @@ label=FreeBSD</programlisting>
Festplatte. Aufgrund von Speicherplatz-Beschränkungen Festplatte. Aufgrund von Speicherplatz-Beschränkungen
wurden sie in zwei Teile aufgeteilt, welche jedoch immer wurden sie in zwei Teile aufgeteilt, welche jedoch immer
zusammen installiert werden. Beide werden entweder vom zusammen installiert werden. Beide werden entweder vom
Installer oder von &man.bsdlabel.8; aus &os;-Installationsprogramm oder <command>bsdlabel</command> aus
der kombinierten <filename>/boot/boot</filename> der kombinierten <filename>/boot/boot</filename>
kopiert.</para> kopiert.</para>
<para>Beide Phasen befinden sich außerhalb des Dateisystems <para>Beide Phasen befinden sich außerhalb des Dateisystems
im Bootsektor des Boot-Slices, wo boot0 (<xref im Bootsektor des Boot-Slices, wo
linkend="boot-boot0"/>) oder ein anderer Boot-Manager <application>boot0</application> oder ein anderer Boot-Manager
ein Programm erwarten, das den weiteren Bootvorgang ein Programm erwarten, das den weiteren Bootvorgang
durchführen kann. Die Anzahl der dabei verwendeten durchführen kann.</para>
Sektoren wird durch die Größe von
<filename>/boot/boot</filename> bestimmt.</para>
<para><filename>boot1</filename> ist ein sehr einfaches <para>Die erste Phase, <filename>boot1</filename>, ist ein sehr
Programm, da es nur 512&nbsp;Bytes groß sein darf, und es einfaches Programm, da es nur 512&nbsp;Bytes groß sein darf.
besitzt gerade genug Funktionalität, um &os;s Es besitzt gerade genug Funktionalität, um &os;s
<firstterm>bsdlabel</firstterm>, das Informationen über <firstterm>bsdlabel</firstterm>, das Informationen über
den Slice enthält, auszulesen, und um den Slice enthält, auszulesen, und um
<filename>boot2</filename> zu finden und <filename>boot2</filename> zu finden und
auszuführen.</para> auszuführen.</para>
<para><filename>boot2</filename> ist schon ein wenig <para>Die zweite Phase, <filename>boot2</filename>, ist schon ein wenig
umfangreicher und besitzt genügend Funktionalität, um umfangreicher und besitzt genügend Funktionalität, um
Dateien in &os;s Dateisystem zu finden. Außerdem hat es Dateien in &os;s Dateisystem zu finden. Es kann eine einfache
eine einfache Schnittstelle, die es ermöglicht, den zu Schnittstelle bereitstellen, die es ermöglicht, den zu
ladenden Kernel oder Loader auszuwählen.</para> ladenden Kernel oder Loader auszuwählen. Es lädt den
<application>loader</application>, der einen weitaus größeren
<para>Da der &man.loader.8; einen weitaus größeren Funktionsumfang bietet und eine Konfigurationsdatei
Funktionsumfang hat und eine einfach zu bedienende zur Verfügung stellt. Wenn der Boot-Prozess während der
Boot-Konfigurations-Schnittstelle zur Verfügung stellt, wird zweiten Phase unterbrochen wird, erscheint der folgende
er gewöhnlich von <filename>boot2</filename> gestartet.</para> Bildschrim:</para>
<example xml:id="boot-boot2-example"> <example xml:id="boot-boot2-example">
<title><filename>boot2</filename>-Screenshot</title> <title><filename>boot2</filename>-Screenshot</title>
@ -318,26 +282,26 @@ Default: 0:ad(0,a)/boot/loader
boot:</screen> boot:</screen>
</example> </example>
<para>&man.bsdlabel.8; kann dazu verwendet werden, dass <para>Um das installierte <filename>boot1</filename> und
installierte <filename>boot1</filename> und <filename>boot2</filename> zu ersetzen, benutzen Sie
<filename>boot2</filename> zu ersetzen:</para> <command>bsdlabel</command>, wobei
<replaceable>diskslice</replaceable> das Laufwerk und die
Slice darstellt, von dem gebootet wird, beispielsweise
<filename>ad0s1</filename> für die erste Slice auf der ersten
<acronym>IDE</acronym>-Festplatte:</para>
<screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen> <screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>
<para>Wobei <replaceable>diskslice</replaceable> das Laufwerk
und die Slice darstellt, von dem gebootet wird, beispielsweise
<filename>ad0s1</filename> für die erste Slice
auf der ersten <acronym>IDE</acronym>-Festplatte.</para>
<warning> <warning>
<title>Dangerously Dedicated Mode</title>
<para>Wenn man nur den Festplatten-Namen, also <para>Wenn man nur den Festplatten-Namen benutzt,
z.B. <filename>ad0</filename> benutzt, wird &man.bsdlabel.8; beispielsweise <filename>ad0</filename>, wird
eine "dangerously dedicated disk" erstellen, ohne Slices. <command>bsdlabel</command> eine
<quote>dangerously dedicated disk</quote> erstellen, ohne
Slices.
Das ist ein Zustand, den man meistens nicht Das ist ein Zustand, den man meistens nicht
hervorrufen möchte. Aus diesem Grund sollte man das hervorrufen möchte. Aus diesem Grund sollte man das
<replaceable>diskslice</replaceable> von &man.bsdlabel.8; <replaceable>diskslice</replaceable>
noch einmal prüfen, bevor <keycap>Return</keycap> gedrückt noch einmal prüfen, bevor <keycap>Return</keycap> gedrückt
wird.</para> wird.</para>
</warning> </warning>
@ -347,26 +311,29 @@ boot:</screen>
<title>Phase Drei</title> <title>Phase Drei</title>
<indexterm><primary>boot-loader</primary></indexterm> <indexterm><primary>boot-loader</primary></indexterm>
<para>Der boot-loader ist der letzte von drei Schritten im
Bootstrap-Prozess und kann im Dateisystem normalerweise unter
<filename>/boot/loader</filename> gefunden werden.</para>
<para>Der Loader soll eine interaktive <para>Der <application>loader</application> ist der letzte von
drei Schritten im Bootstrap-Prozess. Er kann im Dateisystem
normalerweise als <filename>/boot/loader</filename> gefunden
werden.</para>
<para>Der <application>loader</application> soll eine interaktive
Konfigurations-Schnittstelle mit eingebauten Befehlssatz Konfigurations-Schnittstelle mit eingebauten Befehlssatz
sein, ergänzt durch einen umfangreichen Interpreter mit einem sein, ergänzt durch einen umfangreichen Interpreter mit einem
komplexeren Befehlssatz.</para> komplexeren Befehlssatz.</para>
<para>Der Loader sucht während seiner Initialisierung <para>Der <application>loader</application> sucht während seiner
nach Konsolen und Laufwerken, findet heraus, von welchem Initialisierung nach Konsolen und Laufwerken, findet heraus,
Laufwerk er gerade bootet, und setzt dementsprechend von welchem Laufwerk er gerade bootet, und setzt
bestimmte Variablen. Dann wird ein Interpreter gestartet, dementsprechend bestimmte Variablen. Dann wird ein
der Befehle interaktiv oder von einem Skript empfangen Interpreter gestartet, der Befehle interaktiv oder von einem
kann.</para> Skript empfangen kann.</para>
<indexterm><primary>loader</primary></indexterm> <indexterm><primary>loader</primary></indexterm>
<indexterm><primary>loader Konfiguration</primary></indexterm> <indexterm><primary>loader Konfiguration</primary></indexterm>
<para>Danach liest der Loader die Datei <para>Danach liest der <application>loader</application> die Datei
<filename>/boot/loader.rc</filename> aus, welche ihn <filename>/boot/loader.rc</filename>, welche ihn
standardmäßig anweist standardmäßig anweist
<filename>/boot/defaults/loader.conf</filename> zu lesen, wo <filename>/boot/defaults/loader.conf</filename> zu lesen, wo
sinnvolle Standardeinstellungen für diverse Variablen sinnvolle Standardeinstellungen für diverse Variablen
@ -378,7 +345,7 @@ boot:</screen>
und lädt die ausgewählten Module und den und lädt die ausgewählten Module und den
gewünschten Kernel.</para> gewünschten Kernel.</para>
<para>In der Voreinstellung wartet der Loader <para>In der Voreinstellung wartet der <application>loader</application>
10&nbsp;Sekunden lang auf eine Tastatureingabe und bootet den 10&nbsp;Sekunden lang auf eine Tastatureingabe und bootet den
Kernel, falls keine Taste betätigt wurde. Falls doch Kernel, falls keine Taste betätigt wurde. Falls doch
eine Taste betätigt wurde wird dem Benutzer eine eine Taste betätigt wurde wird dem Benutzer eine
@ -386,158 +353,129 @@ boot:</screen>
Befehlssatz entgegen, der es dem Benutzer Befehlssatz entgegen, der es dem Benutzer
erlaubt, Änderungen an Variablen vorzunehmen, Module zu erlaubt, Änderungen an Variablen vorzunehmen, Module zu
laden, alle Module zu entladen oder schließlich zu booten laden, alle Module zu entladen oder schließlich zu booten
bzw. neu zu booten.</para> oder neu zu booten.</para>
<sect3 xml:id="boot-loader-commands"> <table xml:id="boot-loader-commands" frame="none" pgwide="1">
<title>Die eingebauten Befehle des Loaders</title> <title>Die eingebauten Befehle des Loaders</title>
<para>Dies sind nur die gebräuchlichsten Befehle. <tgroup cols="2">
Eine vollständige Beschreibung aller verfügbaren Befehle <thead>
finden Sie in &man.loader.8;.</para> <row>
<entry>Variable</entry>
<entry>Beschreibung</entry>
</row>
</thead>
<variablelist> <tbody>
<varlistentry> <row>
<term>autoboot <replaceable>Sekunden</replaceable></term> <entry>autoboot <replaceable>Sekunden</replaceable></entry>
<entry>Es wird mit dem Booten des Kernels fortgefahren,
falls keine Taste in der gegebenen Zeitspanne betätigt
wurde. In der gegebenen Zeitspanne, Vorgabe sind
10&nbsp;Sekunden, wird ein Countdown angezeigt.</entry>
</row>
<listitem> <row>
<para>Es wird mit dem Booten des Kernels fortgefahren, <entry>boot
falls keine Taste in der gegebenen Zeitspanne <optional><replaceable>-Optionen</replaceable></optional>
betätigt wurde. In der gegebenen Zeitspanne, Vorgabe <optional><replaceable>Kernelname</replaceable></optional></entry>
sind 10&nbsp;Sekunden, wird ein Countdown angezeigt.</para> <entry>Bewirkt das sofortige Booten des Kernels mit
</listitem> allen gegebenen Optionen, oder dem angegebenen
</varlistentry> Kernelnamen. Das übergeben eines Kernelnamens ist nur
nach einem <command>unload</command> anwendbar,
andernfalls wird der zuvor verwendete Kernel
benutzt.</entry>
</row>
<varlistentry> <row>
<term>boot <entry>boot-conf</entry>
<optional><replaceable>-options</replaceable></optional> <entry>Bewirkt die automatische Konfiguration der
<optional><replaceable>Kernelname</replaceable></optional></term> Module, abhängig von den entsprechenden Variablen
(üblicherweise <envar>kernel</envar>). Dies nur dann
sinnvoll, wenn zuvor <command>unload</command> benutzt
wurde.</entry>
</row>
<listitem> <row>
<para>Bewirkt das sofortige Booten des Kernels mit allen <entry>help
gegebenen Optionen, oder dem angegebenen Kernelnamen. <optional><replaceable>Thema</replaceable></optional></entry>
Das übergeben eines Kernelnamens ist nur nach einem <entry>Zeigt die Hilfe an, die zuvor aus der Datei
<emphasis>unload</emphasis>-Befehl anwendbar, <filename>/boot/loader.help</filename> gelesen wird.
andernfalls wird der zuvor verwendete Kernel Falls <literal>index</literal> als Thema angegeben
benutzt.</para> wird, wird die Liste der zur Verfügung stehenden
</listitem> Hilfe-Themen angezeigt.</entry>
</varlistentry> </row>
<varlistentry> <row>
<term>boot-conf</term> <entry>include <replaceable>Dateiname</replaceable>
&hellip;</entry>
<entry>Das Einlesen und Interpretieren der angegebenen
Datei geschieht Zeile für Zeile und wird im Falle
eines Fehlers umgehend unterbrochen.</entry>
</row>
<listitem> <row>
<para>Bewirkt die automatische Konfiguration der Module, <entry>load <optional>-t
abhängig von den entsprechenden Variablen (üblicherweise <replaceable>Typ</replaceable></optional>
<envar>kernel</envar>). Dies nur dann sinnvoll, wenn <replaceable>Dateiname</replaceable></entry>
zuvor <command>unload</command> benutzt wurde.</para> <entry>Lädt den Kernel, das Kernel-Modul, oder die Datei
</listitem> des angegebenen Typs. Optionen, die auf
</varlistentry> <replaceable>Dateinamen</replaceable> folgen, werden
der Datei übergeben.</entry>
</row>
<varlistentry> <row>
<term>help <entry>ls <optional>-l</optional>
<optional><replaceable>Thema</replaceable></optional></term> <optional><replaceable>Pfad</replaceable></optional></entry>
<entry>Listet die Dateien im angegebenen Pfad auf, oder
das Root-Verzeichnis, falls kein Pfad angegeben wurde.
Die Option <option>-l</option> bewirkt, dass die
Dateigrößen ebenfalls angezeigt werden.</entry>
</row>
<listitem> <row>
<para>Zeigt die Hilfe an, die zuvor aus der Datei <entry>lsdev <optional>-v</optional></entry>
<filename>/boot/loader.help</filename> gelesen <entry>Listet alle Geräte auf, für die Module geladen
wird. Falls <literal>index</literal> als Thema angegeben werden können. Die Option <option>-v</option> bewirkt
wird, wird die Liste der zur Verfügung stehenden eine ausführliche Ausgabe.</entry>
Hilfe-Themen angezeigt.</para> </row>
</listitem>
</varlistentry>
<varlistentry> <row>
<term>include <replaceable>Dateiname</replaceable> <entry>lsmod <optional>-v</optional></entry>
&hellip;</term> <entry>Listet alle geladenen Module auf. Die Option
<option>-v</option> bewirkt eine ausführliche
Ausgabe.</entry>
</row>
<listitem> <row>
<para>Verarbeitet die angegebene Datei. Das Einlesen und <entry>more <replaceable>Dateiname</replaceable></entry>
Interpretieren geschieht Zeile für Zeile und wird im Falle eines <entry>Zeigt den Dateinhalt der angegebenen Datei an,
Fehlers umgehend unterbrochen.</para> wobei eine Pause alle <varname>LINES</varname> Zeilen
</listitem> gemacht wird.</entry>
</varlistentry> </row>
<varlistentry>
<term>load <optional>-t
<replaceable>Typ</replaceable></optional>
<replaceable>Dateiname</replaceable></term>
<listitem> <row>
<para>Lädt den Kernel, das Kernel-Modul, oder die Datei <entry>reboot</entry>
des angegebenen Typs. Optionen, die auf <entry>Bewirkt einen umgehenden Neustart des
<replaceable>Dateinamen</replaceable> folgen, werden Systems.</entry>
der Datei übergeben.</para> </row>
</listitem>
</varlistentry>
<varlistentry>
<term>ls <optional>-l</optional>
<optional><replaceable>Pfad</replaceable></optional></term>
<listitem> <row>
<para>Listet die Dateien im angegebenen Pfad auf, oder das <entry>set <replaceable>Variable</replaceable>, set
root-Verzeichnis(/), falls kein Pfad angegeben <replaceable>Variable</replaceable>=<replaceable>Wert</replaceable></entry>
wurde. Die Option <option>-l</option> bewirkt, dass die <entry>Setzt die angegebenen Umgebungsvariablen.</entry>
Dateigrößen ebenfalls angezeigt werden.</para> </row>
</listitem>
</varlistentry>
<varlistentry>
<term>lsdev <optional>-v</optional></term>
<listitem> <row>
<para>Listet alle Geräte auf, für die Module geladen <entry>unload</entry>
werden können. Die Option <option>-v</option> bewirkt <entry>Entlädt sämtliche geladenen Module.</entry>
eine detailreichere Ausgabe.</para> </row>
</listitem> </tbody>
</varlistentry> </tgroup>
</table>
</sect2>
<varlistentry> <sect2 xml:id="boot-loader-examples">
<term>lsmod <optional>-v</optional></term>
<listitem>
<para>Listet alle geladenen Module auf. Die Option
<option>-v</option> bewirkt eine detailreichere
Ausgabe.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>more <replaceable>Dateiname</replaceable></term>
<listitem>
<para>Zeigt den Dateinhalt der angegebenen Datei an, wobei
eine Pause alle <varname>LINES</varname> Zeilen gemacht
wird.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>reboot</term>
<listitem>
<para>Bewirkt einen umgehenden Neustart des Systems.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>set <replaceable>Variable</replaceable></term>
<term>set
<replaceable>Variable</replaceable>=<replaceable>Wert</replaceable></term>
<listitem>
<para>Setzt die Umgebungsvariablen des Loaders.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>unload</term>
<listitem>
<para>Entlädt sämtliche geladenen Module.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 xml:id="boot-loader-examples">
<title>Beispiele für die Loader Bedienung</title> <title>Beispiele für die Loader Bedienung</title>
<para>Hier ein paar praktische Beispiele für die Bedienung <para>Hier ein paar praktische Beispiele für die Bedienung
@ -585,7 +523,6 @@ boot:</screen>
<screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen> <screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3>
</sect2> </sect2>
<sect2 xml:id="boot-kernel"> <sect2 xml:id="boot-kernel">