Zurück Weiter Inhaltsverzeichnis

6. Parameterübergabe mit dem Boot-Loader

Im folgenden wird angenommen das 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 getestet 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 ignorierd, 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 Boot-Zeit 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"

6.1 Hinweis

Wenn man bei einkompilierten Treibern eine zweite/weitere Karte einbaut, hängt die Reihenfolge der Erkennung, von der Reihenfolge in den Kernelsourcen ab. Also muß man evtl. die Netzwerk-Startup-Scripte anpassen. Der Ort für die Anpassung der Kernelquellen wäre wahrscheinlich drivers/net/Space.c. (Hinweis von Holger van Koll)


Zurück Weiter Inhaltsverzeichnis