Ubuntu und die Busybox
Posted in Linux, Ubuntu & Co on September 8th, 2008 by osfight[singlepic=2,100,75,,left]
Nachdem ich nun drei Tage verschwendet habe eine Ubuntu-Live CD zu booten, geb ich mal hier ein paar Hinweise dazu.
Symptom
Die Ubuntu-Installation wird nicht korrekt ausgeführt und endet in der Busybox. Egal ob man die Live-CD von einem USB-Stick aus startet, einer CD-ROM oder die installiere-von-Linux-aus Variante. Mit Wubi für die Windows-Ubuntu-Installation habe ich alle probiert, ohne Erfolg.
Die Busybox ist eine einfache shell-Umgebung mit rudimentären Kommandos.
Ursache
Für die Ursache ist hauptsächlich fehlerhafte Hardware, fehlende Treiber oder fehlerhaft partinionierte Festplatten verantwortlich, aber z.B. auch ein Bug bei Benutzung der persisent Bootoption. Deshalb ist der Pool an Fehlerquellen auch dementsprechend groß.
Vermeintliche Lösung
Im Internet findet man diverse Möglichkeiten wie man der Busybox-Falle entkommt, leider hat von denen keine bei mir funktioniert, dennoch will ich einige erwähnen.
1. dmesg | tail
Gibt man diesen Befehl in der Busybox ein erhält man die letzten Zeilen des Systemlogs. Normalerweise sollte dort eine Art Fehlermeldung zu sehen sein, die einem beim Problem mit google weiterhilft. In meinem Fall war nur zu ersehen, dass der Fehler beim mounten des Dateisystems auftrat und immer wieder die Meldung
EXT3-fs: mounted filesystem with ordered data mode.kjournald starting. Commit interval 5 secons.
auftrat, solange bis ich in der Busybox gelandet bin. Bei mir gab es also Probleme mit meiner SATA-Festplatte und obwohl ich schon Hardy erfolgreich per Live-CD installiert hatte, sollte diese Neuinstallation nun nicht mehr klappen. Auch die ältere Hardy Version 8.04 anstelle der 8.04.1 und egal ob x32 oder x64
2. quiet / splash
Im Menu der gebooten LiveCD / des LiveUSB drückt man [F6], um manuell die Bootoption splash und quiet zu entfernen. Nun wird beim booten die Zeit in [ ], sowie der Status des Bootvorgangs angezeigt. Im Prinzip ist das nur eine ergänzung zu Punkt 1, da genau das im Systemlog steht. Dennoch kann man schon beim booten nach Wörtern wie failed oder error ausschau halten.
3. Fehlerhaftes Medium
Oft wird auch angeführt, dass das Medium, z.B. eine CD-RW, nicht richtig gelesen werden kann, dass hatte ich einmal. Die Fehlermeldungen sind dann unterschiedlicher Natur. Um diesen Fehler auszuschlißen kann man einfach per USB booten (Ubuntu Live-USB), die Linux-von-Festplatten-Installation wählen, oder einfach einen neuen qualitativ hochwertigen Rohling verwenden.
Um zu testen ob das Ubuntu Image erfolgreich gebrannt wurde, nutzt man im Startmenü der LiveCD den CD Integritätscheck “CD auf Fehler überprüfen”. Eine heruntergeladene ISO-Datei kann mit der MD5Summe überprüft werden, z.B.,
md5sum ubuntu-8.04.1-alternate-i386.iso
wobei die Prüfsumme (=Hashwerte) hier aufgelistetet sind, z.b.
bbd21ded02c06b41c59485266833937a ubuntu-8.04.1-alternate-i386.iso.
Sollt der Integritätscheck im Ubuntu Startmenü nicht funktionieren, kann man eine MD5Summe einer eingelegten CD einfach als root mit
umount /dev/cdrom
md5sum /dev/cdrom
erstellen und mit der der ISO MD5Summe / Hashliste vergleichen.
4. Bootoptions
In den weiten des Internets findet man diverse Bootoptionen die man eingeben kann, welche einem helfen könnten nicht in der Busybox zu landen (Bootoptionen werden wie in Punkt 2 hinzufügt), was nicht nur für die LiveCDs / USBs interessant ist. Ich hab nahezu alle probiert, ohne Erfolg. Bei einigen soll es aber geholfen haben, speziell die noapic Option wird häufig genannt.
nosplash / noquiet – siehe Punkt 2
noapic – schaltet die I/O APIC aus (erweiterte programmierbare Interrupt Verteilung: ist nicht ganz trivial aber der Satz bei Wikipedia fasst es ganz gut zusammen: APIC wird heutzutage von allen aktuellen Betriebssystemen unterstützt, ist aber auch für eine Reihe von Fehlern verantwortlich, da die Implementierungen teilweise fehlerhaft sind)
nolapic – schaltet die lokale APIC aus, ist ein Teil der APIC und sitzt in der CPU
noacpi – schaltet ACPI aus, dass Advanced Configuration and Power Interface, ungleich APIC. ACPI ist eine Schnittstelle zur Hardwareerkennung, Gerätekonfiguration und Energiemanagement und kontrolliert z.B. hibernate / suspend Zustände von Computern
xforcevesa – lädt absolut nur den vesa Standardtreiber für den Xserver / die Grafikkarte
irqpoll – aktiviert periodisches abfragen von eventuellen Interrupts, kann nützlich sein für gewisse Hardware
nomsi - abschalten des Messaged-Signal Interrupts, eine spezielle Form von Interrupts seit PCI 2.2, soll bei SATA Probleme verursachen
all_generic_ide - verwendete generische IDE Treiber für alle Geräte die vom Kernel gefunden wurden, auch z.B. für SATA Festplatten
5. persisent bug 219192
Benutzt man die Bootoption persistent landet man auch mit Hardy 8.04.1 in der Busybox, hervorgerufen durch den Bug 219191. Als workaround muss man die initrd.gz auf der CD im CASPER-Ordner mit dieser hier ersetzen, initrd.gz.8.04.1.casper.fixed, bereitgestellt durch Adam Porter.
Die Alternative Lösung
Nach drei vollen Tage hatte ich echt in Erwägung gezogen Ubuntu den Rücken zuzukehren, so hartnäckig wollte sich das nicht auf meinem HP tx2140 installieren lassen, obwohl es schon vorher drei Monate lief. Die Lösung war dann letztlich die Ubuntu Alternate CD, die man hier downloaden kann (zweite Spalte, Link Alternate). Dabei handelt es sich um eine modifizierete Ubuntu Installations-CD, die keine grafische GUI bietet. Die Installation läuft aber so ziemlich analog über eine textbasierte GUI ab und wie das schnell funktioniert kann auf Ubuntuusers nachgelesen werden.
(Leider ist es nicht ganz so einfach die Alternate CD von einem USB-Stick zu booten, es treten Probleme bei der CDROM-Zuweisung auf, worauf die Installation abbricht.)