4.4. Dateien vorbereiten für das Booten von einem USB-Memory-Stick

Um den USB-Stick vorzubereiten, benötigen Sie ein System, auf dem GNU/Linux bereits läuft und das USB unterstützt. Stellen Sie sicher, dass das usb-storage-Kernelmodul geladen ist (modprobe usb-storage) und versuchen Sie herauszufinden, welches SCSI-Gerät dem USB-Stick zugewiesen wurde (in diesem Beispiel benutzen wir /dev/sda). Um den Stick zu beschreiben, müssen Sie eventuell noch den Schreibschutz-Schalter ausschalten.

Beachten Sie, dass der USB-Stick mindestens 128 MB groß sein sollte (kleinere Setups sind möglich, wenn Sie sich nach Abschnitt 4.4.2, „Die Dateien kopieren – der flexible Weg“ richten).

4.4.1. Die Dateien kopieren – der einfache Weg

Es gibt ein „Alles-in-einem“-Image hd-media/boot.img.gz, das alle Dateien des Installers enthält (inklusive des Kernels) wie auch yaboot mit der zugehörigen Konfigurationsdatei. Erstellen Sie eine Partition des Typs „Apple_Bootstrap“ auf Ihrem USB-Stick, indem Sie das C-Kommando von mac-fdisk verwenden, und entpacken Sie das Image direkt dorthin:

# zcat boot.img.gz > /dev/sda2

Warnung

Durch diese Methode wird alles, was auf dem Gerät gespeichert ist, zerstört. Versichern Sie sich, dass Sie die richtige Gerätebezeichnung für Ihren USB-Stick verwenden.

Danach hängen Sie den USB-Memory-Stick ins Dateisystem ein (mount /dev/sda2 /mnt), der jetzt ein HFS-Dateisystem enthält, und kopieren ein Debian-„netinst“- oder -„businesscard“-ISO-Image dorthin. Achten Sie darauf, dass die Datei auf .iso endet. Hängen Sie den Stick aus dem Dateisystem aus (umount /mnt) – Sie haben es geschafft.

4.4.2. Die Dateien kopieren – der flexible Weg

Wenn Sie flexibler sein wollen oder einfach nur wissen möchten, was passiert, sollten Sie die folgende Methode nutzen, um die Dateien auf den Stick zu befördern:

4.4.2.1. Partitionieren eines USB-Sticks auf PowerPC-Systemen

Die meisten USB-Sticks sind nicht derart vorkonfiguriert, dass OpenFirmware davon booten kann, so dass Sie den Stick neu partitionieren müssen. Auf Mac-Systemen führen Sie mac-fdisk /dev/sda aus, erzeugen mit dem i-Befehl eine neue Partitionstabelle und dann eine neue Partition des Typs Apple_Bootstrap (mit dem C-Kommando). Bedenken Sie, dass die erste „Partition“ immer die Partitionstabelle selbst ist. Geben Sie dann ein:

$ hformat /dev/sda2

Sorgen Sie dafür, dass Sie den richtigen Gerätenamen des USB-Sticks verwenden. Der Befehl hformat ist im Debian-Paket hfsutils enthalten.

Um den Kernel zu starten, nachdem wir vom USB-Stick gebootet haben, werden wir einen Bootloader auf dem Stick ablegen. Der Bootloader yaboot kann auf einem HFS-Dateisystem installiert werden und wird über eine Textdatei konfiguriert. Jedes Betriebssystem, das das HFS-Dateisystem unterstützt, kann verwendet werden, um die Konfiguration des Bootloaders zu verändern.

Das normale ybin-Werkzeug, das bei yaboot dabei ist, unterstützt USB-Speicher-Geräte nicht, deshalb müssen wir yaboot von Hand mit den hfsutils-Programmen installieren. Geben Sie ein:

+$ hmount /dev/sda2
+$ hcopy -r /usr/lib/yaboot/yaboot :
+$ hattrib -c UNIX -t tbxi :yaboot
+$ hattrib -b :
+$ humount

Hier wieder die Warnung, den richtigen Gerätenamen zu verwenden. Die Partition darf für diese Prozedur nicht anderweitig ins Dateisystem eingehängt sein. Es wird hierbei der Bootloader auf die Partition geschrieben und mittels der HFS-Programme passend gekennzeichnet, so dass OpenFirmware ihn startet. Nachdem dies erledigt ist, sollten die restliche Vorbereitungen am USB-Stick mit den normalen Unix-Programmen vorgenommen werden.

Hängen Sie die Partition ins Dateisystem ein (mount /dev/sda2 /mnt) und kopieren Sie die folgenden Dateien vom Debian-Archiv auf den Stick:

  • vmlinux (Kernel-Binär-Datei)

  • initrd.gz (Initial-RAM-Disk-Image)

  • yaboot.conf (Yaboot-Konfigurationsdatei)

  • boot.msg (optionale Bootmitteilungen)

  • Optionale Kernel-Module

Die Konfigurationsdatei yaboot.conf sollte die folgenden Zeilen enthalten:

default=install
root=/dev/ram

message=/boot.msg

image=/vmlinux
        label=install
        initrd=/initrd.gz
        initrd-size=10000
        append="devfs=mount,dall --"
        read-only

Beachten Sie bitte, dass der Wert für den Parameter initrd-size abhängig von dem Image, das Sie booten, evtl. noch erhöht werden muss.

4.4.2.2. Ein ISO-Image hinzufügen

Jetzt sollten Sie ein Debian-ISO-Image („businesscard“, „netinst“ oder sogar ein Komplett-Image) auf den Stick laden (wählen Sie eines, das auch auf den Stick passt). Der Dateiname des Images muss auf .iso enden.

Wenn Sie per Netzwerk booten möchten, ohne ein ISO-Image zu nutzen, können Sie natürlich den vorigen Schritt überspringen. Sie müssen dabei außerdem die Initial RAM-Disk aus dem Verzeichnis netboot verwenden statt aus hd-media, da hd-media/initrd.gz keine Netzwerkunterstützung hat.

Wenn Sie dies erledigt haben, hängen Sie den USB-Memory-Stick aus dem Dateisystem aus (umount /mnt) und aktivieren den Schreibschutz.