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

Es gibt zwei mögliche Installationsmethoden, wenn Sie von USB-Stick booten. Die erste wäre, komplett über das Netzwerk zu installieren und die zweite, ebenfalls ein CD-Image auf den USB-Stick zu kopieren und dieses als Paketquelle zu nutzen, möglicherweise in Kombination mit einem Spiegel-Server. Diese zweite Methode wird üblicherweise verwendet.

Für die erste Installationsmethode müssen Sie ein Installer-Image aus dem netboot-Verzeichnis (von einer der in Abschnitt 4.2.1, „Wo Sie die Installations-Images finden“ angegebenen Adressen) herunterladen und den unten beschriebenen flexiblen Weg nutzen, um die Dateien auf den USB-Stick zu kopieren.

Installations-Images für die zweite Installatiosmethode finden Sie im hd-media-Verzeichnis und Sie können sowohl den einfachen wie auch den flexiblen Weg benutzen, um das Image auf den Stick zu kopieren. Für diese Installationsmethode müssen Sie auch ein CD-Image herunterladen. Das Installations-Image und das CD-Image müssen auf der gleichen debian-installer-Version basieren. Falls die Versionen nicht übereinstimmen, werden wahrscheinlich während der Installation Fehler[6] auftreten.

Um den USB-Stick vorzubereiten, benötigen Sie ein System, auf dem GNU/Linux bereits läuft und das USB unterstützt. Auf aktuellen GNU/Linux-Systemen sollte der USB-Stick automatisch erkannt werden, sobald Sie ihn einstecken. Falls nicht, sollten Sie sicherstellen, dass das usb-storage-Kernelmodul geladen ist. Beim Einstecken wird dem USB-Stick ein Gerät namens /dev/sdX zugewiesen, wobei X ein Buchstabe im Bereich von a bis z ist. Es sollte Ihnen möglich sein zu erkennen, welches Gerät dem Stick zugewiesen wurde, indem Sie den Befehl dmesg ausführen, nachdem der USB-Stick eingesteckt wurde. Um den Stick zu beschreiben, müssen Sie eventuell noch mit dem entsprechenden Schalter den Schreibschutz deaktivieren.

Warnung

Die hier beschriebenen Verfahren werden alle auf dem Gerät vorhandenen Daten zerstören! Stellen Sie auf jeden Fall sicher, dass Sie den korrekten Gerätenamen für den USB-Stick verwenden. Wenn Sie den falschen Gerätenamen benutzen, könnte das dazu führen, dass alle Dateien zum Beispiel auf einer Festplatte verloren gehen.

Beachten Sie, dass der USB-Stick mindestens 256 MB groß sein sollte (kleinere Setups sind bei Nutzung von Abschnitt 4.3.2, „Die Dateien kopieren – der flexible Weg“ möglich).

4.3.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 dem Kernel) wie auch den Bootloader syslinux mit der zugehörigen Konfigurationsdatei.

Bedenken Sie, dass diese Methode, obwohl sie bequem ist, einen gravierenden Nachteil hat: die logische Größe des Sticks ist begrenzt auf 256MB, auch wenn die Kapazität des USB-Sticks eigentlich größer ist. Falls Sie den Stick jemals wieder für einen anderen Zweck verwenden und die volle Kapazität zurückbekommen möchten, müssen Sie ihn neu paritionieren und die Dateisysteme neu erstellen. Ein zweiter großer Nachteil ist, dass Sie nicht ein Komplett-CD-Image auf den Stick kopieren können, sondern nur die kleineren Businesscard- oder Netinst-CD-Images.

Um dieses Image zu verwenden, extrahieren Sie es einfach direkt auf Ihren USB-Stick:

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

Hängen Sie danach den USB-Memory-Stick ins Dateisystem ein (mount /dev/sdX /mnt), der jetzt ein FAT-Dateisystem enthält, und kopieren ein Debian-netinst- oder businesscard-ISO-Image dorthin. Hängen Sie den Stick aus dem Dateisystem aus (umount /mnt) – das war's.

4.3.2. Die Dateien kopieren – der flexible Weg

Wenn Sie flexibler sein oder einfach nur wissen möchten, was passiert, sollten Sie die folgende Methode nutzen, um die Dateien auf den Stick zu befördern. Ein Vorteil dieser Methode ist, dass Sie – falls die Kapazität Ihres USB-Sticks dafür ausreicht – die Möglichkeit haben, ein Komplett-CD-ISO-Image darauf zu kopieren.

4.3.2.1. Den USB-Stick partitionieren

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 Partitionierungswerkzeug, um eine FAT16-Partition zu erzeugen[7], und erstellen dann ein Dateisystem, indem Sie Folgendes eingeben:

# mkdosfs /dev/sdX1

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

Um den Kernel starten zu können, nachdem vom USB-Stick gebootet wurde, 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/sdX1

Hier nochmals die Warnung, den richtigen Gerätenamen zu verwenden. Die Partition darf nicht ins Dateisystem eingebunden sein, wenn syslinux ausgeführt wird. Durch diese Prozedur wird ein Boot-Sektor auf die Partition geschrieben und die Datei ldlinux.sys erstellt, die den Bootloader-Code enthält.

4.3.2.2. Ein Installer-Image auf den Stick kopieren

Hängen Sie die Partition ins Dateisystem ein (mount /dev/sdX1 /mnt) und kopieren Sie die folgenden Installer-Image-Dateien auf den Stick:

  • vmlinuz oder linux (Kernel-Binär-Datei)

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

Sie können wählen zwischen dem regulären und dem grafischen Installer. Letzteren finden Sie im gtk-Unterverzeichnis. Wenn Sie die Dateien umbenennen möchten, beachten Sie, dass syslinux nur Dateinamen im DOS-(8.3)Format verarbeiten kann.

Als nächstes sollten Sie eine Konfigurationsdatei syslinux.cfg erstellen, die mindestens die folgenden zwei Zeilen enthält (verwenden Sie als Name für die Kernel-Binärdatei linux, wenn Sie ein netboot-Image benutzen):

default vmlinuz
append initrd=initrd.gz

Falls Sie den grafischen Installer verwenden möchten, sollten Sie video=vesa:ywrap,mtrr vga=788 zur zweiten Zeile hinzufügen.

Wenn Sie ein hd-media-Image benutzt haben, sollten Sie jetzt ein noch ein Debian-ISO-Image [8] auf den Stick kopieren. Danach hängen Sie die Partition aus dem Dateisystem wieder aus (umount /mnt).

4.3.3. Vom USB-Stick booten

Warnung

Falls Ihr System nicht vom USB-Speichermedium bootet, könnte die Ursache ein defekter Master-Boot-Record (MBR) auf dem Medium sein. Um dies zu beheben, nutzen Sie folgenden install-mbr-Befehl aus dem Paket mbr:

# install-mbr /dev/sdX



[6] Die höchstwahrscheinlich angezeigte Fehlermeldung wird sein, dass keine Kernel-Module gefunden werden können. Dies bedeutet, dass sich die Version der Kernel-Modul-udeb-Dateien auf dem CD-Image von der Version des laufenden Kernels unterscheidet.

[7] Vergessen Sie nicht, die bootable-Markierung (Boot-Flag) zu setzen.

[8] Sie können dafür ein Businesscard-, Netinst- oder ein Komplett-CD-Image verwenden (siehe Abschnitt 4.1, „Offizielle Debian GNU/Linux-CD-ROMs“). Stellen Sie sicher, dass das Image Ihrer Wahl auf den Stick passt. Beachten Sie, dass das netboot mini.iso-Image für diesen Zweck nicht geeignet ist.