Gentoo Logo

[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


10. Konfiguration des Bootloaders

Inhalt:

10.a. Die Qual der Wahl

Einleitung

Nun, da Ihr Kernel konfiguriert und kompiliert ist und die benötigten Systemkonfigurationsdateien korrekt ausgefüllt sind, ist es an der Zeit ein Programm zu installieren, das Ihren Kernel startet, wenn Sie das System einschalten. Ein solches Programm wird Bootloader genannt.

Welchen Bootloader Sie verwenden werden, entscheidet sich dadurch, was für einen PPC-Rechner Sie besitzen.

Wenn sie einen NewWorld Apple oder IBM Rechner verwenden, müssen Sie yaboot verwenden. OldWorld Apple Rechner haben zwei Möglichkeiten: BootX (empfohlen) und quik. Der Pegasos benötigt keinen Bootloader, aber es wird der Bootcreator zur Erstellung eines SmartFirmware Bootmenüs benötigt.

10.b. Standard: Die Benutzung von yaboot

Einleitung

Wichtig: yaboot kann nur auf NewWorld Apple und IBM Systemen verwendet werden!

Damit die Bootgeräte gefunden werden können, benötigt yaboot zunächst Zugriff auf die Device-Nodes welche von udev beim Hochfahren und vom sysfs-Dateisystem erstellt werden. Diese zwei Dateisysteme finden sich jeweils in /dev und sys. Um dies zu erreichen müssen Sie diese Dateisysteme vom Root der Installations-CD auf die Mountpunkte /dev und /sys innerhalb des chroot mit "bind" mounten. Wenn sie diese Dateisysteme bereits mit "bind" gemountet haben besteht kein Grund dies noch einmal zu tun.

Befehlsauflistung 2.1: Mounten des device- und sysfs-Dateisystems mit der bind Funktion

# exit  # dies verlässt das chroot
# mount --rbind /dev /mnt/gentoo/dev
# mount --rbind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile 

Um yaboot einzurichten können Sie yabootconfig verwenden um damit automatisch eine Konfigurationsdatei für sich zu erstellen. Wenn Sie Gentoo auf einem G5 installieren (wo yabootconfig nicht immer funktioniert) oder Sie von Firewire oder USB booten wollen, müssen Sie yaboot manuell konfigurieren.

Notiz: Sie werden die Datei yaboot.conf manuell editieren müssen, wenn Sie genkernel verwenden, selbst wenn yabootconfig verwendet wird. Der Kernel-Image-Abschnitt der yaboot.conf sollte wie folgt modifiziert werden (mit vmlinux und initrd als Namen für den Kernel und das initrd-Image):

Befehlsauflistung 2.2: Bootargumente für genkernel zu yaboot.conf hinzufügen

###########################################################
## Dieser Abschnitt kann vervielfältigt werden, wenn Sie mehr als
## einen Kernel oder Satz von Bootoptionen haben. Ersetzen Sie
## das Image und initrd mit dem exakten Dateinamen Ihres Kernels
## und Ihres initrd-Images.
###########################################################
image=/boot/kernel-genkernel-ppc-3.4.9-gentoo
  label=Linux
  root=/dev/ram0
  partition=3
  initrd=/boot/${genkernel-initrd}
  # Sie können weitere Kernelaugmente wie
  # rootdelay=10 für einen USB/FireWire Boot hinzufügen
  read-only
  append="real_root=/dev/sda3"
##########################################################

Standard: Die Benutzung von yabootconfig

yabootconfig wird die Partitionen auf Ihrem System automatisch erkennen und wird Dual- und Dreifachbootkombinationen mit Linux, Mac OS und Mac OS X einrichten.

Um yabootconfig benutzen zu können, muss Ihr Laufwerk eine Apple_Bootstrap Partition haben und /etc/fstab muss konfiguriert sein (beachten Sie, dass die Bootstrap-Partition nicht in Ihrer fstab aufgeführt sein sollte). Diese Schritte sollten bereits erledigt sein, überprüfen Sie aber /etc/fstab bevor Sie fortfahren. Stellen Sie nun sicher, dass yaboot installiert ist.

Befehlsauflistung 2.3: Installation von yaboot

# emerge yaboot

Verlassen Sie nun die chroot Umgebung und führen Sie yabootconfig --chroot /mnt/gentoo aus. Zuerst wird das Programm den Pfad der Bootstrap-Partition bestätigen. Wenn Sie das vorgeschlagene Partitionsschema verwenden sollte sich Ihre Bootstrap-Partition auf /dev/sda2 befinden. Geben Sie Y ein, wenn die Ausgabe korrekt ist. Falls nicht, überprüfen Sie erneut /etc/fstab. yabootconfig wird dann Ihre Systemkonfiguration überprüfen, /etc/yaboot.conf erstellen und mkofboot für Sie ausführen. mkofboot wird gebraucht, um die Apple_Bootstrap-Partition zu formatieren und dorthinein die yaboot-Konfigurationsdatei zu installieren. Betreten Sie hiernach wieder die chroot-Umgebung.

Befehlsauflistung 2.4: chroot-Umgebung erneut betreten

#  chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile

Sie sollten den Inhalt von /etc/yaboot.conf überprüfen. Wenn Sie Veränderungen an /etc/yaboot.conf vornehmen (wie die Standard-/Boot OS Einstellung zu setzen) stellen Sie sicher, dass Sie ybin -v erneut ausführen um die Veränderungen auf die Apple_Bootstrap Partition anzuwenden. Jedes Mal wenn Sie eine Änderungen an yaboot.conf, wie das Testen eines neuen Kernels, vornehmen, müssen Sie daran denken ybin -v erneut auszuführen um die Bootstrap-Partition zu aktualisieren.

Fahren Sie nun mit dem Neustart des Systems fort.

Alternativ: Die manuelle yaboot Konfiguration

Installieren Sie zunächst yaboot auf Ihrem System:

Befehlsauflistung 2.5: Installation von yaboot

# emerge yaboot

Eine Beispiels yaboot.conf Datei folgt, aber Sie werden diese Ihren Bedürfnissen anpassen müssen.

Befehlsauflistung 2.6: /etc/yaboot.conf

## /etc/yaboot.conf
##
## Führen Sie: "man yaboot.conf" für Details aus. Machen Sie keine
## Änderungen bevor Sie das nicht getan haben!
## Siehe auch: /usr/share/doc/yaboot/examples für Beispielkonfigurationen
##
## Für ein Dualbootmenü fügen Sie eine oder mehrere dieser hinzu:
## bsd=/dev/sdaX, macos=/dev/sdaY, macosx=/dev/sdaZ

## Die Bootstrap-Partition:

boot=/dev/sda2

## ofboot ist die Art wie Open Firmware die Bootstrap-Partition angibt.
## Wenn diese nicht angegeben ist schlägt yaboot auf dem G5 und einigen G4 fehl (es
## sei denn Sie geben dem mkofboot/ybin Programm die notwendigen Argumente mit).
## hd:X bedeutet /dev/sdaX.
##
## G5 Benutzer sollten diese Zeile unkommentieren.

#ofboot=hd:2

## Benutzer, welche von Firewire booten, sollten etwas wie diese Zeile verwenden:
# ofboot=fw/node/sbp-2/disk@0:

## Benutzer, welche von USB booten, sollten etwas wie diese Zeile verwenden:
# ofboot=usb/disk@0:

## hd: ist kurz für die erste Festplatte, welche Open Firmware sieht
device=hd:

## Firewire und USB Benutzer werden den gesamten OF Gerätenamen angeben müssen
## Dieser findet sich durch verwenden von ofpath, was in yaboot enthalten ist.

# device=fw/node@0001d200e00d0207/sbp-2@c000/disk@0:


delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot

############################################################
## Dieser Abschnitt kann doppelt verwendet werden, wenn Sie mehr als einen
## Kernel oder Satz von Bootoptionen haben. Ersetzen Sie die Image-Variable
## durch den exakten Dateinamen Ihres Kernels
###########################################################
image=/boot/kernel-3.4.9-gentoo
  label=Linux
  root=/dev/sda3
  partition=3
#  append="rootdelay=10"  # Notwendig für Booten von Firewire/USB
  read-only
##################

## G5 und einige G4 Benutzer sollten
##   macos=hd:13/
##   macosx=hd:12
## anstelle der Beispielwerte setzen.

macos=/dev/sda13
macosx=/dev/sda12
enablecdboot
enableofboot

Sobald yaboot.conf eingerichtet ist, führen Sie mkofboot -v aus um die Apple_bootstrap Partition zu formatieren und die Einstellungen dort zu installieren. Wenn Sie yaboot.conf ändern, nachdem Sie die Apple_bootstrap Partition erstellt haben, können Sie die Einstellungen aktualisieren indem Sie ybin -v ausführen.

Befehlsauflistung 2.7: Einrichten der Bootstrap-Partition

# mkofboot -v

Für weitere Informationen über yaboot werfen Sie einen Blick auf dasyaboot Projekt. Fahren Sie nun mit dem Neustart des Systems fort.

10.c. Alternativ: BootX

Wichtig: BootX kann nur auf OldWorld Apple Systemen mit MacOS 9 oder älter verwendet werden!

Da BootX Linux aus MacOS heraus startet muss der Kernel von der Linux Partition auf die MacOS-Partition kopiert werden. Mounten Sie die MacOS Partition zuerst von außerhalb des chroot. Verwenden Sie mac-fdisk -l um die Nummer der MacOS-Partition zu finden, sda6 wird hier als Beispiel verwendet. Sowie die Partition eingebunden ist werden wir den Kernel in den Systemordner kopieren so dass BootX diesen finden kann.

Befehlsauflistung 3.1: Kopieren des Kernels auf die MacOS-Partition

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/usr/src/linux/vmlinux "/mnt/mac/System Folder/Linux Kernels/kernel-3.4.9-gentoo"

Wenn genkernel verwendet wird, dann müssen sowohl der Kernel als auch das initrd auf die MacOS-Partition kopiert werden.

Befehlsauflistung 3.2: Kopieren des genkernel Kernel und initrd auf die MacOS-Partition

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/kernel-genkernel-ppc-3.4.9-gentoo "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/${genkernel-initrd} "/mnt/mac/System Folder"

Nun da der Kernel hinüber kopiert wurde, muss für die Einrichtung von BootX neu gestartert werden.

Befehlsauflistung 3.3: Unmounten aller Partitionen und neustarten

cdimage ~# cd /
cdimage ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
cdimage ~# umount -l /mnt/gentoo{/proc,/sys,}
cdimage ~# umount -l /mnt/mac
cdimage ~# reboot

Bitte vergessen Sie nicht die bootbare CD zu entfernen, ansonsten wird wieder die CD gebootet anstatt MacOS.

Sobald Ihre Maschine MacOS gebootet hat, öffnen Sie das BootX Control Panel. Wenn Sie genkernel nicht verwenden, wählen Sie Options und deaktivieren Sie Use specified RAM disk. Wenn Sie genkernel verwenden, stellen Sie sicher, dass Sie das genkernel initrd anstatt des initrd der Installations-CD selektiert ist. Wenn Sie genkernel nicht verwenden gibt es nun die Option, die Linux Root Festplatte und Partition des Rechners auszuwählen. Geben Sie die entsprechenden Werte ein. Abhängig von der Konfiguration müssen unter Umständen noch weitere Bootargumente angewandt werden.

BootX kann so konfiguriert werden, dass es Linux beim Booten startet. Wenn Sie dies tun sehen Sie, dass Ihr Rechner in MacOS bootet und dann, währen des Startvorgangs, wird BootX geladen und das startet Linux. Auf der BootX Webseite finden Sie weitere Informationen.

Wichtig: Stellen Sie sicher, dass Sie Unterstützung für HFS und HFS+ Dateisysteme in Ihrem Kernel haben, ansonsten werden sie nicht in der Lage sein Ihren Kernel auf der MacOS-Partition zu ändern oder zu aktualisieren.

Rebooten Sie nun wieder und fahren Sie mit Abschließen der Gentoo Installation fort.

10.d. Alternativ: quik

OldWorld Macs können mit Hilfe von quik ohne MacOS gestartet werden. Jedoch wird es nicht sehr gut unterstützt und hat einige Makel. Wenn Sie die Wahl haben, empfehlen wir Ihnen BootX zu verwenden, da es viel verlässlicher und einfacher einzurichten ist als quik.

Zuerst muss quick installiert werden:

Befehlsauflistung 4.1: quik mit emerge installieren

# emerge quik

Als nächstes muss es eingerichtet werden. Editieren Sie /etc/quik.conf und setzen Sie Ihr Image auf den Kernel, welcher auf Ihre Boot-Parition herüber kopiert wurde.

Befehlsauflistung 4.2: Konfiguration von quik.conf

# Example of quik.conf
init-message = "Gentoo Linux\n"
# Dies ist die Boot-Partition
partition = 2
root = /dev/sda4
timeout = 30
default = gentoo
# Dies ist Ihr Kernel
image = /kernel-3.4.9-gentoo
  label = gentoo

Ihre Datei quik.conf muss sich auf derselben Platte wie die Boot-Images von quik befinden. Sie kann auch auf einer anderen Partition sein, muss aber auf derselben Festplatte sein. Es wird jedoch empfohlen sie auf Ihre Boot-Partition zu verschieben.

Befehlsauflistung 4.3: Verschieben von quik.conf nach /boot

# mv /etc/quik.conf /boot/quik.conf

Wir werden nun Ihre Bootvariable setzen, so dass quik beim Boot geladen wird. Um dies zu schaffen wird eine Programm mit dem Namen nvsetenv verwendet. Die Variablen, die es zu setzen gilt, sind von Rechner zu Rechner verschieden und es ist am besten die Macken Ihres Rechners aufzuspüren, bevor man diesen Versuch unternimmt.

Befehlsauflistung 4.4: Setzen der Bootvariablen

# nvsetenv auto-boot true # Auf false setzen, wenn Sie in OF booten wollen, nicht alle Modelle können
  die OF Ausgabe anzeigen
# nvsetenv output-device video # Siehe die Macken-Seite, hier gibt es zahlreiche Variationen
# nvsetenv input-device kbd
# nvsetenv boot-device scsi/sd@1:0 # Für SCSI
# nvsetenv boot-device ata/ata-disk@0:0 # Für ATA
# nvsetenv boot-file /boot/kernel-3.4.9-gentoo root=/dev/sda4 Zuerst kommt der Pfad zum Kernel, dann folgt die Root-Partition. Sie können weitere Kerneloption ans Ende dieser Zeile anfügen.
# nvsetenv boot-command boot # Setzen Sie dies um MacOS zu verabschieden und Linux zu booten

Notiz: Es ist auch möglich Ihre Bootvariablen von MacOS aus zu verändern. Abhängig vom Modell sollte entweder bootvars oder Apple System Disk verwendet werden.Betrachten Sie bitte die oben genannte Macken-Seite für weitere Informationen.

Nun da wir Ihren Rechner für den Boot eingerichtet haben, müssen wir sicherstellen, dass die Boot-Images korrekt installiert sind. Führen Sie quik -v -C /boot/quik.confaus, dies sollte Ihnen mitteilen, dass es den ersten Abschnitt des QUIK Bootblocks installiert hat.

Notiz: Wenn etwas schief gegangen ist, können Sie immer Ihren PRAM auf die Standardwerte zurücksetzen indem Sie command + option + p + r gedrückt halten, bevor Sie Ihren Rechner hochfahren. Dies löscht die Werte, welche Sie mit nvsetenv gesetzt haben und sollte es Ihnen ermöglichen entweder eine MacOS Bootdiskette oder eine Linux Bootdiskette zu starten.

Fahren Sie nun mit dem Neustart des Systems fort.

10.e. Alternative: BootCreator

Wichtig: BootCreator wird ein nettes SmartFirmware Bootmenü, geschrieben in Forth, für den Pegasos, erstellen.

Stellen Sie zunächst sicher, dass Sie bootcreator auf Ihrem System installiert haben:

Befehlsauflistung 5.1: Installation von bootcreator

# emerge bootcreator

Kopieren Sie nun die Datei /etc/bootmenu.example in /etc/bootmenu und editieren Sie diese entsprechend Ihren Bedürfnissen:

Befehlsauflistung 5.2: Editieren der bootcreator Konfigurationsdatei

# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu

Folgend finden Sie eine vollständige /etc/bootmenu Konfigurationsdatei. Vmlinux und initrd sollten durch die Namen Ihres Kernels und initrd-Images ersetzt werden.

Befehlsauflistung 5.3: Konfigurationsdatei für bootcreator

#
# Beispiels Erläuterungsdatei für bootcreator 1.1
#

[VERSION]
1

[TITLE]
Boot Menu

[SETTINGS]
AbortOnKey = false
Timeout    = 9
Default    = 1

[SECTION]
Local HD -> Morphos      (Normal)
ide:0 boot2.img ramdebug edebugflags="logkprintf"

[SECTION]
Local HD -> Linux (Normal)
ide:0 kernel-3.4.9-gentoo video=radeonfb:1024x768@70 root=/dev/sda3

[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernel-genkernel-ppc-3.4.9-gentoo root=/dev/ram0
real_root=/dev/sda3 initrd=${genkernel-initrd}

Zuletzt muss das bootmenu nach Forth übersetzt und auf Ihre Boot Partition kopiert werden, damit die SmartFirmware es lesen kann. Deswegen müssen Sie bootcreator aufrufen:

Befehlsauflistung 5.4: Installieren des Bootmenüs

# bootcreator /etc/bootmenu /boot/menu

Notiz: Sie sollten auf alle Fälle einen Blick auf die Einstellungen von SmartFirmware werfen, wenn Sie neustarten. Stellen Sie sicher, dass menu die Datei ist welche standardmäßig geladen wird.

Fahren Sie nun fort mit der Installation mit dem Neustart des Systems.

10.f. Neustart des Systems

Verlassen Sie die chroot Umgebung und unmounten Sie alle gemounteten Partitionen. Tippen Sie dann den magischen Befehl ein, auf den Sie gewartet haben: reboot.

Befehlsauflistung 6.1: Unmounten aller Partitionen und Rebooten

# exit
livecd ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
livecd ~# umount -l /mnt/gentoo{/proc,/sys,}
livecd ~# reboot

Nachdem Sie Ihre Gentoo Installation gebootet haben, schließen Sie die Installation mit Abschließen der Gentoo Installation ab.


[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 11. Februar 2013

Die Originalversion dieses Dokuments wurde zuletzt am 17. August 2014 aktualisiert

Zusammenfassung: Es gibt verschiedene Bootloader. Jeder von ihnen wird auf seine eigene Weise konfiguriert. In diesem Kapitel beschreiben wir Ihnen alle Möglichkeiten und erklären Ihnen, wie Sie einen Bootloader an Ihre Bedürfnisse anpassen.

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

Lars Weiler
Bearbeiter

Jochen Maes
Bearbeiter

Xavier Neys
Bearbeiter

Joshua Saddler
Bearbeiter

Joseph Jezak
Bearbeiter

Gerald J. Normandin Jr.
Korrektor

Donnie Berkholz
Korrektor

Ken Nowack
Korrektor

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.