LOADLIN bootet nicht bei einer mit reiserfs formatierten Rootpartition

Supportdatenbank (fhassel_loadlin-reiserfs)
Bezieht sich auf

SuSE Linux: Versionen ab 7.2

Symptom:

Sie haben Ihre Rootpartition mit reiserfs formatiert. Das installierte System läßt sich nach der Installation nicht booten. Stattdessen erscheint eine Fehlermeldung ähnlich wie diese:
Kernel panic: VFS: Unable to mount root fs on 03:03
Als Bootmanager verwenden Sie nicht LILO, sondern booten über Windows via LOADLIN. Häufig tritt dieser Fehler nach einem Update von einer Version früher als 7.2 auf eine aktuelle Version auf.

Ursache:

Reiserfs-Unterstützung ist seit der SuSE Linux Version 7.2 nicht mehr im Kernel einkompiliert, sondern wird als Modul geladen.

Lösung:

Denken sie daran, die initrd (initial ramdisk) in die Bootloader-Konfiguration einzubinden und stellen Sie sicher, dass das Modul reiserfs in die initrd integriert ist.

Hintergrund: Durch die Verwendung einer initial ramdisk, in der das reiserfs Modul eingebunden ist, wird beim Booten das Modul gleich nach dem Starten des Kernels geladen, noch bevor das Root-Dateisystem gemountet wird. Dadurch wird erst der Zugriff auf das Root-Dateisystem möglich.

Vorgehen:

Booten Sie Ihr installiertes System mithilfe der Installations-CD. Mounten Sie Ihre Windows-Partition und kopieren Sie aus dem Verzeichnis /boot die Datei initrd in das loadlin-Verzeichnis, z. B. mit einem Befehl ähnlich dem Folgendem (die Pfadangaben bitte auf Ihr System abstimmen):
mount /windows/c
cp /boot/initrd /windows/c/loadlin
Nach einem Reboot starten Sie Ihr Windows System und binden in der Datei c:\loadlin\linux.par den Eintrag für die initrd ein:
initrd=c:\loadlin\initrd
(Bitte hier die Pfadangaben wieder auf Ihr System abstimmen!)

Falls dies Vorgehen nicht zum Erfolg führt:

Überprüfen Sie in Ihrem Linux-System, das Modul reiserfs in der initrd eingebunden ist.

Bis einschließlich SuSE Linux Version 7.3

Um das Modul reiserfs in die initrd einzubinden, tragen Sie entweder das Modul direkt die in diese Datei /etc/rc.config (Variable INITRD_MODULES) ein und rufen anschliessend in einer root-Shell das Skript
mk_initrd
auf, oder Sie starten zu diesem Zweck YaST (1). Wechseln Sie in den Dialog

  1. Suchen Sie nach der Variable INITRD_MODULES (z. B. mit der Suchfunktion, Taste F4).
  2. Überprüfen Sie mit der Taste F3, ob hier der Eintrag reiserfs besteht. Falls nicht, fügen Sie ihn hinzu (mit einem Leerzeichen als Abstandhalter zu evtl. bestehenden Einträgen).
  3. Mit F10 verlassen Sie diese Maske. Beenden Sie auch YaST.

Rufen Sie danach in einer root-Shell das Script auf, mit dem die initrd neu erstellt wird:

mk_initrd
Kopieren Sie die neu erstellte initrd aus dem Verzeichnis /boot in Ihr loadlin-Verzeichnis, wie oben beschrieben.

Ab SuSE Linux Version 8.0

Ab SuSE Linux 8.0 befindet sich der Eintrag für die INITRD in der Datei /etc/sysconfig/kernel. Entweder tragen Sie das Modul reiserfs direkt die in diese Datei (Variable INITRD_MODULES) ein und rufen anschliessend in einer root-Shell das Skript
mk_initrd
auf, oder Sie benutzen dazu YaST2. Starten Sie zu diesem Zweck das YaST2 Kontrollzentrum und wechseln in den folgenden Dialog:

  1. Wählen Sie Suche und geben Sie in die Suchmaske INITRD_MODULES ein.
  2. Falls im folgenden Feld mehr als ein Treffer angezeigt wird, wählen Sie bitte INITRD_MODULES aus.
  3. Überprüfen Sie ob hier der Eintrag reiserfs besteht. Falls nicht, fügen Sie ihn hinzu (mit einem Leerzeichen als Abstandhalter zu evtl. bestehenden Einträgen).
  4. Wählen Sie Speichern und bestätigen Sie die Sicherheitsabfrage mit einem Klick auf OK.

Nun können Sie YaST2 verlassen. Rufen Sie danach das Script auf, mit dem die initrd neu erstellt wird:
mk_initrd
Kopieren Sie die neu erstellte initrd aus dem Verzeichnis /boot in Ihr loadlin-Verzeichnis, wie oben beschrieben.

Weitere Informationen zur initrd finden Sie im Kapitel "Booten mit der 'initial ramdisk'" in Ihrem Referenz-Handbuch (ab SuSE 8.0 im Administrationshandbuch). Ebenso finden Sie an dieser Stelle weitere Informationen zum Bootloader loadlin.


Siehe auch:
o Booten mit der initial ramdisk
o Bootkonzept ab SuSE Linux 6.3
o LILO bootet nicht nach Update bei einer mit reiserfs formatierten Rootpartition

Stichwörter: REISERFS, LOADLIN, WINDOWS, BOOT, BOOTEN, 7.2

Kategorien: Loadlin

SDB-fhassel_loadlin-reiserfs, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 14. Jun 2001
SuSE Linux AG - Zuletzt generiert: 31. Jan 2003 von fhassel (sdb_gen 1.40.0)