Gentoo Logo

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

# Welcher Eintrag standardmäßig gebootet werden soll. 0 ist der Erste, 1 ist der Zweite usw.
default 0
# Wieviele Sekunden gewartet werden soll, bevor der Standardeintrag gebootet wird.
timeout 30
# Eine nettes, fettes Hintergrundbild um die ganze Sache ein wenig zu würzen :)
# Auskommentieren, wenn Sie keine Grafikkarte installiert haben.
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.6.11-r3
# Partition in der das Kernel-Image (oder das Betriebssystem) vorhanden ist
root (hd0,0)
kernel (hd0,0)/kernel-2.6.11-gentoo-r3 root=/dev/hda3

# Die nächsten vier Zeilen werden nur benötigt wenn Sie einen Dualboot mit einem Windows System einrichten wollen.
# Hier in diesem Fall liegt Windows auf /dev/hda6.
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

# Nur wenn Sie einen Dual-Boot einrichten möchten
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)          (Angabe wo sich Ihre /boot Partition befindet)
grub> setup (hd0)           (Installiere GRUB im MBR)
grub> quit                  (Verlasse die GRUB Shell)

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             # Installieren von LILO im MBR
prompt                    # Gib dem Benutzer die Möglichkeit eine andere Sektion auszuwählen
timeout=50                # Warte 5 (fünf) Sekunden bevor die Standardsektion gebootet wird
default=gentoo            # Wenn das Timeout verstrichen ist, dann boote die "gentoo" Sektion

# Nur für Nicht-genkernel Benutzer
image=/boot/kernel-2.6.11-gentoo-r3
  label=gentoo            # Der Name den wir der Sektion geben
  read-only               # Starte mit einem nur-lesen Root. Nicht ändern!
  root=/dev/hda3          # Ort des Root Dateisystems
# Für genkernel Benutzer
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
# Die nächsten zwei Zeilen werden nur benötigt, wenn Sie Dualboot mit einem Windowssystem einrichten wollen.
# In diesem Fall liegt Windows auf /dev/hda6.
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 ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 9. Juni 2005

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: Es gibt verschiedene Bootloader für die x86 Architektur. Jeder wird anders konfiguriert. In diesem Kapitel führen wir Sie durch die Konfiguration eines Bootloader nach Ihren Anforderungen.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 Entwickler

Tavis Ormandy
Gentoo Alpha Entwickler

Jason Huebel
Gentoo AMD64 Entwickler

Guy Martin
Gentoo HPPA Entwickler

Pieter Van den Abeele
Gentoo PPC Entwickler

Joe Kallar
Gentoo SPARC Entwickler

John P. Davis
Bearbeiter

Pierre-Henri Jondot
Bearbeiter

Eric Stockbridge
Bearbeiter

Rajiv Manglani
Bearbeiter

Jungmin Seo
Bearbeiter

Stoyan Zhekov
Bearbeiter

Jared Hudson
Bearbeiter

Colin Morey
Bearbeiter

Jorge Paulo
Bearbeiter

Carl Anderson
Bearbeiter

Jon Portnoy
Bearbeiter

Zack Gilburd
Bearbeiter

Jack Morgan
Bearbeiter

Benny Chuang
Bearbeiter

Erwin
Bearbeiter

Joshua Kinard
Bearbeiter

Tobias Scherbaum
Bearbeiter

Grant Goodyear
Korrektor

Gerald J. Normandin Jr.
Korrektor

Donnie Berkholz
Korrektor

Ken Nowack
Korrektor

Lars Weiler
Mitarbeiter

Tobias Scherbaum
Übersetzer

Jens Schittenhelm
Übersetzer

Patrick Sudowe
Übersetzer

Torsten Veller
Übersetzer

Michael Frey
Übersetzer

Markus Nigbur
Übersetzer

Boris Ruppert
Übersetzer

Jan Hendrik Grahl
Übersetzer

Christian Hartmann
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.