Wie man mit Yaboot auf PowerPC bootet - Ihre Boot-Konfiguration anpassen

[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ weiter ]

# Wie man mit Yaboot auf PowerPC bootet
Kapitel 6 - Ihre Boot-Konfiguration anpassen

Um Ihre `yaboot` Installation anzupassen, verwenden Sie einen Text-Editor wie zum Beispiel `vi` oder `nano` (oder `nano-tiny` im Debian-Installer), um die `yaboot.conf` Datei zu editieren. Wenn Sie `yabootconfig` verwendet haben, um die anfängliche `yaboot.conf` zu erstellen, wird sie bereits eine grundlegende Konfiguration enthalten, um das Linux-System zu booten.

Die `yaboot.conf` hat zahlreiche Optionen; lesen Sie die `yaboot.conf` Manual-Seite für Details dazu. Ich werde kurz die beliebtesten Einzelheiten hier behandeln. Die Datei kontrolliert sowohl `yaboot` während dem tatsächlichen Boot-Prozess, als auch `ybin` während die Konfiguration auf die Boot-Partition gespeichert wird.

Zeilen in der Datei, die mit `#` beginnen, werden als Kommentare angesehen. Jede Option oder Parameter muss in einer eigenen Zeile angegeben sein. Verwenden Sie keine zusätzlichen Leerzeichen in den folgenden Parameter-Definitionen. Ebenfalls muss die Datei Unix-Zeilenumbrüche enthalten; vergewissern Sie sich, dass Sie die Datei im Unix-Typ speichern, wenn Sie sie in MacOS erstellen oder editieren.

## 6.1 Linux-Style Geräte-Pfade

Für die, die mit der Linux Geräte-Bezeichnung unvertraut sind: Partitions-Pfade haben die Form `/dev/xxx#`, wobei xxx der Linux Geräte-Name ist und # die Partitionsnummer repräsentiert. Typische Linux Geräte-Namen sind:

           Name   Device Type
           ----   --------------------------------------------------
           hda    interne IDE-Platte (primärer Controller, Master-Platte)
           hdb    interne IDE-Platte (primärer Controller, Slave-Platte)
           hdc    sekundärer Controller, Master-Platte (oft für CD-ROM verwendet)
           hdd    sekundärer Controller, Slave-Platte (oft für Zip-Laufwerke verwendet)
           sda    erste SCSI-Platte (SCSI ID Adressen-weise)
           sdb    zweite SCSI-Platte
           scd0   erstes CD-ROM (oder sr0)
           fd0    erstes Disketten-Laufwerk
           fd1    zweites Disketten-Laufwerk

## 6.2 OpenFirmware Geräte-Pfade

Ein Werkzeug, um die OpenFirmware Geräte-Pfade zu finden, die zu gegebenen Linux Geräte-Pfaden gehören, ist verfügbar: `ofpath`. `ybin` verwendet `ofpath` intern, um Linux Gerätenamen, die Sie in `yaboot.conf` verwenden, auf ihren OpenFirmware Equivalente umzuwandeln. Ein Beispiel: `ofpath /dev/hda` (sollte hd: zurückliefern). Sie können die OpenFirmware Geräte-Pfade auch selbst herausfinden, lesen Sie dazu Sich von einer Fehlkonfiguration erholen weiter unten.

## 6.3 Benötigte Einstellungen

Die bootstrap-Partition wird mit `boot=boot-partition` identifiziert, wobei boot-partition der Pfad zur bootstrap-Partition im Linux-Stil ist. Wenn Sie unseren Partitionierungsvorschlägen auf ihrer internen Festplatte gefolgt sind, sollte das `boot=/dev/hda2` sein.

Für PowerMacs wird ebenfalls eine magicboot Zeile wie zum Beispiel `magicboot=/usr/local/lib/yaboot/ofboot` benötigt. Einige Modelle können kein reines ELF ausführen, und benötigen ein CHRP-Skript (was diese Zeile in der `yaboot.conf` Datei verfügbar macht).

Die `partition=`, `image=` und `root=` Einstellungen (bei den Kernel-Image Einstellungen unterhalb) werden ebenfalls benötigt.

## 6.4 Boot-Menü Optionen

Ein CHRP Skript (`ofboot`) wurde zur Verfügung gestellt, das `ybin` mit den Einstellungen in `yaboot.conf` modifiziert, um ein sehr handliches Multi-Betriebssystem Boot-Menü anzuzeigen.

Wenn Sie ein Multi-Betriebssystem Boot-Menü aufsetzen, müssen Sie die Partitionen angeben, in denen sich jedes Betriebssystem befindet. Sie können die Linux-Stil oder OpenFirmware Partitionspfade verwenden. Hier sind einige Beispiele, die die Möglichkeiten aufzeigen:

              macos=/dev/hda10
              macosx=/dev/hda12
              darwin=hd:9
              bsd=zip:1

Wenn Sie `macosx=` verwenden und OSX auf einer UFS-Partition installiert haben, dann muss macosx auf die OSX bootstrap-Partition zeigen, nicht auf den UFS-Zweig. Versuchen Sie jedoch nicht, die OSX bootstrap-Partition für `ybin` zu verwenden — Sie benötigen trotzdem eine eigene Apple_Bootstrap Partition.

Wenn Sie jedoch `bsd=` verwenden, müssen Sie es auf die BSD root-Partition zeigen lassen, nicht auf eine bsd bootstrap-Partition. Um `bsd=` zu verwenden benötigen Sie ebenfalls den bsd-Bootloader (ofwboot) in `/usr/local/lib/yaboot/`, wenn Sie `ybin` aufrufen.

Wenn nichts aus de Boot-Menü ausgewählt wird, wenn es erscheint, ruft das System `yaboot` auf, um Linux zu starten. Um ein anderes Betriebssystem zu starten, wenn keine Taste gedrückt wird, fügen Sie eine `defaultos=` Zeile ein, zum Beispiel `defaultos=macos` oder `defaultos=bsd`.

## 6.5 Kernel-Image Einstellungen

Die Kernel-Images, die von yaboot gestartet werden sollen, können Sie auf jeder Partition befinden, auf einem ext2, ext3, XFS, ReiserFS oder HFS/HFS+ Dateisystem. Yaboot muss nur die Partitions-Nummer und den Dateisystem-Pfad für den Kernel wissen.

Die `yaboot.conf` Datei hat zwei Sektionen; die meisten Optionen befinden sich in der globalen Sektion am Anfang der Datei, und andere Optionen, die die einzelnen Kernel-Images betreffen, sind unterhalb zusammengefasst. Die meisten Kernel-Image Optionen können sowohl global oder lokal definiert werden; eine globale Option wird überschrieben, wenn sie in einer Kernel-Image Sektion neu definiert ist. Jede Kernel-Image Sektion beginnt mit einer `image=/` Zeile, die den Dateisystem-Pfad zu dem Kernel-Image angibt; die ersten `image=/` Zeile kennzeichnet das Ende der globalen Sektion.

Yaboot muss das Gerät, die Partitionsnumer und den Dateisystempfad für das Kernel-Image wissen, das es laden und starten soll. Jedoch ist `device=` üblicherweise nicht notwendig, da `yaboot` dann annimmt, es kann den Kernel auf dem selben Gerät finden, von dem es gestartet wird, was ziemlich oft stimmt. Sie sollten immer die Kernel Partitionsnummer angeben, zum Beispiel `partition=3`, und natürlich den Image-Pfad (zum Beispiel `image=/boot/vmlinux` ). Wenn Ihr Kernel-Image sich im root-Verzeichnis der Partition befindet, vergessen Sie nicht, den führenden Schrägstrich im Image-Pfad anzugeben (`image=vmlinux` funktioniert wahrscheinlich nicht).

Es ist zu beachten, dass `yaboot` das Kernel-Image im Dateisystem einer Partition findet, ohne zu wissen, an welcher Stelle diese Partition in das Linux root-Dateisystem eingehängt wird. Daher, falls Sie zum Beispiel ein Kernel-Image oder symbolischen Link auf /boot/vmlinux haben, aber /boot auf Ihrem System eine eigene Partition ist, ist der Image-Pfad für `yaboot` einfach nur `image=/vmlinux`.

Sie müssen ebenfalls den Linux Partitionspfad für die root-Partition angeben, zum Beispiel `root=/dev/hda3`. Dieser Parameter wird an den Kernel beim Starten übergeben, um ihn wissen zu lassen, wo sich das root-Dateisystem befindet. Viele weitere Optionen sind verfügbar, um zusätzliche Boot-Parameter an den Kernel zu übergeben (`append=`), die Grösse einer anfänglichen Ram-Disk anzugeben (`ramdisk=`), ein Ram-Disk Image zu laden (`initrd=`), und andere. Lesen Sie die Details zu den Kernel-Image Optionen in der Manual-Seite zu yaboot.conf.

Hier ist ein einfaches aber komplexes Beispiel einer `yaboot.conf` mit einer Kernel-Image Sektion:

           # Wo ist die bootstrap-Partition
           boot=/dev/hda2
           # CHRP-Skript Spezifizierung
           magicboot=/usr/lib/yaboot/ofboot
           # Dual-Boot mit MacOS
           macos=hd:14
           # Wartezeit im Betriebssystem Boot-Menü (Sekunden)
           delay=5

           # Wartezeit am boot: Promt (Zehntel-Sekunden)
           timeout=50
           # Global identifizierte Root-Partition
           root=/dev/hda3
           # Das Device, auf dem sich der Kernel befindet
           device=hd:

           # Die Kernel-Image Sektion beginnt hier
           # Dateisystem-Pfad zum Kernel-Image, symbolische Links sind o.k.
           image=/vmlinux
               # Nummer der Partition, auf der dieser Pfad liegt
               partition=3
               # Ein Name für den boot: Prompt, um diesen Kernel zu laden
               label=Linux
               # Der Typ, mit dem das root-Dateisystem eingebunden wird,
               #     read-only erlaubt einen fsck Durchlauf
               read-only

           ## ybin muss aufgerufen werden um Änderungen zu übernehmen!!!!!!!

Um ein Kernel-Image über tftp über das Netz zu booten, verwenden Sie `image=/tftpboot/vmlinux` (der Pfad zum tftp-Server) und `device=enet:10.0.0.1` (setzen Sie die tftp-Boot-Server IP-Adresse ein).

Im Normalfalls wird das erste Image gestartet, das in `yaboot.conf` angegeben ist, wenn keine Eingabe am boot: Prompt erfolgt. Um ein anderes Image als Vorgabe zu haben, fügen Sie eine `default=label` Zeile in die globale Sektion ein.

## 6.6 Optionale und coole Einstellungen

Yaboot und Ihr Multi-Boot Menü kann Spritzer Farbe in Ihr Leben bringen! Verwenden Sie `fgcolor=` und `bgcolor=` Zeilen um Ihren Bildschirm am Morgen mit black, blue, light-blue, green, light-green, cyan, light-cyan, red, light-red, purple, light-purple, brown, light-gray, dark-gray, yellow und white aufzuwecken. Stellen Sie fgcolor und bgcolor auf das selbe ein, wenn Sie eine echte Herausforderung lieben.

Fügen Sie jedes oder alle der enableboot, enablenetboot oder enablecdboot hinzu, um entsprechend folgende Optionen zu Ihrem Betriebssystem Boot-Menü hinzuzufügen: Von OpenFirmware, dem Netzwerk oder CD-Rom booten.

Verwenden Sie Set delay= (in Sekunden) um festzulegen, wie lange das Multi-Boot Betriebssystem-Menü warten soll, bevor es das vorgegebene Betriebssystem bootet. `timeout=` (in Zehntel-Sekunden) gibt an, wielange yaboot am boot: Prompt auf Ihre Auswahl eines Kernel-Images warten soll, bevor es das erste Image in der Datei oder das `default=` Image bootet.

Boot-Passwort Sicherung ist mit einer `password=` Zeile verfügbar. Wenn Sie `password=` hinzufügen, wird ein Passwort notwendig, für alle Boot-Vorgänge. Automatisches Booten ist nicht möglich, ausser Sie fügen auch eine `restricted` Zeile hinzu.

Wenn `restricted` in der globalen Sektion hinzugefügt wird, dürfen Kernel-Images, die in `yaboot.conf` definiert sind, gebootet werden, solange keine Argumente am boot: Prompt hinzugefügt werden. Das ist nützlich für unbeaufsichtigtes Booten, während man augenblicklichte root-Shell Probleme bei Consolen-Zugriff unterbindet (jedoch werden auch OpenFirmware Passwörter benötigt, um das wirklich sicher zu machen, gemeinsam mit dem Verschliessen des Gehäuses). Um ein undefiniertes Image zu booten, oder ein Image mit zusätzlichen Argumenten, wird ein Passwort benötigt.

Die `password=` Zeile kann entweder ein reines Text-Passwort oder eine MD5-Prüfsumme sein (das selbe Format wie die Linux `/etc/shadow` Datei). Um eine MD5-Prüfsumme zu erstellen, verwenden die folgende Perl-Zeile:

             $ perl -e 'printf("%s\n", crypt("geheim1", "\$1\$saltstrg"))'

Der saltstrg sollte eine zufällige Zeichenfolge sein, zum Beispiel eine generiert von

             makepasswd --chars=8

[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ weiter ]

Wie man mit Yaboot auf PowerPC bootet