/usr/share/doc/HOWTO/de-html/DE-BootPrompt-HOWTO-2.html is in doc-linux-de 2003.10-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
<TITLE>Linux BootPrompt HOWTO: Übersicht über die BootPrompt-Parameter </TITLE>
<LINK HREF="DE-BootPrompt-HOWTO-3.html" REL=next>
<LINK HREF="DE-BootPrompt-HOWTO-1.html" REL=previous>
<LINK HREF="DE-BootPrompt-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-BootPrompt-HOWTO-3.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-BootPrompt-HOWTO-1.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-BootPrompt-HOWTO.html#toc2"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="DE-BootPrompt-HOWTO-oview"></A> <A NAME="s2">2.</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2">Übersicht über die BootPrompt-Parameter </A></H2>
<P>In diesem Abschnitt werden einige Programme vorgestellt,
die zur Weiterleitung von Kernel-Bootparametern zum
Kernel selbst verwendet werden
können. Es wird ebenfalls erklärt, wie die Parameter
verarbeitet werden, welchen Beschränkungen sie
unterliegen und wie sie zu jedem passenden Gerät, für
das sie bestimmt sind, weitergeleitet werden.</P>
<P>Man sollte <EM>unbedingt</EM> beachten, daß innerhalb eines
Bootparameters <EM>keine</EM> Leerstellen verwendet werden sollten,
nur zwischen getrennten Parametern. Mehrere Werte für einen
Parameter müssen durch ein Komma getrennt werden und zwar
wiederum ohne Leerstellen. Richtig wäre z.B. dieses Beispiel:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/hda1
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Nachfolgendes Beispiel ist hingegen falsch:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ether = 9, 0x300, 0xd0000, 0xd4000, eth0 root = /dev/hda1
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Sobald der Kernel erst einmal läuft, kann man jederzeit mit
dem Befehl</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
cat /proc/cmdline
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>nachschauen, welche Parameter an den Kernel übergeben wurden.</P>
<H2><A NAME="DE-BootPrompt-HOWTO-lilo"></A> <A NAME="ss2.1">2.1</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2.1">LILO (LInux LOader) </A>
<!--LILO--></H2>
<P>LILO (LInux LOader) von Werner Almesberger ist das am
häufigsten verwendete Programm zur Übergabe der Parameter.
Das Programm hat die Fähigkeit, verschiedene Kernel bzw.
Betriebssysteme zu booten. Die meisten
Distributionen verwenden standardmäßig LILO, um Linux und z.B.
auch Windows zu starten. LILO kann DOS, Windows, OS/2,
Linux, FreeBSD, etc. ohne
Schwierigkeiten booten und ist zudem äußerst flexibel.</P>
<P>Nach dem Einschalten des Computers wird bei den meisten
Installationen LILO gestartet. Drückt der Anwender nach der
Meldung <CODE>LILO</CODE> die TAB-Taste, so gelangt er zum Prompt von
LILO. Ansonsten wird nach eine festgelegten Zeit automatisch das
Standardsystem gestartet. In der Regel wird hier durch die
Eingabe eines <CODE>label</CODE>-Eintrages aus <CODE>/etc/lilo.conf</CODE>
das zu startende Betriebssystem bzw. Linux Kernel ausgewählt.
Typisch sind Labels wie <CODE>linux</CODE>, <CODE>backup</CODE> und <CODE>msdos</CODE>.
Falls ein Bootparameter an den Kernel übergeben werden soll,
kann man dies an dieser Stelle tun. Der Parameter wird einfach,
durch ein Leerzeichen getrennt, an das Label angehängt.
Folgendes Beispiel soll dies verdeutlichen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
LILO: linux root=/dev/hda1
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>In der Regel möchte man natürlich nicht bei jedem Booten die
Parameter per Hand eingeben müssen. Hier hilft die Option
<CODE>append=</CODE>, die der Konfigurationsdatei von LILO hinzugefügt
werden kann und deren Parameter dann automatisch an den Kernel
übergeben werden. Man muß einfach nur etwas wie</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
append = "foo=bar"
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>in die Datei <CODE>/etc/lilo.conf</CODE> einfügen. Dieses kann
entweder am Anfang der Datei eingefügt werden, so daß die Parameter
für alle Abschnitte der Datei gültig sind, oder in den Abschnitt
eines bestimmten Kernels, so daß nur diesem die Parameter übergeben
werden. Eine ausführliche Beschreibung ist in der ausgezeichneten
Dokumentation von LILO zu finden.</P>
<H2><A NAME="DE-BootPrompt-HOWTO-loadlin"></A> <A NAME="ss2.2">2.2</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2.2">loadlin </A>
<!--loadlin--></H2>
<P>Ein anderer weitverbreiteter Linux-Loader ist <EM>loadlin</EM>. Dies
ist ein DOS-Programm, das die Fähigkeit besitzt, einen
Linux-Kernel vom DOS-Prompt aus zu starten, wobei Bootparameter
übergeben werden können.</P>
<P>Sehr nützlich ist die Möglichkeit, Linux von DOS aus zu starten,
wenn man bestimmte Hardware besitzt, die von Linux erst dann
unterstützt wird, wenn sie von dem der Hardware beiliegenden
DOS-Treiber in einen bestimmten Zustand versetzt worden ist.
Ein gutes Beispiel sind die Soundblaster-kompatiblen
Soundkarten, welche den DOS-Treiber benötigen, um ein paar
geheimnisvolle Register ziehen zu können, um die Karte in
einen SB-kompatiblen Modus zu bringen. Das Booten von DOS mit
dem zur Verfügung stehenden Treiber und das anschließende
Laden von Linux mit <CODE>LOADLIN.EXE</CODE> vom DOS-Prompt aus verhindert das
Zurückschalten der Karte in den vorherigen Zustand, was beim
erneuten Booten der Fall wäre. So jedoch bleibt die Karte in
einem SB-kompatiblen Modus und ist somit unter Linux verwendbar.
Auch Plug&Play Hardware kann auf diese Art und Weise
initialisiert werden.</P>
<P>Es gibt auch noch andere Programme, die zum Booten von Linux
verwendet werden können. Auf dem lokalen Linux-FTP-Server
erhält man unter <CODE>system/Linux-boot/</CODE> die komplette
Liste aller verfügbaren Programme.</P>
<H2><A NAME="DE-BootPrompt-HOWTO-rdev"></A> <A NAME="ss2.3">2.3</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2.3">Das Hilfsprogramm »rdev« </A>
<!--rdev--> <!--swapdev--> <!--ramsize--> <!--vidmode--> <!--rootflags--></H2>
<P>Es gibt einige Kernel-Bootparameter, deren Standardwerte
an bestimmten Stellen im Kernel-Image selbst gespeichert
sind. Es gibt ein Hilfsprogramm namens <CODE>rdev</CODE>, das
auf den meisten Systemen installiert ist und das weiß, wo
sich diese Werte befinden und wie sie geändert werden
können. Dieses Hilfsprogramm kann auch Dinge ändern,
die kein Kernel-Bootparameter-Äquivalent besitzen, wie
z.B. der standardmäßig verwendete Grafik-Modus.</P>
<P>Das Hilfsprogramm <CODE>rdev</CODE> ist gewöhnlich auch unter
den Namen <CODE>swapdev</CODE>, <CODE>ramsize</CODE>, <CODE>vidmode</CODE> und
<CODE>rootflags</CODE> aufrufbar. Diese Namen zeigen die fünf
Änderungsmöglichkeiten durch <CODE>rdev</CODE> an: das Root-Device,
das Swap-Device, die RAM-Disk-Parameter, der Standard-Grafik-Modus
sowie die readonly/readwrite-Einstellung vom Root-Device.</P>
<P>Weitere Informationen über <CODE>rdev</CODE> erhält man
nach Eingabe von <CODE>rdev -h</CODE> oder durch die Lektüre der
bereitgestellten Manpage (<CODE>man rdev</CODE>).</P>
<H2><A NAME="ss2.4">2.4</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2.4">Sortierung der Parameter durch den Kernel </A>
</H2>
<P>Die meisten Bootparameter sind folgendermaßen strukturiert:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
name[=wert_1][,wert_2]...[,wert_11]
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P><CODE>name</CODE> ist hierbei ein einzigartiges Schlüsselwort,
das Aufschluß darüber gibt, für welchen Teil des
Kernels die entsprechenden Werte bestimmt sind.
Mehrere Bootparameter werden als Liste nach obigem Format
an den Kernel übergeben, wobei die einzelnen Parameter durch
Leerzeichen getrennt werden. Man beachte das tatsächliche
Limit von 11 Parametern. Der bestehende Code kann nur 11 durch Kommas
getrennte Parameter pro Schlüsselwort verarbeiten. In
ungewöhnlich komplizierten Fällen kann man
jedoch dasselbe Schlüsselwort mit 11 zusätzlichen
Parametern erneut benutzen, vorausgesetzt, die Setup-Funktion
unterstützt dies. Man beachte auch, daß der Kernel die
Liste in maximal zehn Ganzzahlen-Parameter und eine anschließende
Zeichenfolge unterteilt. Das heißt, man kann nicht wirklich 11
Ganzzahlen bereitstellen; dies ist höchstens durch Konvertierung
des 11ten Parameters von einer Zeichenkette in eine Ganzzahl im
Treiber selbst möglich.</P>
<P>Die Sortierung findet hauptsächlich in
<CODE>linux/init/main.c</CODE> statt. Zuerst überprüft der
Kernel, ob der Parameter zu einem der speziellen Parameter
wie <CODE>root=</CODE>, <CODE>ro</CODE>, <CODE>rw</CODE> oder <CODE>debug</CODE>
gehört. Die Bedeutung dieser
speziellen Parameter wird im weiteren Verlauf dieser Dokumentation
beschrieben.</P>
<P>Der Kernel durchsucht dann eine Liste von Setup-Funktionen, die im
<CODE>bootsetups</CODE>-Array gespeichert ist, um zu sehen, ob
ein Treiber oder ein Teil des Kernels für die entsprechende
Zeichenkette, wie z.B. <CODE>foo</CODE>, eine Setup-Funktion
<CODE>setup_foo()</CODE> registriert hat. Würde
man dem Kernel die Zeile <CODE>foo=3,4,5,6,bar</CODE> übergeben,
dann würde dieser den <CODE>bootsetups</CODE>-Array durchgehen, um
herauszufinden, ob <CODE>foo</CODE> registriert ist. Falls dies der
Fall wäre, würde der Kernel
die Setup-Funktion, die mit <CODE>foo</CODE> verbunden ist,
aufrufen und dieser die Ganzzahlen-Parameter 3,
4, 5 und 6 übergeben, wie sie auf der Kernel-Kommandozeile
angegeben wurden. Außerdem würde er ebenfalls die
Zeichenkette <CODE>bar</CODE> übergeben.</P>
<H2><A NAME="ss2.5">2.5</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2.5">Umgebungsvariablen setzen </A>
<!--Bootparameter!Umgebungsvariablen--> <!--Umgebungsvariablen--></H2>
<P>Alles, was aussieht wie <CODE>foo=bar</CODE> und nicht als
Setup-Funktion akzeptiert wird, wie oben beschrieben, wird
dann als zu setzende Umgebungsvariable interpretiert. Ein
Beispiel wäre die Verwendung von <CODE>TERM=vt100</CODE>
oder <CODE>BOOT_IMAGE=vmlinuz.bak</CODE> als Bootparameter.
Diese Umgebungsvariablen werden typischerweise in
Initialisierungsskripts abgefragt, um ein große Anzahl
von verschiedenen Dingen ein- oder auszuschalten.</P>
<H2><A NAME="ss2.6">2.6</A> <A HREF="DE-BootPrompt-HOWTO.html#toc2.6">Weitergabe von Parametern zum »init«-Programm </A>
<!--Bootparameter!init--> <!--init--></H2>
<P>Alle verbleibenden Parameter, die der Kernel nicht selbst verwendet
und nicht als Umgebungsvariablen interpretiert, werden
zum ersten Prozeß weitergeleitet. Dieser ist normalerweise
das <CODE>init</CODE>-Programm. Meistens wird dem <CODE>init</CODE>-Programm
per Bootparameter mitgeteilt, mit welchem Runlevel Linux gebootet
werden soll. So kann <CODE>init</CODE> angewiesen werden, den
Rechner im Ein-Benutzer-Modus zu
booten und die üblichen Dämonen nicht zu starten. Um
herauszufinden, welche Parameter von der auf Ihrem System
installierten Version von <CODE>init</CODE> akzeptiert werden, lesen
Sie bitte die entsprechende Manual Page.</P>
<HR>
<A HREF="DE-BootPrompt-HOWTO-3.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-BootPrompt-HOWTO-1.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-BootPrompt-HOWTO.html#toc2"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>
|