Gentoo Logo

[ << ] [ < ] [ 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, das Ihren Kernel lädt wenn Sie Ihr System starten. Solch ein Programm nennt man einen Bootloader.

Optional: Framebuffer

Wenn Sie Ihren Kernel mit Framebuffer-Unterstützung konfiguriert haben (oder die Standardkonfiguration von genkernel nutzen), müssen Sie ein vga und/oder ein video Statement zu Ihrer Bootloaderkonfigurationsdatei hinzufügen, wenn Sie Framebuffer benötigen.

64-Bit-Systeme müssen den vesafb Treiber verwenden und müssen daher das vga Statement enthalten. Das vga Statement kontrolliert die Auflösung und Farbtiefe Ihres Framebuffer-Bildschirms für vesafb. Wie in /usr/src/linux/Documentation/fb/vesafb.txt (wird mit einem Kernelquellen-Paket installiert) erwähnt, müssen Sie dem Kernel die VESA-Nummer passend zur gewünschten Auflösung und Farbtiefe mitgeben.

Die nachfolgende Tabelle listet die verfügbaren Auflösungen und Farbtiefen auf und zeigt die passenden Werte, die Sie für das vga Statement benutzen können.

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.6er Kernel, vesa für 2.4er 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 Nehmen Sie an, dass die Grafikkarte 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

Das Ergebnis dieser beiden Statements könnte etwas wie vga=0x318 video=vesafb:mtrr:3,ywrap oder video=vesafb:mtrr:3,ywrap,1024x768-32@85 sein. Merken Sie sich diesen Wert (oder schreiben Sie ihn auf), Sie werden ihn wenig später brauchen.

Obwohl LILO auf AMD64 funktioniert unterstützt Gentoo nur GRUB. Fahren Sie nun mit dessen Installation fort.

10.b. 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 (für IDE-Laufwerke) oder /dev/sda1 (für SATA/SCSI-Laufwerke) wird unter GRUB höchstwahrscheinlich (hd0,0) genannt. Beachten Sie die Klammern um 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 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, müssen wir es emergen.

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 in den MBR installieren, damit 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. Nachfolgend 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.12-gentoo-r10. Wir werden nur die erste grub.conf ausführlich erläutern.

  • Die erste grub.conf für Leute, die nicht genkernel benutzt haben, um ihren Kernel zu bauen
  • Die zweite grub.conf ist für Leute, die genkernel benutzt haben, um ihren Kernel zu bauen

Notiz: Wenn Ihr Root-Dateisystem JFS ist, müssen Sie "ro" an die kernel Zeile anhängen, da JFS zuerst sein Log durchgeht, bevor es ein read-write Mounten erlaubt.

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
# Wie viele 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)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12
# Partition in der das Kernel-Image (oder das Betriebssystem) liegt
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 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)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-amd64-2.6.12-gentoo-r10

# Nur wenn Sie einen Dual-Boot einrichten möchten
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Wenn Sie ein anderes Partitionierungschema und/oder Kernel-Image verwenden, 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/hda3 oder real_root=/dev/hda3), aber Sie können auch weitere übermittlen, wie zum Beispiel das video Statement für Framebuffer, das wir schon besprochen haben.

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 Datei grub.conf und verlassen Sie den Editor. Sie müssen GRUB noch in den MBR (Master Boot Record) schreiben.

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 /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 ein. 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 Ihr System kein Diskettenlaufwerk hat, fügen Sie die Option --no-floppy an das obige Kommando an, damit GRUB nicht nach nicht-existierenden Diskettenlaufwerken sucht.

In der Beispielkonfiguration 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 (wie z.B. 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 (wie z.B. 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)           (Installieren von GRUB im MBR)
grub> quit                  (Verlassen der GRUB-Shell)

Notiz: Wenn Sie GRUB lieber in einer bestimmten Partition anstatt des MBR installieren wollen, müssen Sie den Befehl setup so verändern, dass er auf die richtige Partition verweist. Zum Beispiel, wenn Sie GRUB in /dev/hda3 installieren wollen, 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.

Fahren Sie nun mit Rebooten des Systems fort.

10.c. 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 3.1: Unmounten aller Partitionen und Rebooten

# exit
# cd
# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
# 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. August 2006

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: Es gibt verschiedene Bootloader für die amd64 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

Xavier Neys
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

Martin Bürger
Übersetzer

Sophie Lee
Übersetzer

Thomas Gabelmann
Übersetzer

Timo Rothweiler
Übersetzer

Sebastian Westermayer
Übersetzer

Donate to support our development efforts.

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