Inhalt

6. Parameterübergabe mit dem Boot-Loader

Im folgenden wird angenommen, daß der Standard Linux-Boot-Lader "LILO" benutzt wird.

Der Linux-Kernel kennt viele Parameter, die zur Bootzeit übergeben werden können. Die meisten Parameter spezifizieren Aspekte, die nicht von Kernel selbstbestimmt werden können. Für Netzwerk-Adapter werden die folgenden Parameter ausgewertet:

ether=<IRQ>,<IO-ADDR>,<PARAM1>,<PARAM2>,<NAME>

Gültige numerische Argumente können als dezimale, oktale (mit führender "0") oder hexadezimale (mit dem Prefix "0x") Zahl angegeben werden. Das erste nicht-numerische Argument wird als NAME der Device genommen. Leere Argumente werden als Null angenommen, und leere Argumente vor dem Namen werden nicht verändert.

IRQ:

Dieser Parameter spezifiziert den IRQ, der gesetzt werden soll, auf Karten, die den IRQ per Software setzen, oder der benutzte IRQ, auf Karten mit gejumperten IRQ. Der Wert "0" bedeutet, daß der IRQ wenn möglich von der Ethernetkarte gelesen werden soll, oder das "autoIRQ" genutzt werden soll, wenn die Netzwerkkarte keine Weg bereitstellt den IRQ zu lesen.

IO-ADDR:

Dieser Parameter legt die Basis-I/O-Adresse fest, auf der nach der Karte gesucht werden soll. Ein Wert von Null sagt, daß alle sinnvollen Adresse getestet werden sollen.

Normalerweise wird ein reservierter Adressbereich benutzt, um zu entscheiden, ob eine Stelle getestet werden soll. Dieser Adressbereich wird ignoriert, wenn eine I/O-Adresse angegeben wird. Dies erlaubt dem "reserve="-Parameter Device-Proben in einer I/O-Region zu unterbinden.

PARAM1, PARAM2:

Ursprünglich wurden diese Parameter dazu benutzt, um die Speicher-Adressen für Adapter, die Shared-Memory benutzen, wie der WD8013, festzulegen. Im Laufe der Zeit wurden sie erweitert, um anderen Treibern spezifische Optionen zu übergeben.

NAME:

Der Name eines definierten Device. Der Standard-Kernel definiert im allgemeinen "eth0", "eth1", "eth2" und "eth3". Andere Device-Namen (z.B. für PPP, SLIP oder ein Pocket-Ethernet-Adapter) sind vielleicht vorhanden, gehorchen aber einer anderen Semantik.

LILO stellt zwei Wege bereit, Parameter zur Bootzeit dem Kernel zu übergeben. Der am häufigsten genutzte Weg, ist die direkte Eingabe am Boot-Prompt, hinter der Angabe des Kernelimages. Das folgende Beispiel aktiviert alle vier möglichen Devices.

boot: linux ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3

Natürlich ist es ziemlich kompliziert, bei jedem Booten diese Parameter einzugeben, und erfordert unbeaufsichtigte Roboter. Man kann Kernel-Parameter permanent festlegen, durch die Einfügung einer "append" Zeile in die LILO-Konfigurations-Datei, /etc/lilo.conf, und einen anschließenden Aufruf von lilo um die geänderte Konfiguration zu aktivieren.

append = "ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3"


Inhalt