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, 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

# 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 3.3.8
# Partition in der das Kernel-Image (oder das Betriebssystem) vorhanden ist
root (hd0,0)
kernel /boot/kernel-3.3.8-gentoo root=/dev/sda3

title Gentoo Linux 3.3.8 (Rescue)
# Partition in der das Kernel-Image (oder das Betriebssystem) vorhanden ist
root (hd0,0)
kernel /boot/kernel-3.3.8-gentoo root=/dev/sda3 init=/bin/bb

# 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/sda6.
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)    (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/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             # 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

image=/boot/kernel-3.3.8-gentoo
  label=gentoo            # Der Name den wir der Sektion geben
  read-only               # Starte mit einem nur-lesen Root. Nicht ändern!
  root=/dev/sda3          # Ort des Root-Dateisystems

image=/boot/kernel-3.3.8-gentoo
  label=gentoo.rescue     # Der Name den wir der Sektion geben
  read-only               # Starte mit einem nur-lesen Root. Nicht ändern!
  root=/dev/sda3          # Ort des Root-Dateisystems
  append="init=/bin/bb"   # Starten der statischen Gentoo-Rescue-Shell

# Die nächsten zwei Zeilen werden nur benötigt, wenn Sie Dualboot mit einem Windowssystem einrichten wollen.
# In diesem Fall liegt Windows auf /dev/sda6.
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 ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 9. Februar 2013

Die Originalversion dieses Dokuments wurde zuletzt am 31. Dezember 2013 aktualisiert

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

Grant Goodyear
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

Joshua Saddler
Bearbeiter

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

Tobias Heinlein
Übersetzer

Christian Hartmann
Korrektor

Michael Imhof
Korrektor

Donate to support our development efforts.

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