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

Um den USB-Stick vorzubereiten, wird empfohlen, ein System zu verwenden, 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 Kernelmodul usb-storage geladen ist. Beim Einstecken wird dem USB-Stick ein Gerät namens /dev/sdX zugewiesen, wobei X ein Buchstabe im Bereich zwischen a und z ist. Es sollte Ihnen möglich sein zu erkennen, welches Gerät dem Stick zugewiesen wurde, indem Sie den Befehl lsblk ausführen, bevor und nachdem Sie den USB-Stick eingesteckt haben. (Die Ausgabe von dmesg (als root) ist eine weitere Methode hierfür.) Um den Stick zu beschreiben, müssen Sie eventuell noch mit dem entsprechenden Schalter am Stick den Schreibschutz deaktivieren (falls Ihr Stick solch einen Schalter hat).

[Warnung] Warnung

Die in diesem Abschnitt beschriebenen Vorgehensweisen werden alle Daten zerstören, die sich bereits auf dem Gerät befinden! Vergewissern Sie sich, dass Sie den korrekten Gerätenamen (nämlich den Ihres USB-Sticks) verwenden. Wenn Sie einen falschen Namen verwenden, könnte dies dazu führen, dass Sie z.B. alle Daten auf Ihrer Festplatte verlieren!

4.3.1. Einen USB-Stick vorbereiten mit einem Hybrid-CD/DVD-Image

Debian Installations-Images für diese Architektur werden mittels der isohybrid-Technologie erstellt; das bedeutet, dass Sie direkt auf einen USB-Stick geschrieben werden können, was ein sehr einfacher Weg ist, um ein Installationsmedium zu erstellen. Wählen Sie einfach ein Image, das auf Ihren Stick passt (z.B. das netinst-, CD-, oder DVD-1-Image). In Abschnitt 4.1, „Offizielle Debian GNU/Linux-Installations-Images“ finden Sie Informationen darüber, wie Sie sich die Images besorgen können.

Alternativ können Sie bei sehr kleinen USB-Sticks, die nur ein paar Megabyte groß sind, das Image mini.iso aus dem netboot-Verzeichnis herunterladen. (Abschnitt 4.2.1, „Wo Sie die Installationsdateien finden“ gibt nähere Informationen, wo Sie dies finden.)

Das Installations-Image, das Sie ausgewählt haben, sollte direkt auf den USB-Stick geschrieben werden, wobei die vorher vorhandenen Daten überschrieben werden. Auf einem GNU/Linux-System kann das Image wie folgt auf den USB-Stick geschrieben werden (nachdem Sie sichergestellt haben, dass der Stick nicht im Dateisystem eingebunden ist):

# cp debian.iso /dev/sdX
# sync

Informationen dazu, wie Sie dies auf anderen Betriebssystemen erledigen, finden Sie in der Debian CD FAQ.

[Wichtig] Wichtig

Das Image muss auf das vollständige Gerät geschrieben werden, nicht auf eine einzelne Partition, also z.B. auf /dev/sdb, nicht auf /dev/sdb1. Nutzen Sie keine Werkzeuge wie unetbootin, da diese das Image verändern.

[Wichtig] Wichtig

Einfach das Installations-Image wie hier beschrieben auf USB zu schreiben sollte für die meisten Benutzer funktionieren. Die anderen unten erwähnten Optionen sind komplexer und hauptsächlich für Leute mit speziellen Bedürfnissen gedacht.

Das Hybrid-Image auf dem Stick beansprucht nicht den vollständigen Speicherplatz, daher können Sie in Betracht ziehen, den freien Platz zu verwenden, um Firmware-Dateien oder Pakete bzw. andere Dateien Ihrer Wahl dort abzulegen. Dies könnte nützlich sein, wenn Sie nur einen USB-Stick haben oder einfach alles, was Sie benötigen, auf einem Datenträger zusammenhalten möchten.

Verwenden Sie dazu cfdisk oder irgendein anderes Partitionierungswerkzeug, um eine zusätzliche Partition auf dem Stick zu erzeugen. Erstellen Sie dann ein (FAT-)Dateisystem, binden Sie es ein und kopieren oder entpacken Sie die Firmware in das Dateisytem, z.B. wie folgt:

# mkdosfs -n FIRMWARE /dev/sdX3
# mount /dev/sdX3 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

Achten Sie darauf, dass Sie hierbei den korrekten Gerätenamen für Ihren USB-Stick verwenden. Der Befehl mkdosfs ist im Debian-Paket dosfstools enthalten.

[Anmerkung] Anmerkung

Falls Sie das mini.iso-Image ausgewählt und auf den USB-Stick kopiert haben, muss die zweite Partition nicht mehr erstellt werden, da sie praktischerweise bereits vorhanden ist. Ziehen Sie den Stick heraus und stecken Sie ihn neu ein, dann sollten zwei Partitionen sichtbar sein.

4.3.2. Dateien manuell auf den USB-Stick kopieren

Bevor die isohybrid-Technologie für Debians Installations-Images eingesetzt wurde, haben wir die unten dokumentierten Methoden empfohlen, um Medien für das Booten von USB-Speichern vorzubereiten. Diese sind jetzt durch die Technik aus Abschnitt 4.3.1, „Einen USB-Stick vorbereiten mit einem Hybrid-CD/DVD-Image“ stellenweise überflüssig geworden, allerdings sind sie hier aus historischen Gründen noch enthalten bzw. weil sie vielleicht für einige Benutzer noch weiterhin nützlich sein könnten.

Ein alternativer Weg zur in Abschnitt 4.3.1, „Einen USB-Stick vorbereiten mit einem Hybrid-CD/DVD-Image“ dokumentierten Methode ist das manuelle Kopieren der Installer-Dateien und eines Installations-Images auf den Stick. Beachten Sie, dass der USB-Stick mindestens 1 GB groß sein sollte (kleinere Setups sind möglich, wenn Sie die Dateien aus dem netboot-Unterverzeichnis verwenden, siehe Abschnitt 4.3.3, „Dateien manuell auf den USB-Stick kopieren – der flexible Weg“).

Es gibt ein Komplett-Image hd-media/boot.img.gz, das alle Dateien des Installers enthält, inklusive dem Kernel, sowie dem Bootloader syslinux mit der zugehörigen Konfigurationsdatei.

[Anmerkung] Anmerkung

Bedenken Sie, dass diese Methode, obwohl sie bequem ist, einen gravierenden Nachteil hat: die logische Größe des Sticks ist auf 1 GB begrenzt, 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 partitionieren und die Dateisysteme neu erstellen.

Extrahieren Sie das Image einfach direkt auf Ihren USB-Stick:

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

Binden Sie danach den USB-Memory-Stick, der jetzt ein FAT-Dateisystem enthält, ins Dateisystem ein (mount /dev/sdX /mnt), und kopieren Sie ein Debian ISO-Image (Netinst oder eine Komplett-CD; siehe Abschnitt 4.1, „Offizielle Debian GNU/Linux-Installations-Images“) dorthin. Lösen Sie die Laufwerkseinbindung des Sticks (umount /mnt) – das war's.

4.3.3. Dateien manuell auf den USB-Stick kopieren – der flexible Weg

Wenn Sie flexibler sein oder einfach nur wissen möchten, was passiert, sollten Sie folgende Methode benutzen, 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, jegliches ISO-Image (sogar ein DVD-Image) darauf zu kopieren.

4.3.3.1. Partitionieren und Hinzufügen eines Bootloaders

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

Um den Kernel starten zu können, nachdem vom USB-Stick gebootet wurde, werden wir einen Bootloader auf dem Stick ablegen. Obwohl jeder Bootloader funktionieren sollte, wird empfohlen, syslinux zu verwenden, da er eine FAT16-Partition benutzt und über eine Textdatei konfiguriert werden kann. Jedes Betriebssystem, welches das FAT-Dateisystem unterstützt, kann somit verwendet werden, um die Konfiguration des Bootloaders anzupassen.

Als erstes müssen Sie die Pakete syslinux und mtools auf Ihrem System installieren.

[Anmerkung] Anmerkung

Da die meisten USB-Sticks mit nur einer einzigen FAT16-Partition vorkonfiguriert geliefert werden, müssen Sie den Stick möglicherweise nicht neu partitionieren oder formatieren. Falls dies trotzdem nötig ist, nutzen Sie cfdisk oder ein anderes Partitionierungswerkzeug, um eine FAT16-Partition zu erzeugen[3] und erzeugen Sie dann einen Master-Boot-Record (MBR), indem Sie Folgendes eingeben:

# cat /usr/lib/syslinux/mbr/mbr.bin 
>/dev/sdX

Erstellen Sie nun ein Dateisystem mittels:

# mkdosfs /dev/sdX1

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

Da Sie (jetzt) einen korrekt partitionierten USB-Stick vorliegen haben, müssen Sie nun syslinux auf die FAT16-Partition des USB-Sticks befördern mit:

# 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.3.2. Hinzufügen der Installer-Dateien

Sie können hier aus zwei verschiedenen Installationsvarianten wählen: bei der hd-media-Variante wird eine Installations-ISO-Datei auf dem USB-Stick benötigt, um die Installer-Module und das Basissystem davon zu laden. Der netboot-Installer hingegen lädt all das von einem Debian-Spiegel herunter.

Abhängig davon, welche Variante Sie wählen, müssen Sie nun einige Installer-Dateien aus dem hd-media- oder netboot-Unterverzeichnis von einem Debian-Spiegel unter debian/dists/bullseye/main/installer-amd64/current/images/ herunterladen:

  • vmlinuz oder linux (Kernel-Binärdatei)

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

Sie können dabei wählen zwischen dem text-basierten Installer (die Dateien finden Sie direkt unter hd-media bzw. netboot) und dem grafischen Installer (suchen Sie hierzu im jeweiligen Unterverzeichnis gtk).

Hängen Sie jetzt die Partition ins Dateisystem ein (mount /dev/sdX1 /mnt) und kopieren Sie die heruntergeladenen Dateien in das Wurzelverzeichnis des Sticks.

Als nächstes sollten Sie eine Konfigurationsdatei namens syslinux.cfg im Wurzelverzeichnis des Sticks erstellen, die mindestens die folgende Zeile enthält:

default vmlinuz initrd=initrd.gz

Ändern Sie den Eintrag für die Kernel-Binärdatei in linux, wenn Sie die Dateien aus netboot benutzt haben.

Falls Sie den grafischen Installer (aus gtk) verwenden, sollten Sie der obigen Zeile den Parameter vga=788 hinzufügen. Auf Wunsch können noch weitere Parameter angegeben werden.

Um den Boot-Prompt zu aktivieren und so weitere Anpassungen der Parameter zuzulassen, fügen Sie eine Zeile mit dem Inhalt prompt 1 hinzu.

Haben Sie die Dateien aus hd-media benutzt, sollten Sie jetzt ein Debian-Installations-Image (ISO-Datei) auf den Stick kopieren. (Für die netboot-Variante ist dies nicht erforderlich.)

Sie können dafür ein Netinst- oder ein Komplett-CD/DVD-Image verwenden (siehe Abschnitt 4.1, „Offizielle Debian GNU/Linux-Installations-Images“). 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.

Danach lösen Sie die Einbindung der Partition wieder (umount /mnt).



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