[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
10. Konfiguration des Bootloaders
Inhalt:
10.a. Eine Wahl treffen
Einleitung
Nun, da Ihr Kernel konfiguriert und kompiliert ist und die notwendigen
Systemkonfigurationsdateien richtig konfiguriert sind, ist es Zeit ein Programm
zu installieren, dass Ihren Kernel lädt wenn Sie Ihr System starten. Solch ein
Programm nennt man einen Bootloader.
Für x86 bietet Gentoo Linux GRUB und LILO.
Bevor Sie jedoch einen der beiden Bootloader installieren, informieren wir Sie
darüber, wie der Framebuffer (natürlich nur wenn Sie diesen einrichten wollen)
eingerichtet wird. Mit Framebuffer können Sie die Linux-Kommandozeile mit
(begrenzten) grafischen Erweiterungen (wie die netten Bootsplash-Bilder, die
Gentoo liefert) nutzen.
Optional: Framebuffer
Wenn Sie Ihren Kernel mit Framebufferunterstützung konfiguriert haben
(oder die genkernel Standardkonfiguration nutzen),
müssen Sie eine video Anweisung zu Ihrer Bootloaderkonfigurationsdatei
hinzufügen, wenn sie Framebuffer benötigen.
Zuerst müssen Sie Ihr Framebuffer-Gerät kennen. Sie sollten uvesafb als
VESA driver verwendet haben.
Die video Anweisung kontrolliert Framebuffer-Display-Optionen. Es
benötigt den Framebuffer-Treiber gefolgt von den Kontrollanweisung die Sie
aktivieren möchten. Alle Variablen sind in
/usr/src/linux/Documentation/fb/uvesafb.txt gelistet, wir möchten
Sie daher nur über die häufigsten informieren:
| Option |
Beschreibung |
| ywrap |
Davon ausgehend, dass die Grafik ihren Speicher umbrechen kann (das heißt
am Anfang fortfahren, wenn das Ende erreicht wurde)
|
| mtrr:n
|
Einrichten der MTRR-Register. n kann folgendes sein:
0 - deaktiviert
1 - uncachable
2 - write-back
3 - write-combining
4 - write-through
|
| mode |
Setzen der Auflösung, Farbtiefe und Wiederholungsrate. Zum Beispiel ist
1024x768-32@85 für eine Auflösung von 1024x768, 32-Bit Farbtiefe und
eine Wiederholungsrate von 85 Hz.
|
Das Ergebnis könnte etwas wie video=uvesafb:mtrr:3,ywrap,1024x768-32@85
sein. Schreiben Sie sich diese Einstellung auf, Sie werden sie bald benötigen!
Fahren Sie nun mit der Installation von GRUB oder
Lilo fort.
10.b. Standard: Die Benutzung von GRUB
Das Verstehen von GRUBs Terminologie
Der wichtigste Teil beim Verstehen von GRUB ist, sich mit der Art vertraut zu
machen, in der GRUB Festplatten und Partitionen benennt. Ihre Linux-Partition
/dev/sda1 wird höchstwahrscheinlich (hd0,0) unter GRUB
genannt. Beachten Sie die Klammern um das hd0,0, denn diese sind
Pflicht.
Festplatten zählen von Null anstatt von "a" und Partitionen starten bei Null
anstatt bei Eins. Beachten Sie bitte auch, dass mit den hd-Geräten nur
Festplatten gezählt werden, keine ATAPI-IDE Geräte wie CD-ROM-Laufwerke oder
-Brenner. Dasselbe Schema wird auch bei SCSI-Laufwerken verwendet.
(Normalerweise erhalten sie höhere Nummern als IDE-Laufwerke, außer wenn das
BIOS konfiguriert ist von SCSI zu booten.) Wenn Sie dem BIOS angeben von einer
anderen Festplatte zu booten (zum Beispiel Primary Slave), ist diese
Festplatte für grub hd0.
Vorausgesetzt Sie haben eine Festplatte an /dev/sda und zwei
weitere an /dev/sdb und /dev/sdc wird
/dev/sdb7 übersetzt in (hd1,6). Es mag schwierig
klingen und das ist es in der Tat auch, aber wie wir werden sehen, bietet GRUB
einen Tab-Komplettierungsmechanismus an, der hilfreich ist für diejenigen von
Ihnen die viele Festplatten und Partitionen haben und sich ein wenig verloren
fühlen mit dem Nummerierungssystem von GRUB.
Nachdem man dafür jetzt ein Gefühl erlangt hat, ist es nun Zeit GRUB zu
installieren.
Installieren von GRUB
Um GRUB zu installieren, führen Sie ein emerge aus.
Befehlsauflistung 2.1: Installieren von GRUB |
# emerge grub
|
Obwohl GRUB nun installiert ist, müssen Sie trotzdem noch eine
Konfigurationsdatei dafür schreiben und GRUB im MBR platzieren, so dass
GRUB automatisch Ihren neu erstellten Kernel bootet. Erstellen Sie
/boot/grub/grub.conf mit nano (oder wenn gewünscht einem
anderen Editor):
Befehlsauflistung 2.2: Erstellen von /boot/grub/grub.conf |
# nano -w /boot/grub/grub.conf
|
Nun wollen wir eine grub.conf schreiben. Stellen Sie sicher, dass
Sie den Dateinamen Ihres Kernel-Images und, falls
zutreffend, den Dateinamen Ihrer initrd benutzen.
Notiz:
Grub weist Gerätenamen auf Grundlage des BIOS zu. Wenn Sie Ihre BIOS-
Einstellungen ändern, ändern sich auch die Buchstaben und Ziffern Ihrer
Geräte. Wenn Sie zum Beispiel die Bootreihenfolge Ihrer Geräte ändern,
müssen Sie möglicherweise auch Ihre Grub-Konfiguration ändern.
|
Notiz:
Wenn Ihr Root-Dateisystem JFS ist, müssen Sie "ro" zu dem Kernelaufruf
hinzufügen, da JFS sein Protokolldatei liest, bevor es ein read-write mounten
zulässt.
|
Befehlsauflistung 2.3: Beispiel: grub.conf |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 3.3.8
root (hd0,0)
kernel /boot/kernel-3.3.8-gentoo root=/dev/sda3
title Gentoo Linux 3.3.8 (Rescue)
root (hd0,0)
kernel /boot/kernel-3.3.8-gentoo root=/dev/sda3 init=/bin/bb
title Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Falls Sie sich beim Bauen des Linux-Kernels dazu entschieden haben zum Booten
ein initramfs zu verwenden, dann müssen Sie die Konfiguration verändern, indem
Sie auf diese initramfs-Datei verweisen und der initramfs mitteilen, wo sich
Ihr reales Root-Device befindet:
Befehlsauflistung 2.4: GRUB-Auszug für initramfs-verwendende Kernel |
title Gentoo Linux 3.3.8
root (hd0,0)
kernel /boot/3.3.8 real_root=/dev/sda3
initrd /boot/initramfs-genkernel-x86-3.3.8-gentoo
|
Wenn Sie ein anderes Partitionierungschema verwenden und/oder Kernel-Image,
passen Sie Ihre Konfiguration entsprechend an. Stellen Sie jedoch sicher, dass
alles was einem GRUB-Device folgt (wie z.B. (hd0,0)) relativ zum
Mountpoint ist, nicht dem Root. Mit anderen Worten,
(hd0,0)/grub/splash.xpm.gz ist in Wirklichkeit
/boot/grub/splash.xpm.gz denn (hd0,0) ist
/boot.
Außerdem wird, wenn Sie ein anderes Partitionsschema verwendet haben und
/boot nicht auf eine separate Partition gelegt haben, das
/boot Präfix wirklich benötigt. Wenn Sie unserem
vorgeschlagenen Partitionierungsplan gefolgt sind, wird das /boot
Präfix nicht benötigt, aber ein boot Symlink sorgt dafür, dass es
funktioniert. Kurz gesagt, das obige Beispiel sollte funktionieren, egal ob Sie
eine separate /boot Partition haben oder nicht.
Wenn Sie noch zusätzliche Optionen an den Kernel übergeben müssen, fügen Sie
diese einfach zum Ende des Kernelbefehls hinzu. Eine Option übermitteln wir
schon (root=/dev/sda3 oder real_root=/dev/sda3), aber Sie können
auch weitere übermittlen, wie die vorhin erwähnte video Anweisung für
Framebuffer.
Wenn Ihre Bootloader-Konfigurationsdatei den Parameter real_root enthält,
verwenden Sie den Parameter real_rootflags, um Einhängeoptionen
des Root-Dateisystems zu setzen.
Wenn Sie einen 2.6.7 Kernel oder aktueller benutzen und Ihre Festplatte
gejumpert haben, da Ihr BIOS nicht mit großen Festplatten umgehen kann, müssen
Sie sda=stroke anhängen.
genkernel-Benutzer sollten wissen, dass Ihr Kernel die selben
Bootoptionen benutzt wie der auf der Installations-CD. Zum Beispiel,
wenn Sie SCSI-Geräte haben, sollten Sie doscsi als Kerneloption
hinzufügen.
Speichern Sie nun die grub.conf Datei und verlassen Sie den
Editor. Sie müssen GRUB noch in den MBR (Master Boot Record) schreiben, so dass
GRUB automatisch beim Systemstart ausgeführt wird.
Die GRUB Entwickler empfehlen die Nutzung von grub-install. Wenn
grub-install fehlschlägt haben Sie immer noch die Option GRUB händisch zu
installieren.
Fahren Sie nun mit Standard: Installieren von
GRUB mit grub-install oder Alternativ:
GRUB händisch installieren fort.
Standard: Installieren von GRUB mit grub-install
Um GRUB zu installieren führen sie den grub-install Befehl aus.
grub-install wird jedoch nicht direkt funktionieren, da wir uns
innerhalb einer chroot-Umgebung befinden. Wir müssen /etc/mtab
erstellen, welche alle gemounteten Dateisysteme auflistet. Glücklicherweise
gibt es eine einfach Methode dafür: Kopieren Sie einfach
/proc/mounts nach /etc/mtab; ausgenommen der
rootfs Zeile, wenn Sie keine separate Boot-Partition erstellt haben.
Der folgende Befehl funktioniert in beiden Fällen:
Befehlsauflistung 2.5: /etc/mtab erstellen |
# grep -v rootfs /proc/mounts > /etc/mtab
|
Jetzt können wir GRUB durch grub-install installieren:
Befehlsauflistung 2.6: grub-install ausführen |
# grub-install --no-floppy /dev/sda
|
Wenn Sie weitere Fragen GRUB betreffend haben, konsultieren Sie die GRUB FAQ oder das
GRUB Handbuch.
Fahren Sie nun mit Neustart des Systems fort.
Alternativ: GRUB manuell installieren
Um mit der Konfiguration von GRUB zu beginnen, tippen Sie grub. Ihnen
wird die grub> GRUB-Kommdandozeile präsentiert. Nun müssen Sie
die richtigen Befehle eintippen um den GRUB Boot Record auf Ihrer Festplatte zu
installieren.
Befehlsauflistung 2.7: Starten der GRUB-Shell |
# grub --no-floppy
|
Notiz:
Wenn das System kein Diskettenlaufwerk hat, fügen Sie die --no-floppy
Option an das obige Kommando an, damit grub nicht nach nicht-existierenden
Diskettenlaufwerken sucht.
|
In der Beispielskonfiguration wollen wir GRUB so installieren, dass es alle
Informationen von der Boot-Partition /dev/sda1 liest
und den GRUB Boot-Record auf dem MBR (Master Boot Record) der Festplatte
installiert, damit das Erste was wir sehen, wenn wir den Computer einschalten
die GRUB Eingabeaufforderung ist. Natürlich müssen Sie die Befehle entsprechend
ändern, wenn Sie von der Beispielkonfiguration während der Installation
abgewichen sind.
Der Tab-Komplettierungsmechanismus von GRUB kann innerhalb von GRUB benutzt
werden. Zum Beispiel, wenn Sie "root (" eintippen, gefolgt von einem
TAB, wird Ihnen eine Liste von Geräten gegeben (solche wie hd0).
Wenn Sie "root (hd0," eintippen, gefolgt von einem TAB, wird Ihnen eine
Liste von verfügbaren Partitionen angezeigt, unter denen Sie auswählen können
(solche wie hd0,0).
Durch Benutzung der Tab-Komplettierung sollte das Einrichten von GRUB nicht
allzu schwer sein. Also weiter in der Konfiguration von GRUB!
Befehlsauflistung 2.8: Installieren von GRUB im MBR |
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
|
Notiz:
Wenn Sie GRUB lieber in einer bestimmten Partition anstatt des MBR installieren
wollen, müssen Sie das setup so verändern, dass es auf die richtige
Partition verweist. Zum Beispiel, wenn Sie GRUB in /dev/sda3
installieren wollen, dann wird der Befehl zu setup (hd0,2). Diese Option
wird in der Regel nur von wenigen Benutzern genutzt.
|
Wenn Sie weitere Fragen GRUB betreffend haben, konsultieren Sie die GRUB FAQ, das GRUB Wiki oder lesen Sie info
grub in Ihrem Terminal.
Fahren Sie nun mit Neustart des Systems fort.
10.c. Alternativ: Benutzung von LILO
Installieren von LILO
LILO, der LInuxLOader, ist das bewährte und wahre Arbeitstier der Linux
Bootloader. Jedoch hat es eine Fähigkeiten nicht die GRUB hat (was auch der
Grund dafür ist, dass GRUB momentan an Popularität gewinnt). Der Grund warum
LILO noch benutzt wird ist, dass GRUB auf einigen System nicht funktioniert und
LILO es tut. Natürlich gibt es auch den Grund, dass einige Leute mit LILO
bereits vertraut sind und es daher behalten wollen. In jedem Fall: Gentoo
unterstützt beide und anscheinend haben Sie sich für LILO entschieden.
Installieren von LILO ist ein Klacks, benutzen Sie einfach emerge.
Befehlsauflistung 3.1: Installieren von LILO |
# emerge lilo
|
Konfigurieren von LILO
Um LILO zu konfigurieren, müssen Sie /etc/lilo.conf erstellen.
Starten Sie Ihren Lieblingseditor (in diesem Handbuch benutzen wir nano)
und erstellen die Datei.
Befehlsauflistung 3.2: Erstellen von /etc/lilo.conf |
# nano -w /etc/lilo.conf
|
Vor einigen Abschnitten baten wir Sie, sich den Namen des Kernel-Images zu
merken, welches Sie erstellt haben. In der folgenden lilo.conf
Beispielsdatei nehmen wir an, dass der Imagename
kernel-2.6.11-gentoo-r3 ist. Wir benutzen zudem das
Beispielpartitionsschema in diesem Beispiel.
Stellen Sie sicher, dass Sie den Dateinamen Ihres Kernel-Images und,
falls zutreffend, den Dateinamen Ihrer initrd verwenden.
Notiz:
Wenn Ihr Root-Dateisystem JFS ist, müssen Sie "ro" zu dem Kernelaufruf
hinzufügen, da JFS sein Logfile liest, bevor es ein read-write Mounten zulässt.
|
Befehlsauflistung 3.3: Beispiel /etc/lilo.conf |
boot=/dev/sda
prompt
timeout=50
default=gentoo
image=/boot/kernel-3.3.8-gentoo
label=gentoo
read-only
root=/dev/sda3
image=/boot/kernel-3.3.8-gentoo
label=gentoo.rescue
read-only
root=/dev/sda3
append="init=/bin/bb"
other=/dev/sda6
label=windows
|
Notiz:
Wenn Sie ein anderes Partitionierungsschema verwenden, passen Sie die
Konfiguration entsprechend an.
|
Falls Sie sich beim Bauen des Linux-Kernels dazu entschieden haben zum Booten
ein initramfs zu verwenden, dann müssen Sie die Konfiguration verändern, indem
Sie auf diese initramfs-Datei verweisen und der initramfs mitteilen, wo sich
Ihr reales Root-Device befindet:
Befehlsauflistung 3.4: LILO-Auszuag für initramfs-verwendende Kernel |
image=/boot/kernel-3.3.8-gentoo
label=gentoo
read-only
append="real_root=/dev/sda3"
initrd=/boot/initramfs-genkernel-x86-3.3.8-gentoo
|
Wenn Sie weitere Optionen an den Kernel übermitteln müssen, fügen Sie eine
append Anweisung zu dem Abschnitt hinzu. Als Beispiel fügen wir die
video Anweisung hinzu um Framebuffer-Unterstützung zu aktivieren:
Befehlsauflistung 3.5: Benutzung von append um Kerneloptionen hinzuzufügen |
image=/boot/kernel-3.3.8-gentoo
label=gentoo
read-only
root=/dev/sda3
append="video=uvesafb:mtrr,ywrap,1024x768-32@85"
|
Wenn Sie einen 2.6.7, oder aktuelleren, Kernel benutzen und Ihre Festplatte
gejumpert haben, da Ihr BIOS nicht mit großen Festplatten umgehen kann, müssen
Sie sda=stroke anhängen. Ersetzen Sie sda durch das Gerät welches diese
Option benötigt.
Genkernel-Benutzer sollten wissen, dass Ihr Kernel dieselben
Bootoptionen benutzt wie der auf der Installations-CD. Zum Beispiel, wenn Sie
SCSI Geräte haben, sollten Sie doscsi als Kerneloption hinzufügen
Speichern Sie nun die Datei und verlassen Sie den Editor. Zum Schluss müssen
Sie /sbin/lilo ausführen, damit LILO die /etc/lilo.conf auf
Ihr System anwenden kann (also sich selbst auf der Platte installiert). Behalten
Sie im Hinterkopf, dass Sie /sbin/lilo nach jeder Installation eines
neuen Kernel oder Änderung des Menü ausführen müssen.
Befehlsauflistung 3.6: Fertigstellen der LILO-Installation |
# /sbin/lilo
|
Wenn Sie weitere Fragen bezüglich Lilo haben, lesen Sie bitte dessen Wikipedia-Seite.
Fahren Sie nun mit Neustart des Systems fort.
10.d. Neustart des Systems
Verlassen Sie die chroot-Umgebung und unmounten Sie alle gemounteten
Partitionen. Danach tippen Sie den magischen Befehl ein, auf das Sie solange
gewartet haben: reboot.
Befehlsauflistung 4.1: Ausbinden aller Partitionen und Neustart |
>
# exit
cdimage ~# cd
cdimage ~# umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~# umount -l /mnt/gentoo{/boot,/proc,}
cdimage ~# reboot
|
Vergessen Sie nicht die bootbare CD aus dem Laufwerk zu nehmen, sonst wird diese
anstatt Ihres neuen Gentoo Systems gestartet.
Nachdem Sie in die neue Gentoo Installation gebootet haben schließen Sie die
Installation mit Abschließen der Gentoo
Installation ab.
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|