SUSE Linux auf USB Festplatte
Es ist möglich ein SUSE Linux (und prinzipiell auch jedes anderen
Linux) auf einer bootbaren USB Festplatte zu betreiben. Leider muß
nach der Installation von SUSE 9.x noch ein wenig Handarbeit gemacht
werden, damit ein bootbarer Kernel und Bootsystem entsteht. Dieser
Text soll dabei helfen.
Ich beschreibe jetzt die Installation anhand von SUSE 9.0. Ab Version
10.1 sollte das Installationsprogramm direkt mit USB Geräten umgehen
können, so dass man sich die Lektüre dieses Textes sparen kann.
Vorweg
Die Maxtor One-Touch 120GB USB hat bei zumindest einem Rechner
Probleme mit dem USB 2.0 HiSpeed Mode (480MB/s). Mit dem USB 2.0
DefaultSpeed (12MB/s) und USB 1.x (1.5MB/s) funktioniert sie
einwandfrei. Sollte die Platte vom BIOS nicht erkannt werden,
bzw. Probleme auftreten dann zuerst einmal den USB Modus überprüfen.
Bei einen halt/poweroff/shutdown und manchmal auch bei einen reset
sendet der Linux Kernel an alle Festplatten ein Spindown
Kommando. Beim BIOS Setup werden dann IDE und SCSI Festplatten wieder
neu gestartet, jedoch evtl. die USB Festplatte nicht. Sollte die USB
Festplatte nach einen reboot nicht mehr ansprechbar sein, so muß sie
einen power-down/up Zyklus durchlaufen.
Installation
- Einen Computer nehmen und alle Festplatten abklemmen, damit das
Installationsprogramm nicht durch IDE oder SCSI Festplatten verwirrt
wird.
- USB Festplatte anschließen, InstallationsCD einlegen und einschalten.
- "Manuelle Installation" auswählen
- Language: English
- Keyboard: Deutsch
- Zu den Kernel modules gehen. Das SUSE Setup Programm ist
hier ein wenig zickig mit der Enter/Return Taste. Manchmal wird ein
Modul nicht so recht geladen, obwohl der Dialog einen Erfolg
anzeigt. Bitte immer mit der Übersicht über die geladenen Modules
überprüfen das auch alles korrekt geladen wurde. Es hilft oft die
letzte Dialogbox zum quittieren des gerade geladenen Modules nicht mit
Enter sondern mit Escape zu schließen.
- bei einer Netzwerkinstallation jetzt den benötigten Kartentreiber laden
- zu "Load USB modules"
- usb-uhci, usb-ohci oder ehci-hcd je nach Mainboard/Chipsatz
- usb-storage
- "Start Installation" und nochmal "Start installation/update". Ich
mache jetzt ein Network Install.
- "Network"
- "FTP"
- "Automatic configuration via DHCP" (Wenn ein DHCP Server vorhanden ist, ansonsten per Hand das Netzwerkinterface konfigurieren)
- IP: 129.143.116.10
- "No"
- "No"
- directory: /pub/Mirrors/ftp.suse.com/pub/suse/i386/VersionsNummer
- Language: English
- nun will er nochmal die usb module laden, wir akzeptieren einfach alles was er vorschlägt
- New installation
- Die Partitionierung ist in der Regel ok. Folgendes Layout ist empfehlenswert:
- /dev/sda1 /boot (ein zweistelliger MB betrag)
- /dev/sda2 swap (ein paar hundert MB)
- /dev/sda3 / (den Rest in eine Partition)
Suse schlägt standardmäßig für /boot und / das Reiser Filesystem
vor. Ich rate davon ab, da reiserfs nicht zwischen Linux 2.4 und 2.6
kompatibel ist. Ähnliches gilt auch für JFS und XFS. Ich rate zu ext3
für /boot und /. Das sollte man mit den "Change" Button entsprechend
ändern.
- Die Anderen Punkte bezüglich der zu installierenden Software
usw. sollte man sich auch kurz anschauen. Mit dem Booloader GRUB habe
ich nicht via USB booten können, mit LILO funktioniert er es (bei
mir). Mehr zur LILO Konfiguration weiter unten.
- Mit "Accept" die Installation starten
- Wenn alles installiert ist macht der Rechner einen
Reboot. Allerdings ist der Suse Kernel nicht in der Lage von der USB
Platte zu booten, weil er nicht gepatcht ist. In diesem Fall booten
wir von der Diskette. Evtl. beim erscheinen des "SYSLINUX" logos kurz
die Shift Taste drücken, dann erhält man eine eingabezeile, in der man
Kernel parameter eingeben kann. Sollte die Root Partition nicht
/dev/sda3 sein, so ändern schreiben wir in die Zeile z.B. "linux
root=/dev/sda5".
Das Image File bootdisk.img wird mit einem
Unix auf eine Diskette geschrieben: cat bootdisk.img > /dev/fd0 . Man
kann auch ein Programm wie rawwrite
für Microsoft benutzen.
- Linux sollte nun booten und das SUSE Setup setzt sich fort.
- Nun die Hardware konfigurieren, die man besitzt
- Danach am besten "yast2" starten und ein online update durchführen.
-
Da in dem Rechner bei einer späteren Benutzung evtl. andere
Festplatten außer die USB Platte vorhanden sind, wird LILO mit der
SUSE Standardkonfiguration durcheinander kommen. Wir müssen LILO
überreden, dass die USB Platte beim booten auf jeden Fall die erste
BIOS Festplatte (0x80) ist. Dazu am besten die folgende lilo.conf nach
/etc übertragen (und evtl. anpassen).
# Modified by YaST2. Last modification on Sat May 1 18:25:53 2004
message = /boot/message
timeout = 80
prompt
default = Linux
boot = /dev/sda
disk=/dev/sda # diese beiden Zeilen sind entscheidend
bios=0x80 # diese auch noch
image = /boot/vmlinuz
###Don't change this comment - YaST2 identifier: Original name: ###
label = Linux
optional
root = /dev/sda3
vga = 0x314
append = "splash=silent desktop showopts"
image = /boot/vmlinuz
###Don't change this comment - YaST2 identifier: Original name: ###
label = Failsafe
optional
root = /dev/sda3
vga = normal
append = "showopts ide=nodma apm=off acpi=off nosmp noapic maxcpus=0 3"
- Nun muß der Kernel gepatcht werden:
- cd /usr/src/linux
- patch -p1 < /somewhere/bootusb-linux-2.4.21-suse.patch
- Die Kernel Konfiguration übernehmen: cp /somewhere/config.suse .config
- compile: make oldconfig dep install modules modules_install
- Den neuen Kernel bei LILO anmelden: lilo (natürlich nur, wenn mit LILO gebootet wird, GRUB findet den Kernel in der /boot partition automatisch).
Links
Weitere Infos und links gibts es auf meiner Booting Linux via USB Seite.
|