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.
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
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.
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.
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.
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.
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
Wie man mit Yaboot auf PowerPC bootet
Version 1.04, 22. February 2004