From 1237a9cea4d8a7c25d422410ef338901582ad45e Mon Sep 17 00:00:00 2001 From: Ethan Benson Date: Wed, 27 Mar 2002 14:10:34 +0000 Subject: [PATCH] sync with latest yaboot CVS Add german howto for yaboot-howto. Typo fixes/minor updates to yaboot-howto. small fixes to elfextract. git-archimport-id: erbenson@alaska.net--public/yaboot--devel--1.3--patch-16 --- ChangeLog | 23 ++ Makefile | 4 +- doc/Makefile | 6 +- doc/yaboot-howto.de.sgml | 782 +++++++++++++++++++++++++++++++++++++++ doc/yaboot-howto.sgml | 17 +- util/elfextract.c | 4 +- 6 files changed, 826 insertions(+), 10 deletions(-) create mode 100644 doc/yaboot-howto.de.sgml diff --git a/ChangeLog b/ChangeLog index a3a4c8e..13b3735 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,29 @@ # tag: automatic-ChangeLog--erbenson@alaska.net--public/yaboot--devel--1.3 # +2002-03-27 14:10:34 GMT Ethan Benson patch-16 + + Summary: + sync with latest yaboot CVS + Revision: + yaboot--devel--1.3--patch-16 + + Add german howto for yaboot-howto. + + Typo fixes/minor updates to yaboot-howto. + + small fixes to elfextract. + + + + new files: + doc/.arch-ids/yaboot-howto.de.sgml.id doc/yaboot-howto.de.sgml + + modified files: + ChangeLog Makefile doc/Makefile doc/yaboot-howto.sgml + util/elfextract.c + + 2002-03-27 13:55:42 GMT Ethan Benson patch-15 Summary: diff --git a/Makefile b/Makefile index bff91eb..91b8e7a 100644 --- a/Makefile +++ b/Makefile @@ -111,7 +111,7 @@ addnote: $(CC) $(UCFLAGS) -o util/addnote util/addnote.c elfextract: - $(HOSTCC) $(HOSTCFLAGS) -o util/elfextract util/elfextract.c + $(CC) $(UCFLAGS) -o util/elfextract util/elfextract.c mkofboot: ln -sf ybin ybin/mkofboot @@ -204,7 +204,7 @@ install: all strip @echo @echo "Installation successful." @echo - @echo "An example /etc/yaboot.conf has been installed (unless /etc/yaboot.conf already existed" + @echo "An example /etc/yaboot.conf has been installed (unless /etc/yaboot.conf already existed)" @echo "You may either alter that file to match your system, or alternatively run yabootconfig" @echo "yabootconfig will generate a simple and valid /etc/yaboot.conf for your system" @echo diff --git a/doc/Makefile b/doc/Makefile index e81d6c6..e888df9 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,12 +1,14 @@ # programs for documentation DDOC := /usr/share/sgml/debiandoc/dtd/sgml/1.0/debiandoc.dcl -DEBIANDOC2HTML := debiandoc2html -d $(DDOC) -l C -c +DEBIANDOC2HTML := debiandoc2html -d $(DDOC) -c # detailed sgml validation NSGMLS := nsgmls -ges -wall $(DDOC) all: clean $(NSGMLS) yaboot-howto.sgml - $(DEBIANDOC2HTML) yaboot-howto.sgml + $(NSGMLS) yaboot-howto.de.sgml + $(DEBIANDOC2HTML) -l en yaboot-howto.sgml + $(DEBIANDOC2HTML) -l de -byaboot-howto yaboot-howto.de.sgml ln -s index.en.html yaboot-howto.html/index.html clean: diff --git a/doc/yaboot-howto.de.sgml b/doc/yaboot-howto.de.sgml new file mode 100644 index 0000000..a28a984 --- /dev/null +++ b/doc/yaboot-howto.de.sgml @@ -0,0 +1,782 @@ + +]> + + + + + + Wie man mit Yaboot auf PowerPC bootet + + +Chris Tillman + + Version 1.01, 24. Februar 2002 + +Dieses Dokument umfasst Installations- und Benutzungs-Anleitungen für +yaboot, den GNU/Linux PowerPC Bootloader. + + + +Dieses Dokument darf zu den Bedingungen der GNU General Public Licence +verbreitet und verändert werden. +© 1998–2002 Chris Tillman + +

+This document is maintained in the upstream yaboot source. Patches +and translations should be sent to erbenson (at) alaska.net. The most +recent version of this document is available via the yaboot rsync +tree: rsync://penguinppc.org/yaboot, and . +

+Dieses Dokument ist freie Software; Sie dürfen es weiterverbreiten und/oder +modifizieren, zu den Bedingungen der GNU General Public Licence, wie sie von +der Free Software Foundation publiziert wurde; entweder Version 2, oder (nach +Ihrer Wahl) jede spätere Version. +

+Dieses Dokument wird verbreitet in der Hoffnung, dass es nützlich sein wird, +aber ohne jegliche Garantie; sogar ohne der implizierten Garantie der +Marktfähigkeit oder der Tauglichkeit für einen bestimmten Zweck. Lesen Sie die +GNU General Public Licence für weitere Details. +

+Eine Kopie der GNU General Public Licence ist als +/usr/share/common-licenses/GPL in der Debian GNU/Linux +Distribution oder im World-Wide-Web auf der + +verfügbar. Sie können Sie ebenfalls erhalten, indem Sie an die Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +schreiben. + + + + +Yaboot's Zweck +

+ +Yaboot ist ein Bootloader für PowerPC-Computer (NewWorld PowerMacs und IBM +CHRP). Es ladet einen Linux Betriebssystem Kernel von einem aus OpenFirmware +zugreifbaren Datei-System und initiiertden Betrieb des Kernels. Auf PowerMacs +kann ein inkludiertes CHRP-Skript ein Multi-OS Boot-Menü anzeigen, das +yaboot oder andere Betriebssysteme starten kann. Werkzeugen sind +vorhanden, um yaboot und die zugehörigen Skripte auf eine +nicht-mountbaren BootStrap Partition zu bekommen. + + +System-Anforderungen +

+Motorola PowerPC Prozessoren wurden in zumindest drei verschiedenen Systemen +verwendet: NuBus, OldWorld PCI und NewWorld PCI. NuBus System umfassen die +6100/7100/8100-Reihen der Power Macintoshes. OldWorld Systeme sind die meisten +Power Macintoshes mit einem Disketten-Laufwerk und einem PCI-Bus. Die meisten +603, 603e, 604 und 604e basierenden Power Macintoshes, inklusive der 7200, +7300, 7500, 7600, 8500, 8600, 9500 und 9600 sind OldWorld Rechner. Die +beige-farbenen G3-Systeme sind auch OldWorld. +

+ +yaboot wird nicht auf NuBus oder OldWorld Rechnern +funktionieren, diese benötigen quik oder (nur für MacOS +Pre-9.0.4) BootX/miboot. + +

+Die NewWorld PowerMacs, für die yaboot entworfen ist, sind alle +PowerMacs in transparenten, gefärbten Plastikgehäusen. Das umfasst alle iMacs, +iBoos, G4-Systeme, blau-farbene G3-System, und die meisten PowerBooks, die seit +1999 hergestellt werden. + + +Yaboot beziehen +

+ +Yaboot ist bei einer Debian GNU/Linux Installation für PowerPC-Rechner +inkludiert. Yaboot für Debian kann über die üblichen Methoden heruntergeladen +werden, wie zum Beispiel apt-get, dselect oder +dpkg. Die Installation einer aktualisierten Version von +yaboot auf Ihrem System ändert nicht Ihre Boot-Konfiguration; Sie +müssen dafür das inkludierte ybin Werkzeug verwenden. + +

+ +Sie können yaboot auch direkt von der Home-Page von +yaboot unter +herunterladen. Wenn Sie es mit MacOS herunterladen, vergewissern Sie sich, dass +sie das binary (nicht text) Format verwenden, und lassen Sie weder +Stuffit Expander noch ein anderes Werkzeut das Archiv in MacOS expandieren. + +

+ +Sie können das vorkompilierte yaboot-binary-X.Y.tar.gz +herunterladen, oder die Source-Datei yaboot-X.Y.tar.gz. Um das +Binär-Paket auszupacken verwenden Sie den Befehl tar -zxvpf +yaboot-X.Y.tar.gz. Die Komponenten werden in ein usr/local/ +Verzeichnis innerhalb des Verzeichnisses entpackt, in dem Sie den Befehl +ausgeführt haben. + +

+ +Um es aus de Source zu bauen und zu installieren, vergewissern Sie sich, dass +Sie einen funktionstüchtigen Compiler (gcc) und das +make Programm installiert haben. (Falls nicht, laden Sie die +binären yaboot tar-Datei statt den Sourcen.) Dann rufen Sie die folgenden +Befehle auf (ersetzen Sie mit den tatsächlichen Revisions-Nummern bei X und Y): + +

+ + tar -zxvpf yaboot-X.Y.tar.gz + cd yaboot-X.Y + make + su + make install + + + +Die Bootstrap-Partition erstellen +

+ +Überprüfen Sie bitte die mac-fdisk Grundlagen-Seite auf +. +Wenn Sie eine neue Linux-Installation erstellen, sollte die ersten Partition, +die mit mac-fdisk Sie erstellen, die bootstrap-Partition sein. +Verwenden Sie lediglich den mac-fdisk b Befehl, um +automatisch eine bootstrap-Partition in der richtigen Grösse und dem richtigen +Typ zu erstellen. Wenn Ihre Version von mac-fdisk nicht den +b Befehl unterstützt, verwenden Sie: + +

+ + Command (? for help): C xxxx 800k bootstrap Apple_Bootstrap + +

+ +(Ersetzten Sie xxxx mit der Nummer des Start-Blocks.) Eine funkionierende +tar-Datei einer bootstrap-fähigen Version von mac-fdisk (Debian-Benutzer haben +bereits diese Version) ist ebenfalls unter + verfügbar. Um diese zu installieren, +verwenden Sie + + + su - + cd / + gzip -dc mac-fdisk.tar.gz | tar -xvp + + +

+Die bootstrap-Partition benötigt nur 800k Platz. Wenn Sie eine boot-Partition +zu Ihrem existierenden Setup hinzufügen, dürften Sie genügend freien Platz auf +Ihrer vorhandenen Platte haben, ohne andere Partitionen zu ändern. Falls nicht, +können Sie es vermeiden, Ihre komplette Platte neu zu partitionieren, indem Sie +der swap-Partition etwas Platz stehlen. Oder parted erlaubt es +Ihnen, die Partitionsgrössen zu ändern. + +

+ +Die bootstrap-Partition sollte Partition #2 sein, nach der Partitions-Map +selbst aber vor allen anderen Partitionen auf der Festplatte. Sie können die +Reihenfolge der Partitionen ganz einfach ändern, indem Sie den r +Befehl verwenden (vergleichen Sie auch die mac-fdisk Übung). In +anderen Worten ist es nicht der physikalische Platz der bootstrap-Partition der +zählt, es ist die logische Reihenfolge in der Partitions-Map. Beachten Sie +jedoch, wenn Sie ein existierendes System haben und sie die Partitionsnummern +herumschieben, müssen Sie entsprechende Änderungen in /etc/fstab +vornehmen. + +

+ +Der Grund, warum Sie die bootstrap-Partition als Partition #2 benötigen ist, +damit sie allen anderen Partitionen in der Boot-Sequenz vorausgeht. Das hilft +ungeheuerlich, das ganze System stabiler zu machen, da einige Betriebssystee +sehr aufdringlich in ihrer Verwendung der Partitionen sind. + +

+ +Wenn Sie mit dem partitionieren fertig sind, benutzen Sie den p Befehl +und machen sich Notizen über die endgültigen Partitionsnummern. Sie benötigen +die Partitionsnummer der bootstrap-Partition, die Position Ihres Kernels, und +wenn Sie yaboot dazu verwenden wollen, mehrere Betriebssysteme zu +booten, auch die Partitionsnummern für Ihre anderen Betriebssysteme. + +

+ +Obwohl es möglich ist, yaboot auf einer mountbaren HFS +/boot Partition zu installieren, wird diese Konfiguration +abgelehnt, entmutigt und absolut nicht unterstützt. + + +Yabootconfig: Einfach gehts auch +

+ +Für die erste Installation auf einem Rechner können Sie +yabootconfig verwenden, um zuerst eine yaboot.conf +Datei zu erstellen und dann alles auf Ihrer bootstrap-Partition zu +installieren. Yabootconfig liest die /etc/fstab Datei des +laufenden Systems aus, um die Position des Kernels zu bestimmen, und findet die +Position der 800k Apple_Bootstrap Partition. Der Debian-Installer verwendet +yabootconfig unbemerkt im Make Hard Disk Bootable Schritt. + +

+ +Üblicherweise wird die anfängliche Boot-Konfiguration erstellt, während man +sich in der RamDisk der Installer-Umgebung befindet, mit dem System, das +installiert wird, unter /target oder /mnt eingehängt. +Um yabootconfig unter diesen Bedingungen aufzurufen, geben Sie den +Pfad zum Ziel-System mit der -t oder --chroot Option an. Zum Beispiel: +yabootconfig --chroot /target + +

+ +Die von yabootconfig automatisch generierte +yaboot.conf wird nur das booten des Linux-Systems kontrollieren, +in dem sie erstellt wurde. Um zusätzliche Betriebssysteme zu booten oder andere +Optionen hinzuzufügen, müssen Sie die yaboot.conf Datei editieren. + + +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. + + +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 + + + +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. + + +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. + + +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. + + +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. + + +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 + + + +Boot-Konfigurations-Änderungen speichern +

+ +Es gibt im Moment drei Werkzeuge, die es anbieten, Ihre +Boot-Konfigurations-Änderungen auf die Boot-Partition zu speichern: +ybin, mkofboot und yabootconfig. Ybin +kopiert yaboot, yaboot.conf und das CHRP-Skript auf +die Boot-Partition, und führt dann Seine notwendige Segnung durch. Mkofboot +initialisiert die bootstrap-Partition und ruft dann ybin auf. Und +yabootconfig erstellt eine funktionierende +yaboot.conf und ruft anschliessend mkofboot auf. Für +Details und Optionen zu diesen Werkzeugen lesen Sie die entsprechenden +Manual-Seiten oder geben Sie den Namen des Werkzeugs ein gefolgt von --help auf +der Kommandozeile. + + +Übliche Fehler +

+ +Die häufigsten Fehler, die bei der Verwendung von yaboot gemacht +werden, ist es zu versuchen, es permanent von einer einbindbaren Partition zu +booten. Wenn ein PowerPC erst hochfährt, wird der Boot-Prozess gestartet mit +der Suche nach einem sogenannten `blessed' (gesegneten) Verzeichnis. Das MacOS +plaziert die Segnung so, dass mehrere System-Verzeichnisse auf einer Partition +existieren können, aber nur einer davon gültig zum Starten ist. Wenn der +Computer für ein Dual-Boot mit Linux und MacOS aufgesetzt wird, wird MacOS beim +booten alle Verzeichnisse entsegnen, die nicht ein gültiges MacOS System +beinhalten. Dann, wenn der Rechner das nächste Mal bootet, wird die Partition, +die das vormals gesegnete Verzeichnis enthielt, nicht mehr bootbar sein. + +

+ +Die Werkzeuge, die mit yaboot zur Verfügung gestellt werden, +sollten immer verwendet werden, um es auf seiner eigenen bootstrap-Partition +aufzusetzen, für die regulären Boot-Anforderungen. Das einzige Mal, wann Sie +yaboot auf einer einbindbaren Partition plazieren sollten ist die +anfängliche Installation von Linux und Rettungs-Operationen. In diesen Fällen +können Sie in den normalen Bootloading-Prozess eingreifen, um eine spezifische +Datei ausführen zu lassen, und gesegnete Verzeichnisse sind kein Thema, da +dieser Typ des Bootens nicht automatisch passiert. + +

+ +Nachem yaboot installiert wurde, ist ein weiterer häufiger Fehler +die Boot-Konfigurationsdatei zu ändern oder die yaboot Software zu +aktualisieren und dann darauf zu vergessen, ybin aufzurufen um die +geänderte Konfiguration in die Boot-Partition zu transferieren. +Booting-Funktionen werden nicht geändert, solange die Änderungen nicht in die +bootstrap-Partition gespeichert werden. Wenn Sie Ihre yaboot.conf +oft ändern, können Sie eine Kommentarzeile in die Datei einfügen, die Sie daran +erinnert, dass Sie ybin nach den Änderungen aufrufen müssen. + + +Sich von einer Fehlkonfiguration erholen +

+ +Wenn Sie ein Problem beim booten haben, verfallen Sie nicht in Panik. Yaboot +kan jeden installierten Linux-Kernel und jedes Linux-System vom boot: Prompt +aus booten. + +Das NVRAM zurücksetzen +

+ +Halten Sie die Command-Option-p-r Tasten alle gemeinsam während dem Starten, um +alle nvram Parameter auf ihre Werkseinstellungen zurückzusetzen. Halten Sie die +Tasten, bis Sie den Startup-Ton zwei- oder dreimal hören. Wenn die +Setup-Vorschläge befolgt wurden, wird die yaboot Installation die +erste bootbare Partition sein, und OpenFirmware wird sie automatisch booten. Es +muss beachtet werden, dass MacOS-Einstellungen wie virtueller Speicher, +Startup-Platte und die Bildschirmauflösung auch auf ihre Werkseinstellungen +zurückgesetzt werden. + + +Yaboot laden +

+ +Wenn kein boot: Prompt angezeigt wird, dann wurde yaboot +nicht geladen. Sie können es händisch von OpenFirmware aus laden. Das +gemeinsame Halten der Command-Option-o-f Tasten, nachdem Sie den Einschaltknopf +gedrückt haben, wird Ihnen einen OpenFirmware-Prompt liefern + + + 0 > + +(Command ist die Taste mit dem Kleeblatt und/oder Apfel darauf). + +

+ +Am OF-Prompt müssen Sie die OpenFirmware Pfade für die meisten der +Boot-Konfigurationseinstellungen verwenden. Sie können die meisten +OpenFirmware-Pfade vom OF-Prompt aus feststellen, indem Sie ein paar OF-Befehle +verwenden, und dann einen OF-Boot-Befehl konstruieren, mit dem Sie Ihren Kernel +direkt booten können. + +

+ +Der volle OpenFirmware-Pfad besteht aus drei Teilen im Format + + + Geräte-Name:Partitions-Nummer,/Dateisystem-Pfad + + +

+ +Der OF-Befehl devalias wird alle Geräte-Aliases auflisten, die auf Ihrem System +wirksam sind. Sie dürften einige von diesen sehen: + + Name Geräte-Typ + ---- -------------------------------------------------- + hd interne IDE-Platte (primärer Controller, Master-Platte) + ultra1 interne IDE-Platte (primärer Controller, Slave-Platte) + ide0 IDE-Platte (sekundärer Controller, Master-Platte) + ide1 IDE-Platte (sekundärer Controller, Slave-Platte) + cd CD-ROM + zip Zip-Laufwerk + fw FireWire-Interface + fd Diskettenlaufwerk + enet Ethernet-Interface + + +Hängen Sie die Partitionsnummer der Boot-Partition (in unserer Empfehlung 2) +an und setzen Sie das nun mit ,yaboot fort, um die yaboot +Datei auf der Boot-Partition zu booten. + + + 0 > boot hd:2,yaboot + +

+ +Wenn Sie Enter drücken, sollte yaboot geladen werden und seinen +boot: anzeigen. Wenn Sie die Partitionsnummer nicht wissen, +beginnen Sie einfach mit 2 und erhöhen Sie die Nummer, bis Sie die richtige +Partition erwischen. + + +Ein Kernel-Image händisch laden +

+ +Wenn Sie den boot: Prompt haben, können Sie ein Label eingeben, das Sie in +Ihrer yaboot.conf definiert haben, um dieses Kernel-Image zu +booten. Oder statt einem Label können Sie auch einen vollständigen +OpenFirmware-Pfad angeben. Ein typischer Kernel-Pfad könnte folgendes sein: + + + boot: hd:3,/vmlinux + + +Um dem Kernel Parameter zu übergeben, fügen Sie diese auf der boot: +Prompt Zeile nach dem Kernel-Label oder Pfad ein. Sie müssen zumindest +root= angeben, aber Sie können jeden gewünschten Kernel-Parameter +hinzufügen. Hier ist ein Beispiel: + + + boot: hd:3,/vmlinux root=/dev/hda3 ro + + + +Yaboot als temporärer Bootloader +

+Es ist für bestimmte Aufgaben (wie zum Beispiel das Installieren eines neuen +Systems ohne einer CD oder das Retten eines existierenden Systems) sehr +angenehm, ein Ramdisk-System zu booten, wie zum Beispiel einen Installer direkt +von Dateien, die sich auf einer existierenden Partition befinden. + +

+ +Ein Beispiel ist der Debian-Installer. Er befindet sich in einer +Disketten-Image root.bin Datei, die yaboot direkt booten kann. +Eine einfache yaboot.conf, die die Ramdisk initialisiert, yaboot, +root.bin und ein Kernel-Image (linux in diesem Beispiel genannt) ist alles, was +benötigt wird. Alle Dateien werden im root-Verzeichnis einer existierenden +Partition abgelegt. + +

+ +Die yaboot.conf Datei für diesen Zweck beinhaltet nur vier Zeilen: + + image=linux + label=install + initrd=root.bin + initrd-size=8192 + +

+ +Wenn Sie yaboot.conf im MacOS erstellen, müssen Sie es auf +Unix-Zeilenumbrüche (nur Zeilenvorschübe) umkonvertieren. Wenn Sie +MacOS-Zeilenumbrücke (nur Wagenrückläufe) verwenden, kann yaboot +die Datei nicht lesen. + +

+Booten Sie OpenFirmware und geben Sie am Prompt ein: + + 0 > boot hd:xx,yaboot + + +Ersetzen Sie dabei xx mit der Partitionsnummer der Partition, auf der Sie den +Kernel und yaboot abgelegt haben, gefolgt von Enter. Am boot: +Prompt geben Sie install gefolgt von Enter ein. + + +Für weitere Informationen +

+ +Wo ist yaboot zu Hause? + + + + +

+ +Wie installiere ich Debian? + + + + + +

+ +Was ist Open Firmware? + + + + + + + + + + + + + + diff --git a/doc/yaboot-howto.sgml b/doc/yaboot-howto.sgml index a7a7576..96c350f 100644 --- a/doc/yaboot-howto.sgml +++ b/doc/yaboot-howto.sgml @@ -20,7 +20,7 @@ Chris Tillman - Version 1.00, Oct 28 2001 + Version 1.01, Feb 24 2002 This document contains installation and usage instructions for yaboot, the GNU/Linux PowerPC bootloader. @@ -29,9 +29,16 @@ This document contains installation and usage instructions for This document may be distributed and modified under the terms of the GNU General Public License. -© 1998–2001 Chris Tillman +© 1998–2002 Chris Tillman

+This document is maintained in the upstream yaboot source. Patches +and translations should be sent to erbenson (at) alaska.net. The most +recent version of this document is available via the yaboot rsync +tree: rsync://penguinppc.org/yaboot, and . +

This document is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any @@ -99,7 +106,7 @@ does not change your boot configuration; you must use the included You can also download yaboot directly from the yaboot home page at . If you download it using MacOS, +id="http://penguinppc.org/projects/yaboot/">. If you download it using MacOS, be sure to download using binary (not text) format, and don't let Stuffit Expander or another utility expand the archive in MacOS. @@ -147,7 +154,7 @@ bootstrap partition of the proper size and type. If your version of (Replace xxxx with the starting block number.) A working tarball of a bootstrap-capable version of mac-fdisk (Debian users already have this version) is also distributed at . To install this, use +id="http://penguinppc.org/~eb/files/">. To install this, use su - @@ -365,7 +372,7 @@ assumes it will find the kernel on the same device it was booted from, which is quite often true. You should always supply the kernel partition number, for example partition=3, and of course the image path (for example image=/boot/vmlinux ). If your kernel image is at the root level of -the parttion, don't forget to include the leading slash when specifying the +the partition, don't forget to include the leading slash when specifying the image path (image=vmlinux will probably fail).

diff --git a/util/elfextract.c b/util/elfextract.c index 98604f9..53ef591 100644 --- a/util/elfextract.c +++ b/util/elfextract.c @@ -46,7 +46,9 @@ main(int ac, char **av) unsigned nb, len, i; Elf32_Ehdr eh; Elf32_Phdr ph; - unsigned long phoffset, phsize, prevaddr; + unsigned long phoffset = 0; + unsigned long phsize = 0; + unsigned long prevaddr = 0; if (ac > 3 || (ac > 1 && av[1][0] == '-')) { fprintf(stderr, "Usage: %s [elf-file [image-file]]\n", av[0]); -- 2.39.2