Multiboot USB-Stick

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Edit.png Dieser Artikel ist noch nicht vollständig. Du kannst helfen, ihn zu bearbeiten.
Dieser Artikel ist Teil der HOWTO Sammlung

Multiboot USB-Sticks sind sehr komfortabel was Rettungsarbeiten anbelangt. Keine CD bootet schneller als zum Beispiel DSL (Damn Small Linux) auf einem guten USB-Stick. Diese Technik bietet aber auch Nachteile, da ein Betriebssystem auch viel auf seinem Hauptdatenträger schreibt (I/O, Swap, Logs,...). Der Flash-Speicher eines USB-Stick hat nur eine begrenzte Anzahl von Schreibzyklen, also sollte dies auf einem älteren Gerät getestet werden.

Inhaltsverzeichnis

Vorbereitung

Zuerst erstellt man ein temporäres Arbeitsverzeichnis:

mkdir ~/usbboot

Alle Kopier- und Erstellvorgänge in dieser Anleitung beziehen sich auf dieses Verzeichnis, wenn nichts angegeben ist.

Der Bootloader

Um einen Bootloader auf den USB-Stick zu bekommen, installiert man am besten isolinux:

[root]# yum install isolinux

Nun kopiert man die Dateien isolinux.bin und memdisk aus dem Ordner /etc/isolinux nach ~/usbboot.
Jetzt erstellt man die Dateien menu.txt und syslinux.cfg:

syslinux.cfg erhält folgenden Inhalt:
PROMPT 1
TIMEOUT 0
DEFAULT 0
DISPLAY menu.txt
LABEL 0 localboot 0x80

menu.txt:

0 - Boot from local disk

Diese zwei Dateien werden benutzt, um die Auswahlmöglichkeit zwischen verschiedenen Betriebssystemen herzustellen. Die Grundkonfiguration besitzt kein Zeitlimit für die Auswahl und kann nur die lokale Festplatte starten.

Diskettenabbilder

Wenn man nur fertige Bootdisketten besitzt, müssen Abbilder erstellt werden:

dd if=/dev/fd0 of=~/usbboot/imagename

Wenn man schon Diskettenabbilder hat, die man einbinden möchte, kopiert man sie einfach nach ~/usboot.
Für jedes Abbild erstellt man einen Eintrag in der Datei menu.txt:

x – Betriebssystemname

Auch in der syslinux.cfg muss für jedes Abbild ein Eintrag vorhanden sein:

LABEL x
KERNEL memdisk
APPEND initrd=imagename

Die Variable x ist durch eine fortlaufende Zahl zu ersetzen. Die obigen Schritte können nach Belieben wiederholt werden.

Puppy Linux

Nun lädt man die letzte Version des Puppy Linux ISO-Abbilder herunter.

Man extrahiert die Dateien initrd.gz, pup_releasever.sfs und vmlinuz aus dem ISO-Abbild und kopiert sie nach ~/usbboot.
releasever sollte durch die Version ausgetauscht werden.

Dann erstellt man die Datei USBFLASH.

Jetzt editiert man wieder die Datei menu.txt.

x – Puppy Linux releasever

...und die syslinux.cfg:

LABEL x
KERNEL vmlinuz
APPEND root=/dev/ram0 initrd=initrd.gz PMEDIA=usbflash PKEYS=de

Die Variable releasever sollte durch die Version des Betriebssystems ersetzt werden.

DSL (Damn Small Linux)

Zunächst lädt man die aktuelle Version des DSL Embedded ZIPs herunter.

Dann extrahiert man den KNOPPIX-Ordner (mit Inhalt) nach ~/usbboot.

Danach entpackt man die Dateien linux24 und minirt24.gz nach ~/usbboot.

Nun editiert man wie gewohnt die Datei menu.txt.

x – Damn Small Linux releasever

...und die syslinux.cfg:

LABEL x
KERNEL linux24
APPEND ramdisk_size=100000 init=/etc/init lang=de apm=power-off vga=791
       initrd=minirt24.gz nomce noapic qemu quiet BOOT_IMAGE=knoppix frugal


GParted LiveUSB

Man lädt die letzte Version des GParted LiveCD ISO-Abbildes herunter.

Dieses mountet man beispielsweise nach /mnt/iso und wechselt in dieses Verzeichnis.

Dann kopiert man boot/gparted und {{Dateiname|boot/gparted.igz} nach ~/usbboot.

Danach kopiert man die Datei gparted.dat nach ~/usbboot.

Nun müssen noch die Dateien menu.txt

x – GParted

und syslinux.cfg angepasst werden.

LABEL x
KERNEL gparted
APPEND initrd=gparted.igz noapic root=/dev/ram0 init=/linuxrc
       ramdisk_size=65000 nosound video=vesa vga=791 looptype=squashfs
       loop=/gparted.dat dokeymap splash=silent nosound


Abschliessende Arbeiten

Man formatiert den USB-Stick:

[root]# mkfs.msdos /dev/sdb1

Um verschiedene Betriebssysteme starten zu können, muss ein Allround-Dateisystem vorhanden sein, deshalb FAT. sdb1 sollte natürlich durch den Gerätenamen des USB-Sticks ersetzt werden.

<b>Achtung</b> <b>Achtung:</b> Der Stick darf nicht gemountet sein!

Um den Stick bootfähig zu machen, tippt man folgendes als root ein:

[root]# isolinux /dev/sdb1

Zu guter Letzt kopiert man den Inhalt des Verzeichnises ~/usbboot auf den USB-Stick.

Bereinigung

Syslinux kann nun entfernt werden, da es nicht mehr benötigt wird.

[root]# yum remove isolinux

Auch das temporäre Arbeitsverzeichnis ~/usbboot kann nun gelöscht werden.

Links