Haftungsausschluss:
Dieses Handbuch wurde durch eine neuere Version ersetzt und wird nicht länger gepflegt.
|
[ << ]
[ < ]
[ 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 (limitierten) grafischen
Erweiterungen (wie dem netten Bootsplash der Gentoo Installations CDs) nutzen.
Optional: Framebuffer
Wenn Sie Ihren Kernel mit Framebuffer Unterstützung konfiguriert haben
(oder die genkernel Standardkonfiguration nutzen),
müssen Sie ein vga und/oder ein video Statement zu Ihrer
Bootloaderkonfigurationsdatei hinzufügen, wenn sie Framebuffer benötigen.
Zuerst müssen Sie wissen, welchen Typ Framebuffer Device Sie verwenden. Wenn Sie
einen von Gentoo gepatchten Kernel verwenden (wie die gentoo-sources)
hatten Sie die Möglichkeit vesafb-tng als VESA driver type
auszuwählen. Wenn dies der Fall ist benutzen Sie vesafb-tng und benötigen
kein vga Statement. Andernfalls benutzen Sie den vesafb Treiber
und müssen dieses Statement setzen.
Das vga Statement kontrolliert die Größe und die Farbtiefe des
Framebuffers für vesafb. Wie in
/usr/src/linux/Documentation/fb/vesafb.txt (wird mit einem Kernel
Source Paket installiert) erwähnt, müssen Sie dem Kernel die VESA Nummer passend
zur gewünschten Auflösung und Farbtiefe mitgeben.
Die nächste Tabelle listet die
verfügbaren vga Werte auf, die Sie benutzen können. In den
Beispielkonfigurationsdateien benutzen wir 800x600 @ 16bpp,
daher 788.
Für das vga Statement:
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
| 256 |
0x301 |
0x303 |
0x305 |
0x307 |
| 32k |
0x310 |
0x313 |
0x316 |
0x319 |
| 64k |
0x311 |
0x314 |
0x317 |
0x31A |
| 16M |
0x312 |
0x315 |
0x318 |
0x31B |
Das video Statement kontrolliert Framebuffer Display Optionen. Es
benötigt den Framebuffer Treiber (vesafb für 2.6 Kernel, vesa für
2.4 Kernel) gefolgt von den Kontrollstatements die Sie aktivieren möchten. Alle
Variablen sind in /usr/src/linux/Documentation/fb/vesafb.txt
gelistet, wir möchten Sie daher nur über die drei wichtigsten informieren:
| Option |
Beschreibung |
| ywrap |
Davon ausgehen, dass die Grafik ihren Speicher umbrechen kann (das heißt am
Anfang fortfahren, wenn das Ende erreicht wurde)
|
| mtrr |
MTRR Register einrichten
|
| mode |
(nur vesafb-tng)
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 dieser beiden Statements könnte etwas wie vga=0x318
video=vesafb:mtrr,ywrap oder video=vesafb:mtrr,ywrap,1024x768-32@85
sein. Merken Sie sich diese Werte (oder schreiben Sie sie auf), Sie werden
sie wenig später 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/hda1 wird (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 1. Beachten Sie bitte auch, dass mit den hd-Geräten nur Festplatten
gezählt werden, keine ATAPI-IDE Geräte wie CD-ROM Player oder Brenner.
Dasselbe Modell 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/hda, einen CD-ROM
Player an /dev/hdb, einen Brenner an /dev/hdc, eine
zweite Festplatte an /dev/hdd und keine SCSI Festplatte, dann wird
/dev/hdd7 übersetzt in (hd1,6). Es mag schwierig
klingen und das ist es in der Tat auch, aber wie wir sehen werden , bietet GRUB
einen Tab-Komplettierungsmechanismus an, der hilfreich ist für diejenigen von
Ihnen die viele Festplatten und Partitionen haben und sich mit dem
Nummerierungssystem von GRUB ein wenig verloren fühlen.
Nachdem Sie jetzt dafür ein Gefühl bekommen haben, ist es nun an der 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. Folgend finden Sie zwei
mögliche grub.conf für das Partitionierungsbeispiel, das wir in
diesem Leitfaden verwendet haben mit dem Kernel-Image
kernel-2.6.11-gentoo-r3.
Wir werden nur die erste grub.conf ausführlich erläutern. Stellen
Sie sicher, dass Sie den Dateinamen Ihres Kernel Images und, wenn
zutreffend, den Dateinamen Ihrer initrd benutzen.
-
Die erste grub.conf für Leute, die nicht genkernel
benutzt haben
-
Die zweite grub.conf ist für Leute, die genkernel
benutzt haben
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 2.3: grub.conf für Nicht-genkernel Benutzer |
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.6.11-r3
root (hd0,0)
kernel (hd0,0)/kernel-2.6.11-gentoo-r3 root=/dev/hda3
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Befehlsauflistung 2.4: grub.conf für genkernel Benutzer |
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.6.11-r3
root (hd0,0)
kernel (hd0,0)/kernel-2.6.11-gentoo-r3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd (hd0,0)/initrd-2.6.11-gentoo-r3
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Notiz:
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.
|
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/hda3 oder real_root=/dev/hda3), aber Sie können
auch weitere übermittlen, wie das vorhin erwähnte video und/oder
vga Statement für Framebuffer.
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 hdx=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 das grub-install Kommando aus.
grub-install wird nicht direkt funktionieren, da wir uns innerhalb einer
chroot Umgebung befinden. Wir müssen /etc/mtab (die Datei die
Informationen über alle gemounteten Dateisysteme enthält) zunächst
aktualisieren: Glücklicherweise gibt es einen recht einfachen Weg dies zu tun -
kopieren Sie einfach /proc/mounts nach /etc/mtab:
Befehlsauflistung 2.5: /etc/mtab aktualisieren |
# cp /proc/mounts /etc/mtab
|
Jetzt können wir GRUB durch grub-install installieren:
Befehlsauflistung 2.6: grub-install ausführen |
# grub-install /dev/hda
|
Wenn Sie weitere Fragen GRUB betreffend haben, konsultieren Sie die GRUB FAQ oder das GRUB Manual.
Fahren Sie nun mit Rebooten des Systems fort.
Alternativ: GRUB händisch 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
|
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/hda1 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/hda3 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 oder das GRUB Manual.
Notiz:
Wenn Sie einen neuen Kernel installieren, müssen Sie diese Dateien nicht nochmal
kopieren. Führen Sie make install nach dem Kompilieren des Kernel aus,
dies wird die notwendigen Dateien kopieren und die GRUB Konfiguration anpassen.
|
Fahren Sie nun mit Rebooten 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, es gibt
zwei verschiedene Teile:
-
Einen für diejenigen, die genkernel nicht benutzt haben um den Kernel
zu bauen
-
Einen für diejenigen, die ein genkernel zum bauen des Kernel benutzt haben.
Stellen Sie sicher, dass Sie den Dateinamen Ihres Kernel Image und, wenn
zutreffend, den Dateinamen Ihrer initrd benutzen.
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/hda
prompt
timeout=50
default=gentoo
image=/boot/kernel-2.6.11-gentoo-r3
label=gentoo
read-only
root=/dev/hda3
image=/boot/kernel-2.6.11-gentoo-r3
label=gentoo
read-only
root=/dev/ram0
append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
initrd=/boot/initrd-2.6.11-gentoo-r3
other=/dev/hda6
label=windows
|
Notiz:
Wenn Sie ein anderes Partitionierungsschema verwenden, passen Sie die
Konfiguration entsprechend an.
|
Wenn Sie weitere Optionen an den Kernel übermitteln müssen, fügen Sie ein
append Statement zu der Sektion hinzu. Als Beispiel fügen wir das
video Statement hinzu um Framebuffer Unterstützung zu aktivieren:
Befehlsauflistung 3.4: Benutzung von append um Kerneloptionen hinzuzufügen |
image=/boot/kernel-2.6.11-gentoo-r3
label=gentoo
read-only
root=/dev/hda3
append="video=vesafb:mtrr,ywrap,1024x768-32@85"
|
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 hdx=stroke anhängen.
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.5: Fertigstellen der LILO Installation |
# /sbin/lilo
|
Notiz:
Wenn Sie einen neue Kernel installieren, müssen Sie diese Dateien nicht
kopieren. Führen Sie stattdessen make install aus, dies kopiert die
notwendigen Dateien automatisch und passt die LILO Konfiguration an.
|
Fahren Sie nun mit Rebooten des Systems fort.
10.d. Rebooten des Systems
Verlassen Sie die chroot Umgebung und unmounten Sie alle gemounteten
Partitionen. Danach tippen Sie das magische Kommando ein, auf das Sie solange
gewartet haben: reboot.
Befehlsauflistung 4.1: Unmounten aller Partitionen und Rebooten |
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
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.
|