Der Bootloader LILO
Der Bootloader LILO:
LILO ist die Abkürzung für Linux Loader, dem vielleicht
populärsten Bootmanager für Linux. Die Hauptaufgabe von LILO ist es,
den Linux-Kernel in den Arbeitsspeicher zu laden und das Betriebssystem zu starten.
LILO kann aber auch für andere Betriebssysteme wie z.B. DOS oder Windows benutzt
werden und ermöglicht es somit, mehere Betriebssysteme von einer Festplatte zu
starten.
Der Bootmanager LILO lässt sich am einfachsten über die Konfigurationsdatei
lilo.conf im Verzeichnis /etc konfigurieren.
Wichtig: Nach dem Bearbeiten der Konfigurationsdatei
muss als nächster Schritt unbedingt 'lilo' ausgeführt werden,
damit der Bootloader auch wirklich installiert wird. Ansonsten verbleiben die
Änderungen nur in der Konfigurationsdatei und werden nicht aktiv. Die Dokumentation
dieser Datei lässt sich als Manpage mit dem Befehl 'man lilo.conf'
aufrufen. Mit 'man lilo' erhält man allgemeine Hinweise für die
Benutzung von LILO. Um die Konfiguration zu vereinfachen, existiert oft schon
die Datei 'lilo.conf' mit einer Beispielkonfiguration, die nur noch an
die persönlichen Erfordernisse angepasst werden muss.
In diesem Beispiel wird der Bootloader LILO so konfiguriert, dass ein Text
erscheint und ein Eintrag durch Eingabe dessen Namens oder Aliases gebootet
werden kann. Wenn Sie am LILO-Prompt eine Liste der möglichen Einträge
sehen möchten, die Sie booten können, drücken Sie dort die
Tabulator-Taste.
lilo.conf - Beispieldatei mit Erläuterungen:
Anweisung
| Bedeutung
|
boot = /dev/hda
| Enthält den Namen des Gerätes,
welches den Bootsektor enthält (in diesem Fall die 1. IDE-Festplatte)
|
lba32
| Ermöglicht es, dass auch Partitionen über die 1024-Zylindergrenze
hinaus gebootet werden können. Dies ist in neueren LILO-Versionen bereits
die Standardeinstellung, muss aber bei einigen älteren Versionen noch angegeben
werden, da LILO sonst mit der Ausgabe 'LI' anhält.
|
delay = 40
| Die Zeit in Zehntelsekunden, die LILO warten soll, bis der erste Eintrag gebootet
wird. Fehlt die Zeile, oder wird delay auf 0 gesetzt, wird der Bootloader nicht warten.
|
compact
| Erhöht die Geschwindigkeit, mit der LILO geladen wird
|
prompt
| Die LILO-Kommandozeile wird angezeigt, ohne dass dafür eine Taste gedrückt
werden muss.
|
message = /boot/boot-msg
| Enthält Pfad und Namen einer Textdatei, welche als Meldung vor dem Boot-Prompt
ausgegeben werden soll.
|
vga = normal
| Enthält den Bildschirmmodus, mit dem gebootet werden soll, es gibt
'normal' (= 80 Zeichen u. 25 Zeilen), 'extended' (= 80 Zeichen u.
50 Zeilen), sowie 'ask', wo bei jedem Booten nach dem gewünschten Modus
gefragt wird. Es kann auch direkt die Nummer angegeben werden, die man bei 'vga = ask'
erhält.
|
root = /dev/hda7
| Enthält das Gerät, welches als 'root' gemounted werden soll, und auf dem
das Linux-Betriebssystem enthalten ist.
|
read-only
| Das Root-Dateisystem wird zunächst aus Sicherheitsgründen
schreibgeschützt gemounted, normalerweise wird es dann später noch
einmal mit Schreibzugriff gemounted. Durch Ändern dieser Zeile auf 'read-write'
wird das Dateisystem direkt ohne Schreibschutz gemounted.
|
image = /boot/zImage-2.4.18
| Enthält Pfad und Dateiname des Linux-Kernels. Wird diese Zeile mehrfach
angegeben, so können alternativ mehrere Kernel gebootet werden.
|
label = linux
| Enthält den Namen des Kernels oder Betriebssystems, wie er im Auswahlmenü
von LILO ausgegeben wird, bzw. bei der Kommandozeilenversion eingegeben werden muss.
|
optional
| Lässt diesen Eintrag aus, wenn er beim Ausführen von 'lilo' noch nicht
zur Verfügung steht. Wenn dieser Eintrag fehlt und der weiter oben mit 'image'
angegebene Kernel nicht vorhanden ist, so bricht 'lilo' mit einer Fehlermeldung ab.
|
image = /boot/zImage-1.0.9
| siehe oben
|
label = 1.0.9
| siehe oben
|
alias = try
| Weist dem Eintrag einen zweiten Namen zu. So kann dieser Eintrag von der
LILO-Kommandozeile auch durch Eingabe von 'lin' gebooted werden.
|
append = "hdd=scsi"
| Enthält Parameter, die dem Kernel automatisch übergeben werden. Das
Beispiel "hdd=scsi" bedeutet, dass der Kernel das zweite Gerät am zweiten
IDE-Port wie ein SCSI-Laufwerk behandeln soll. Dies kann beispielsweise dann
erforderlich sein, wenn ein IDE-Brenner unter Linux betrieben werden soll.
|
image = /boot/vmlinuz
| Enthält einen weiteren Kernel
|
label = standard
| Weist diesem Eintrag die Beschriftung 'tamu' zu
|
root = /dev/hdb2
| Das Root-Verzeichnis dieses Kernels liegt auf Partition 2 (=/dev/hdb2)
der zweiten (=/dev/hdb2) Festplatte am ersten (primären) IDE-Port.
|
vga = ask
| Für diesen Eintrag soll der Benutzer aufgefordert werden, einen
Bildschirmmodus auszuwählen.
|
other = /dev/hda1
| Mit 'other =' beginnt ein Eintrag, der die Partition (in diesem Fall die
3. Partition auf der ersten IDE-Festplatte) zu einem anderen Betriebssystem als
Linux enthält, z.B. Windows, DOS usw.
|
label = dos
| Weist diesem Eintrag den Namen 'dos' zu.
|
table = /dev/hda
| Bestimmt das Laufwerk, welches die Partitionstabelle enthält.
|
password = geheim
| Legt für diesen Eintrag ein Passwort fest, welches eingegeben werden muss,
damit der Eintrag gebootet werden kann. Wenn noch die Anweisung 'restricted' in
eine neue Zeile eingegeben wird, ist das Passwort nur dann erforderlich, wenn
der Eintrag mit Parametern von der Kommandozeile (z.B. bestimmte Kernel-Paramter)
gebootet werden soll.
|
Bei LILO haben Sie auch die Möglichkeit, sich ein grafisches Bootmenü mit
Auswahlmöglichkeiten anzeigen zu lassen. Als (Hintergrund-)Bild können Sie
hierzu eine beliebige BMP-Datei im Format 640x480 Pixel und 16 Farben verwenden. Das
folgende Beispiel zeigt, wie ein grafisches Bootmenü konfiguriert werden kann:
(die wichtigsten Zeilen sind hier rot hervorgehoben)
Beispiel einer lilo.conf - Datei, bei der ein grafisches Bootmenü ausgegeben
werden soll:
Anweisung
| Bedeutung
|
boot = /dev/hda
| Enthält den Namen des Gerätes, welches den Bootsektor enthält
(in diesem Fall die 1. IDE-Festplatte)
|
lba32
| Ermöglicht es, dass auch Partitionen über die 1024-Zylindergrenze
hinaus gebootet werden können. Dies ist in neueren LILO-Versionen bereits
die Standardeinstellung, muss aber bei einigen älteren Versionen noch angegeben
werden, da LILO sonst mit der Ausgabe 'LI' anhält.
|
delay = 40
| Die Zeit in Zehntelsekunden, die LILO warten soll, bis der erste Eintrag gebootet
wird. Fehlt die Zeile, oder wird delay auf 0 gesetzt, wird der Bootloader nicht warten.
|
compact
| Erhöht die Geschwindigkeit, mit der LILO geladen wird
|
prompt
| Die LILO-Eingabeaufforderung wird angezeigt, ohne dass dafür eine Taste gedrückt
werden muss.
|
timeout = 150
| Zeit in Zehntelsekunden (hier 15 sec), die abgewartet werden soll, ob eine Taste
gedrückt wird. Wird in der angegebenen Zeit keine Taste gedrückt, so wird
automatisch der erste Eintrag gebootet.
|
install = /boot/boot-bmp.b
| Gibt an, dass der Bootloader 'boot-bmp.b' verwendet werden soll, welcher eine
Bitmap-Grafik anzeigen kann.
|
bitmap = /boot/menu.bmp
| Enthält Pfad und Dateinamen einer Bitmap-Grafik, in der Größe
von 640 mal 480 Bildpunkten und 256 Farben.
|
bmp-colors = 14,11,,15,9,0
| Enthält die Farben für das Menü in folgender Reihenfolge:
Vordergrundfarbe, Hintergrundfarbe, Schattenfarbe, sowie Vordergrund-, Hintergrund-
und Schattenfarbe des ausgewählten Eintrags. Wird keine Schattenfarbe angegeben,
so erscheint auch kein Schatten. Fehlt eine Hintergrundfarbe, so erscheint der
Hintergrund transparent.
|
bmp-table = 21,284p,2,7,175p,4
| Bestimmt die Position und das Aussehen der Auswahlliste des Bootloaders.
Die ersten beiden Werte enthalten die Koordinaten der oberen linken Ecke
des Menüs und die nächsten beiden enthalten dessen Breite und
die Länge in Form von Zeichenkoordinaten. Die Anfangskoordinaten
können auch als Pixelwerte eingegeben werden, wenn der Zahl der Buchstabe
'p' folgt. Der fünfte Wert bestimmt den Abstand, wenn das Menü in
mehreren Spalten erscheint. Auch dieser Wert kann als Pixelwert eingegeben
werden. Der letzte Wert bedeutet, dass hier die erste Spalte vier Einträge
enthalten muss, damit der nächste Eintrag in einer neuen Spalte erscheint.
|
bmp-timer = 73,29,12,8,0
| Enthält Position und Farbe des Countdown-Zählers, welcher
erscheint, wenn die 'timeout =' Zeile angegeben wird. Die ersten beiden
Werte enthalten die Zeichenkoordinaten des Zählers, welche auch als
Pixelwerte mit angehängtem 'p' angegeben werden können. Die
letzten drei Zahlen enthalten Vordergrund-, Hintergrund- und Schattenfarbe
des Zählers. Wird diese Zeile nicht angegeben, so wird auch kein
Countdown angezeigt.
|
vga = normal
| Enthält den Bildschirmmodus, mit dem gebootet werden soll, es
gibt 'normal' (= 80 Zeichen u. 25 Zeilen), 'extended' (= 80 Zeichen
u. 50 Zeilen), sowie 'ask', womit bei jedem Booten nach dem gewünschten
Modus gefragt wird. Es kann auch direkt die Nummer angegeben werden, die man
bei 'vga = ask' erhält.
|
root = /dev/hda1
| Enthält das Gerät, welches als 'root' gemounted werden soll, und
auf dem das Linux-Betriebssystem enthalten ist.
|
read-only
| Das Root-Dateisystem wird zunächst aus Sicherheitsgründen
schreibgeschützt gemounted, normalerweise wird es dann später
noch einmal mit Schreibzugriff gemounted. Durch Ändern dieser
Zeile auf 'read-write' wird das Dateisystem direkt ohne Schreibschutz
gemounted.
|
image = /boot/zImage-2.4.18
| Enthält Pfad und Dateiname des Linux-Kernels. Wird diese Zeile
mehrfach angegeben, so können alternativ mehrere Kernel gebootet
werden.
|
label = linux
| Enthält den Namen des Kernels oder Betriebssystems, wie er im
Auswahlmenü von LILO ausgegeben wird, bzw. bei der
Kommandozeilenversion eingegeben werden muss.
|
Um LILO wieder vom Bootsektor zu entfernen, gibt es den Befehl 'lilo -u'. Wenn
Sie mit Microsoft Windows oder DOS arbeiten, können Sie den Bootsektor auch
von einer Startdiskette aus mit 'fdisk /mbr' wiederherstellen.
Fragen und Anregungen zu diesem Bericht?
Schreiben Sie mir eine E-Mail!
|