pivot_root error (Debian)

Was es nicht alles lästiges gibt :neutral: Ich hab gerade ein wenig an einem meiner Linux-Rechner gewerkelt und dachte mir so “Eigentlich könnte ich mal wieder ein apt-get update machen”. Gedacht - getan und leicht verwundert stellte ich fest, dass der Rechner ca. 50 Pakete ziehen wollte, auf den ersten Blick in etwa die gleichen, wie erst vor wenigen Tagen. Also erstmal noch kurz auf meinen anderen Linux-Rechner geschaut und dort ebenfalls ein Update angeschoben und siehe da, der wollte nur das tar-Paket updaten. Merkwürdig fand ich dabei, dass ich beide Rechner erst vor wenigen Tagen geupdatet hatte, beide Rechner mit Debian 3.1 Sarge stable liefen und scheinbar hatte das Update auf dem ersten Rechner nicht richtig geklappt. Durchgeführt hatte ich es auf jeden Fall, schließlich wollte ich dort den Webmin installieren und das ging wegen nicht auflösbarer Abhängigkeiten meiner etwas betagten Installation nicht ohne Update. Mich hatte beim Update schon gewundert gehabt, dass beide Systeme nahezu gleich eingerichtet waren, aber nur eines ein Kernel-Update durchführen wollte. Auf beiden Rechnern ist ein Minimal-Debian mit ganz wenigen zusätzlichen Paketen installiert. Auf beiden läuft neben einem gelangweilten Apache (für lokales Webseitengebastel) noch Boinc, um die CPUs ein wenig sinnvoll zu nutzen. Es gibt keine grafischen Oberflächen und lediglich auf dem erstgenannten Rechner laufen zusätzlich noch NIS, NFS, vsftpd und seit ein paar Tagen das Administrationstool Webmin. Der Webmin lief irgendwie nicht richtig rund, brauchte ewig zum Seitenaufbau usw., das wollte ich anpassen und vorher halt noch mal schnell updaten. Lange Rede kurzer Sinn - nach dem Update ging die gute alte Linux-Hilfe in Form der manpages nicht mehr, ich bekam stattdessen eine leere Hilfe und die Ausgabe eines Speicherzugriffsfehlers. Sowas hatte ich zuvor unter Linux auch noch nicht gesehen :shock: Da mich das ein wenig an die Windows-Bluescreens-of-Death erinnerte, war ein reboot die logische Konsequenz. Das Ergebnis war, dass die Kiste jetzt nicht mehr hochfährt und mir beim Startvorgang als letzte Zeilen folgendes anzeigt:


EXT3-fs: mounted filesystem with ordered data mode.
pivot_root Input/Output error
chroot: cannot run command ‘/sbin/init/’: No such file or directory
Kernel panic: Attempted to kill init!
:-(

Linuxserver in StudentenversionArgh! Ich werde dann mal ein wenig basteln und die Ergebnisse hier reineditieren …. Ich hoffe doch, dass ich das noch mal hinbekomme, neu installieren kann ja jeder und solange nicht irgendwelche Hardware defekt ist, sollte man das auch wieder hingebogen bekommen ;) Etwas lästig ist noch die Tatsache, dass mein betreffender Rechner kein CD-/DVD-Laufwerk besitzt und an seinem Unterbringungsort auch kein Platz dafür ist. Na wenigstens hat er auch kein Gehäuse, das vereinfacht die Bastelei ;) Also DVD-ROM ran, Ubuntu rein und nix - war mal wieder eine DVD aus der Linux Intern (PC-Praxis-Sonderheft), mit den CDs/DVDs aus dem Verlag hatte ich schon öfter mal Probleme. Naja, wenigstens ein altes 4.0.2er Knoppix läßt sich auf dem Rechner problemlos hochfahren :)

Problemlösung

Also nach einigem Suchen per Google mußte ich feststellen, dass kaum brauchbare deutschsprachige Hinweise zu diesem Thema existieren. Auf jeden Fall wird der Hintergrund erklärt: mit einem Kernelupdate wird man ab Kernelversion 2.6.xx einige schöne alte Funktionalitäten los. So wurde mit 2.6.10 (?) das devfs (das künstliche Filesystem für die unter /dev eingebundenen Devices) entfernt, aber vor allem ab 2.6.13 (?) auch ext3 als Modul. Das Ergebnis ist, dass der Kernel für den Zugriff auf das System-Root das Modul laden muss, andererseits muss er erst das Modul laden, um auf das System-Root zugreifen zu können und dabei spielt es keine Rolle, ob der Kernel evtl. selbst in diesem Systemroot liegt, da er ja direkt vom Bootloader aus angesprungen wird. Toll :mrgreen: Die empfohlene Lösung heißt somit, den Kernel inkl. ext3 neu zu compilieren.

Das muss doch auch irgendwie anders gehen … und weiter geht’s mit der Analyse.

Der installierte Kernel hat die Version 2.6.8-2, demnach liegt schon mal nicht das zuerst erwähnte Problem vor, zumindest nicht in der Form. Aber was dann? :roll: Dummer Weise weiß ich nicht mehr, ob der Kernel von diesem Problem-PC beim Update hochgestuft wurde oder ob es der 2.4.27er des anderen Linux-Rechners war, also ob es überhaupt direkt am Kernel liegt oder doch an etwas anderem … Man findet im Internet an verschiedenen Stellen Hinweise darauf, dass dieser Fehler durch falsche Einstellungen in der /boot/grub/menu.lst auftreten kann. Wenn ich mich recht entsinne, dann wurde der Grub beim Update zwar ebenfalls erneuert, aber die Einstellungen sind alle völlig korrekt. Auch die /etc/fstab sieht ganz normal aus.

Hardwaredefekt als Ursache

Nachdem ich auch nach längerem Suchen nicht den wahren Grund für den pivot_root-error finden konnte und in der Datei /var/log/kern.0.log verdächtige Einträge darauf hindeuteten, dass ich ein Problem im Dateisystem habe, wollte ich mir das mal etwas genauer ansehen. Leider zeigte sich, dass meine Befürchtungen berechtigt waren - mein Dateisystem ist beschädigt und zwar ordentlich :-( Mit Hilfe des Befehls fsck.ext3 -f /dev/hda1 ergaben sich tausende von Fehlern, die ich zwar mittels fsck versuchte zu bereinigen, aber vermutlich einige Fehler so einschneidend, dass die Reparatur weitere Fehler verursacht hat - anders kann ich mir nämlich nicht folgendes Endergebnis erklären:

Dateisystem wurde verändert
33008/739928 Dateien (2.3% nicht zusammenhängend), 706178/1477948 Blöcke

Damit dürfte klar sein, dass die Platte hinüber ist und mit ihr auch die meisten Inhalte. Nun, eine Datenrettung erübrigt sich zum Glück, da auf dem System nichts wirklich unersetzlich wichtiges lag. Die Festplatte ist eine uralte uralte Western Digital mit 1.6 GB - ausreichend selbst für ein umfangreich ausgestattetes Linux, aber die defekte Festplatte ist eben schon sehr viele (ca. 10) Jahre alt. Festplatten gehen früher oder später bedingt durch Abnutzungserscheinungen kaputt und auch derartiges kann offensichtlich der Auslöser für einen pivot_root-Fehler sein. Die Festplatte war die letzten Jahre viel gelaufen, ich schätze 4-5 Jahre volle Laufzeit dürften es mindestens gewesen sein und wärend dieser Zeit gab es natürlich auch zahlreiche Schreibzugriffe. Durch die Nutzung unter diversen Betriebssystemen und seit etwa zwei Jahren vorrangig durch das Logging unter Linux und die Zwischenspeicherungen von Boinc und anderen Distributed-Computing-Projekten gefordert, war es eigentlich schon längst an der Zeit für einen Ausstieg des treuen Datenträgers. Die Platte hat ihre Arbeit getan, möge sie in Frieden ruhen ;)

Eine Reaktion zu “pivot_root error (Debian)”

  1. admin

    Ich habe testweise einfach noch mal meine CD mit Debian Sarge 3.1r0a genommen und auf die Platte installiert. Nach dem apt-get update/upgrade kam wieder die Meldung mit dem Kernel-Update, welche ich beim letzten mal nicht wirklich aufmerksam gelesen (besser gesagt wegen der zunächst ausgebliebenen Probleme vergessen) hatte. Nun gut, da steht also grob übersetzt und zusammengefaßt folgendes drin:
    Die Kernelversion wurde zwar nicht geändert (bleibt bei 2.6.8-2-386), aber die Liste der Module unter /lib/modules/2.6.8-2-386/modules.dep wurde verändert und sollte nach dem Neustart neu aufgebaut und überarbeitet werden, weil sie evtl. nicht korrekt ist.
    Nach dem Bestätigen der Meldung kommt noch die Info, dass die Symlinks von initrd und vom image (gemeint ist vermutlich der Kernel-Symlink) bis zum nächsten update/reinstall nicht geändert werden. Das war dann wohl der HIntergrund, weshalb erst nach dem nächsten Update der pivot_root-Fehler auftrat :mrgreen: Die Info, dass auch die menu.lst von Grub angepaßt wurde, ist irrelevant, da wie schon oben erwähnt in dieser Datei alles ok ist.

    Nun, das ganze teste ich etwas später zu Ende und ergänze das dann hier …

Einen Kommentar schreiben