Wer kein CD-Rom Laufwerk in seinem Rechner hat oder "sein" Linux immer dabei haben will der freut sich sicher, wenn er Linux von einem USB-Stick booten kann ...
Bei mir traf ersteres zu, ich habe mir einen Mini-ITX Rechner zusammengestellt, der sehr wenig Strom braucht (max. 35 Watt), sehr leise ist, weil er keinen CPU- und Netzteillüfter hat und in ein ein kleines Gehäuse eingebaut ist. Wenn 'mal eine CD-ROM zu brennen ist mache ich das mit meinem Zweitrechner (ASUS PII-266 Board).
Aus Sicherheitsgründen habe ich aber bei diversen Tests immer gerne ein bootfähiges System zur Hand.
Vorarbeiten ...
Nachdem ich etwas "gegoogelt" hatte, fand ich einige interessante "Installationskandidaten".
- Knoppix (Linux-Distribution mit vielen aktuellen Linux Programmen, die ohne Installation von CD-ROM startet)
- Kanotix (basiert auf einem abgespeckten Knoppix)
- feather Linux (basiert auf Knoppix, ist aber nur 115 MBytes gross)
- Damn Small Linux (basiert auf Knoppix, ist nur 50 MBytes gross)
- Morphix (ähnlich umfangreich wie Knoppix)
Ich habe mich für feather Linux entschieden, weil es mit 115 MBytes nicht zu klein und auch nicht zu gross ist. Unter der grafischen Oberfläche sind ausreichend Tools vorhanden (z.B. für Netzwerktests)
Bootfähigen USB-Stick erstellen
Mein USB-Stick "Pen Drive 1GByte" wurde vom Linux 2.4.27 Kernel gleich als "USB DISK Pro" und /dev/sda1 erkannt.
Ich lud mir die aktuelle Version feather-0.7.3.1-usb.zip herunter und ging nach der USB-Stick Installationsbeschreibung vor.
- Zuerst partitionierte ich den Stick mit
cfdisk /dev/sda1
als Windows95/FAT32 (0×0C) Partition. - Danach habe ich ein DOS-kompatibles Filesystem vfat erzeugt
mkdosfs /dev/sda1
, den USB-Stick gemountet (mount /dev/sda1 /mnt/sda1 -t vfat
und - die Zip-Datei auf dem Stick entpackt.
- Schliesslich wurde - wie in der Anleitung beschrieben -
syslinux /dev/sda1
aufgerufen und damit Linux bootfähig gemacht.
Nach einem Reboot passierte leider nichts :-(
Deshalb habe ich statt syslinux Grub verwendet:
apt-get install grub
- Anpassen der /boot/grub/menu.lst Datei:
gfxmenu (hd0,0) /boot.msg
title ACPI on - DMA on - Deutsch for usb-stick boot
kernel (hd0,0) /linux24 ramdisk_size=100000 init=/etc/init lang=de apm=power-off hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi nomce quiet bootusb2 fromhd=/dev/sda1
initrd (hd0,0) /minirt24.gz
title linux24
kernel (hd0,0) /linux24 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce quiet BOOT_IMAGE=knoppix
initrd (hd0,0) /minirt24.gz - Installation auf den Stick:
grub-install --root-directory=/mnt/sda1 /dev/sda1
Eine gute Beschreibung fand ich im Kanotix-Wiki (nur noch im Internet Archiv verfügbar).
Nach der Grub-Installation konnte ich vom USB-Stick ohne Probleme booten. Man kann natürlich noch weitere Partitionen in das menu.lst File eintragen.
Besonderheit bei VIA EPIA 6000 Boards
Ich konnte mein Board nur zum Booten überreden, indem ich als Boot-Laufwerk USB-HDD einstellte und den Schreibschutz des USB-Sticks nicht aktivierte.
Allgemeines zum Thema
Eine sehr kompakte Linux-Distribution ist Devil-Linux. Sie ist als Binary für 486-er CPUs oder für SMP-fähige 686-er Architekturen erhältlich.
Besonders geeignet für Disk-less Systeme als Firewall / Proxy oder sonstige LAN-Dienste.
Apropos: Die Konfiguration von disk-less Systemen mit Start über Remote-Bootserver (PXE, Etherboot) wird erleichtert durch DRBL