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 das SYSLINUX-Programm mit der zugehörigen Konfigurationsdatei. Sie müssen das Image lediglich direkt auf den USB-Stick entpacken:

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

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/sda /mnt), der jetzt ein FAT-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 Intel x86-Systemen

Wir werden hier erläutern, wie Sie den Memory-Stick einrichten, so dass nur die erste Partition genutzt wird statt des kompletten USB-Speichers.

Anmerkung

Da die meisten USB-Sticks mit einer einzelnen FAT16-Partition vorkonfiguriert geliefert werden, müssen Sie den Stick möglicherweise nicht neu partitionieren oder formatieren. Falls es trotzdem nötig ist, nutzen Sie cfdisk oder ein anderes Partitionierungs-Werkzeug, um eine FAT16-Partition zu erzeugen und erstellen dann ein Dateisystem, indem Sie Folgendes eingeben:

# mkdosfs /dev/sda1

Achten Sie darauf, dass Sie den richtigen Gerätenamen für den USB-Stick verwenden. Das Programm mkdosfs ist in dem Debian-Paket dosfstools enthalten.

Um den Kernel zu starten, nachdem wir vom USB-Stick gebootet haben, werden wir einen Bootloader auf dem Stick ablegen. Obwohl jeder Bootloader (wie z.B. lilo) funktionieren sollte, wird empfohlen, SYSLINUX zu verwenden, da er eine FAT16-Partition benutzt und über eine Textdatei konfiguriert werden kann. Jedes Betriebssystem, das das FAT-Dateisystem unterstützt, kann verwendet werden, um die Konfiguration des Bootloaders zu verändern.

Um SYSLINUX auf die FAT16-Partition des USB-Sticks zu befördern, installieren Sie die Pakete syslinux und mtools auf Ihrem System und führen dann aus:

# syslinux /dev/sda1

Hier wieder die Warnung, den richtigen Gerätenamen zu verwenden. Die Partition darf nicht ins Dateisystem eingehängt sein, wenn SYSLINUX gestartet wird. Durch diese Prozedur wird ein Bootsektor auf die Partition geschrieben und die Datei ldlinux.sys erstellt, die den Bootloader-Code enthält.

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

  • vmlinuz (Kernel-Binär-Datei)

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

  • syslinux.cfg (SYSLINUX-Konfigurationsdatei)

  • Optionale Kernel-Module

Wenn Sie die Dateien umbenennen möchten, beachten Sie, dass SYSLINUX nur Dateinamen nach dem DOS-(8.3)Format verarbeiten kann.

Die Konfigurationsdatei syslinux.cfg sollte die folgenden zwei Zeilen enthalten:

default vmlinuz
append initrd=initrd.gz ramdisk_size=12000 root=/dev/ram rw

Beachten Sie bitte, dass der Wert für den Parameter ramdisk_size abhängig von dem Image, das Sie booten, evtl. noch erhöht werden muss. Falls der Systemstart fehlschlägt, versuchen Sie, devfs=mount,dall zur „append“-Zeile hinzuzufügen.

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.

4.4.2.3. Vom USB-Stick booten

Warnung

Wenn Ihr System es ablehnt, von dem Memory-Stick zu booten, könnte es sein, dass der Stick einen defekten Master-Boot-Record (MBR) enthält. Um dies zu beheben, nutzen Sie den install-mbr-Befehl aus dem Paket mbr:

# install-mbr /dev/sda