PPC: Einrichten von lilo Bootloaders auf PowerPC

Supportdatenbank (olh_ppc_lilo)
Bezieht sich auf

SuSE Linux PowerPC: Versionen ab 6.4

Vorgehen

lilo ist ein Frontend zu den diversen Bootloadern auf PowerPC Rechnern. Eine einfache Konfigdatei soll die Handhabung der verschiedenen Bootloader vereinfachen. Die Syntax der Datei /etc/lilo.conf ist an den lilo der i386 Plattform angelehnt.

Es werden diese Bootloader konfiguriert:

Beachten Sie das es für PReP Rechner auf Grund der Firmware keinen wirklichen Bootloader gibt. Es wird das zImage.prep geladen welches ein kurzes Programm enthält mit dem Sie weitere Kernelparameter übergeben können. Zum Ändern der Defaultwerte ist eine Neukompilierung des Kernels nötig.

Auf älteren PowerMacs kann BootX noch nicht von der Linuxseite konfiguriert werden. Es muss auf die MacOS Partition geschrieben werden, diese könnte aber im HFS+ Format sein. Es gibt leider noch keine stabilen Tools um HFS+ 100% sicher zu beschreiben. Deshalb ist es einfacher die Konfiguration von BootX von Hand vorzunehmen. Meist muss nur das Root-Device angegeben werden.

Eine einfache lilo.conf hat folgenden Aufbau:

boot=/dev/_ihre_boot_partition
timeout=100
default=linux
image=/boot/vmlinux
	label=linux
	root=/dev/hda11
	append=" optionale kernelargumente"
image=/boot/vmlinux.new
	label=new
	root=/dev/hda11
other=/dev/_ihre_macos_partition
	label=macos
Aus diesen Daten generiert lilo dann die passende Konfigdatei und kopiert die zum Booten benötigten Dateien an die richtige Stelle.

* PowerMac neu:

Auf neueren PowerMacs (iMac und neuer) wird yaboot zum booten verwendet. Die detailierte Beschreibung zu yaboot finden Sie in einem eigenen SDB Artikel.

Sie benötigen eine eigene kleine Partition im Standard HFS Format, Grösse ca. 32MB. Diese enthält die zum booten benötigten Dateien welche von der OpenFirmware geladen werden.

Sie können die Sektion other= weglassen wenn Sie kein MacOS auf dem Rechner haben. Ansonsten besteht die Möglichkeit beim Rechnerstart mit der Leertaste zwischen MacOS und Linux zu wählen.
Ist die Sektion "macos" in der Zeile "default=" aktiviert so müssen Sie die Leertaste drücken um Linux zu starten, andernfalls startet Linux per default.

Wenn Sie einen SCSI Kontroller einsetzen welcher nicht bootbar ist (z.B. Adaptec 2906) dann wird zusätzlich zu den benötigten Dateien auch der Kernel und die optionale Ramdisk auf die Bootpartition kopiert. Sie können dies mit dem Parameter "copy" in einer Sektion forcieren wenn lilo dies nicht automatisch erkennt.

* PowerMac alt:

Auf älteren PowerMacs sollten Sie BootX und die BootX Erweiterung benutzen wenn Sie sowohl MacOS als auch Linux parallel verwenden wollen. Die Einrichtung von BootX ist in einem eigenen SDB Artikel beschrieben.

lilo kann auf älteren Rechnern nur MiBoot einrichten, dies ist eine abgespeckte Variante von BootX welche ohne MacOS auskommt aber kein Dualboot zulässt. Es ist also optimal geeignet wenn Sie kein MacOS auf dem Rechner einsetzen.

miboot kann momentan keine eigene Konfigurationsdatei lesen. Das Root-Device wird dem Kernel über eine Ramdisk mitgeteilt. Weitere Kernelparameter kann man nur übergeben wenn man mit ResEdit oder einem HexEditor die Datei System.bin bearbeitet. Dies ist aber für die meisten Fälle nicht nötig.

Sie benötigen eine kleine MacOS Partition im Standard HFS Format. Diese enthält die zum booten benötigten Dateien.

lilo wertet nur die Zeile "default=" und "boot=" aus und kopiert den Kernel der entsprechenden "image=" Sektion auf die Bootpartition.

* RS/6000 Rechner (CHRP):

Auf den RS/6000 Rechnern wird auch yaboot verwendet, der Bootloader quik ist damit obsolete. Zur Konfiguration von yaboot gibt es einen eigenen SDB Artikel.

Sie benötigen eine kleine Bootpartition vom Type "41 PReP Boot Partition". Diese wird von YaST bei der Installation automatisch angelegt wenn Sie die gesamte Platte automatisch partitionieren lassen. Diese darf nicht grösser als 4MB sein. Sie muss als aktiv gekennzeichnet sein.
In diese Partition wird die Datei yaboot raw geschrieben. Stellen Sie sicher das diese Partition im Multiboot Menü der OpenFirmware auch gebootet wird.

yaboot sucht alle Partition im ext2 Format nach einer Datei /etc/yaboot.conf ab, dabei sucht es von der grössten Partitionsnummer zu kleinsten. Auf der ersten gefundene Partition mit der Konfigdatei wird auch der Kernel gesucht.

Die Sektion "other=" wird auf CHRP Rechner nicht ausgewertet, es besteht keine Möglichkeit AIX aus yaboot heraus zu booten.

* PReP basierte Rechner:

Die Firmware der PReP Rechner stellt keine Funktionen zur Verfügung um auf externe Devices zuzugreifen. Deshalb existiert auch kein Bootloader im üblichen Sinn. Das zImage welches in arch/ppc/boot liegt wird raw in eine Partition vom Type "41 PReP Boot Partition" geschrieben. Es gibt ein kleines Tool mit welchem Sie weitere Kernelparameter übergeben können. Die Defaultwerte können nur durch neukompilieren des Kernels geändert werden. Seit Kernel 2.4.12 ist die cmd_line im Binary eingeschraenkt editierbar.

 - Überprüfen Sie die Länge der Datei /boot/zImage.prep
ls -l /boot/zImage.prep
 - Öffnen Sie zImage.prep mit vi (im Binarymode):
vim -b /boot/zImage.prep
 - Suchen Sie nach 'root=/dev/sda3'
/root=
 - Mit dem vi Kommando 'R' kommen Sie in den ersetzen-Modus, Sie können und die vorhandenen Leerzeichen überschreiben.
 - Mit der Escape Taste verlassen Sie den ersetzen-Modus.
 - Mit dem vi Kommando ':x' speichern Sie die Änderungen,
 - Mit dem vi Kommando ':q!'verlassen Sie vi ohne die Änderungen zu speichern.
 - Überprüfen Sie die Länge der Datei /boot/zImage.prep
ls -l /boot/zImage.prep
 - Die Länge _muss_ unverändert sein.

Weitere Konfigurations-Optionen:

activate

  Damit wird die Bootpartition aktiviert. Dies wird nur auf PReP und CHRP
  ausgewertet. Auf PowerMac ist es noch nicht implementiert.
  
boot=/dev/partition

  Dies legt die Bootpartition fest welche den Bootloader enhält.
  Auf PReP wird die Datei zImage.prep in diese Partition geschrieben.
  Auf CHRP wird yaboot in diese Partition geschrieben.
  Auf PowerMac muss diese auf eine Partition im Standard HFS Format zeigen.
  Um diese Partition nachträglich zu initialisieren geben Sie diese Kommandos
  ein (Achtung: dabei gehen alle Daten verloren!):

      dd if=/dev/zero of=/dev/_boot_partition_number
      hformat /dev/_boot_partition_number


bootfolder=suseboot

  Dies ist der Ordner in dem auf PowerMac die zum booten benötigten Dateien
  abgelegt werden. Weiterhin wird dieser Ordner als "Systemordner" markiert.
  Den Wert "suseboot" sollten Sie nicht ändern.

default=labelname

  Damit legen Sie fest welcher Kernel per default gebootet werden soll wenn
  Sie keine Eingabe am Bootprompt machen. Weiterhin können Sie auf PowerMacs
  per default MacOS booten (siehe os-chooser im SDB Artikel zu yaboot).

timeout=100

  Dies ist die Zeitspanne in Zehntel Sekunden die yaboot auf eine Eingabe
  warten bis "default=" geladen wird.
  100 entspricht 10 Sekunden.


Optionen für eine image= Sektion:

  image=/pfad/zum/kernel

    Diese Option legt den zu bootenden Kernel fest. Es wird vmlinux verwendet.

  label=

    Diese Option ist ein eindeutiger Name für diese image= Sektion.

  root=/dev/linux_root_partition
  
    Diese Option legt die Root-Partition für den Linux Kernel fest. Sie können
    dies mit " df / " feststellen.

  append="parameter"

    Diese Option übergibt weitere Parameter an den Kernel. Hier können Sie
    z.B. die Paramter für die serielle Konsole angeben.

  initrd=/pfad/zur/initrd

    Diese Option legt den Pfad zu einer initrd fest. Diese wird z.B. zur
    Installation verwendet und auf PowerMac alt. Diese Option müssen sie meist
    nicht angeben.

  copy

    Diese Option forciert das kopieren des Kernels auf die Bootpartition.
    Dadurch haben Sie eine Möglichkeit zusammen mit einer initrd in den
    Installer zu booten wenn Ihre Linux Partition beschädigt ist.

 
 other=/pfad/zur/macospartition
 
   Diese Option gibt Ihnen die Möglichkeit in MacOS zu booten. Dazu wird der
   os-chooser verwendet. Mit der Leertaste können Sie zwischen Linux und MacOS
   wählen. Diese Option benötigt die Option label= , der Name ist beliebig.

Die aktuellste Version von lilo für PowerPC finden Sie hier:
ftp://ftp.suse.com/pub/projects/powerpc/lilo/lilo.rpm
Den Sourcecode finden Sie hier:
ftp://ftp.suse.com/pub/projects/powerpc/lilo/lilo.spm

Stichwörter: PPC, POWERPC, APPLE, RS6000, YABOOT, QUIK, BOOT, LILO, PREP

Kategorien: Power PC

SDB-olh_ppc_lilo, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 30. Okt 2000
SuSE Linux AG - Zuletzt generiert: 03. Dez 2001 von olh (sdb_gen 1.40.0)