Wer kennt es nicht, mal will auf einem Rechner ohne CD/DVD Laufwerk mal Ubuntu oder Debian installieren, hat aber keine große Lust deswegen extra PXE einzurichten. Kein Problem, für meinen Homeserver habe ich da wie folgt gemacht, geht bestimmt auch einfacher ist aber so sehr Anpassungsfähig.

Vorbereitung

Der USB Stick (oder auch eine USB-Festplatte) sollte mit FAT32 (ext3 oder andere Linux Dateisystem gehen nicht, da der Installer noch nicht alle Treiber hat wenn wir auf das Image zugreifen wollen!) formatiert werden. Nun benötigt man auf dem Stick noch folgendes:

  • Das Iso Image von Debian/Ubuntu (wirklich die Datei draufkopieren)
  • Den Kernel vom Installationssystem (vmlinuz)
  • Die Initial Ramdisk vom Installationssystem (initrd.gz)

GRUB Installieren

Ich bevorzuge es statt syslinux/isolinux gleich einen richtigen Bootloader zu nehmen. Daher installiere ich immer grub! Das geht mit dieser menu.lst:

hiddenmenu
timeout 3
default 0
title Install in Expert Mode
kernel /vmlinuz priority=low -- cli-expert
initrd /initrd.gz

Das ganze sollte man unter /boot/grub/ als menu.lst abspeichern. Man muss natürliche die Pfade der menu.lst anpassen, das sollte aber denke ich klar sein. Es ist vor allem zu beachten das mit dem Beispiel automatisch eine Minimalinstallation im Expertenmodus gemacht wird! Die Installation von GRUB übernimmt natürlich grub-install für uns:

grub-install --root-directory=/media/stick --recheck /dev/sdb

Installation

Jetzt sollte das System auch ohne Probleme vom USB Stick Booten, es erscheint der normale Debian Installer wie man ihn seit mind. Woody kennt (Potato hatte noch den alten). Natürlich stellen wir Sprache und Tastatur wie gewohnt ein. Nun kommt der Schritt wo er nach der CD sucht, was aber Fehlschlagen wird da wir ja keine CD haben, und auch nirgendwo anders die Daten in einem für den Installer brauchbarem Format vorliegen.

Weiter geht es mit STRG-ALT-F2, auf welches ein Terminal folgt das man mit Enter aktivieren muss. In diesem Terminal geht es wie folgt weiter:

modprobe vfat
modprobe usb-storage
modprobe loop
mkdir /tmp/stick
mount /dev/sdb1 /tmp/stick
losetup /dev/loop0 /tmp/stick/dateinamevomimage.iso

Mit STRG+ALT+F1 kommt man wieder in den Installer, man geht nun die Fragen vom Installer nochmal durch (nur die wegen der CD/DVD Problematik) bis man zu dem Punkt kommt wo man auswählen kann ob man nicht einen Treiber manuell laden will (nicht die Frage wo man Treiber von Diskette laden kann, sonder die nächste). In diesem Dialog wählt man den obersten aus (sollte normalerweise none oder keiner sein), danach kommt die Frage welches Device wir den als CD Laufwerk haben. Jetzt kommt das Loopdevice von der Vorbereitung ins Spiel, man gibt einfach /dev/loop0 als Device für das CD/DVD Laufwerk ein und schon kann es mit Enter weitergehen.

Klasse oder? Wäre die Initial Ramdisk nicht so beschränkt könnte man noch ganz andere Sachen damit anstellen! Wer etwas mehr basteln will bekommt so auch viele Iso Images samt Installationssystem auf einen USB-Stick und baut sich ein GRUB Menü um die Optionen vom Installer bequem einstellen zu können!