[ 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

Version 1.04, 22. February 2004
Chris Tillman