TuX as LLG logo
Software
DMX4Linux
Driver Suite for Linux
csv2iif.pl suite
convert PayPal transactions to IIF, OFX, QIF
Hardware
DMX30 Interface
128Ch SPP
DMX43 Interface
2out 2in EPP
LED Hardware
for Linux and Windows
EPROM Sampler
for 8 bits of sound
Misc
CatWeasel
Linux drivers for MK3/4 PCI
pg_trompe
PostgreSQL replication
trycatch
C exception/signal handling lib
Patches
to various software
Tools
and small scripts
Docs
misc documents
Links
to lighting stuff

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

  1. Einen Computer nehmen und alle Festplatten abklemmen, damit das Installationsprogramm nicht durch IDE oder SCSI Festplatten verwirrt wird.
  2. USB Festplatte anschließen, InstallationsCD einlegen und einschalten.
  3. "Manuelle Installation" auswählen
  4. Language: English
  5. Keyboard: Deutsch
  6. 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
  7. "Start Installation" und nochmal "Start installation/update". Ich mache jetzt ein Network Install.
  8. "Network"
  9. "FTP"
  10. "Automatic configuration via DHCP" (Wenn ein DHCP Server vorhanden ist, ansonsten per Hand das Netzwerkinterface konfigurieren)
  11. IP: 129.143.116.10
  12. "No"
  13. "No"
  14. directory: /pub/Mirrors/ftp.suse.com/pub/suse/i386/VersionsNummer
  15. Language: English
  16. nun will er nochmal die usb module laden, wir akzeptieren einfach alles was er vorschlägt
  17. New installation
  18. 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.
  19. 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.
  20. Mit "Accept" die Installation starten
  21. 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.
  22. Linux sollte nun booten und das SUSE Setup setzt sich fort.
  23. Nun die Hardware konfigurieren, die man besitzt
  24. Danach am besten "yast2" starten und ein online update durchführen.
  25. 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"
    
  26. 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.


Search:
https://llg.cubic.org © 2001-2024 by Dirk Jagdmann