Kernel panic : VFS : unable to mount root fs

Patchen des Kernels unter SuSE? 8.2 via Yast Online Update (YOU) ...

...und WARUM das ganze ?

Wenn man nicht gerade der Kernelhacker vor dem Herrn ist bzw. man seine Individualität nicht gerade bis auf Kernel-Ebene ausleben muss, sollte man das Patchen und/oder Neukomplieren möglichst vermeiden. In diesem Fall aber galt es einen 1 GBit?-Onboard-Netzwerkadapter zum Fliegen zu bringen.

(Unfall-)Bericht:

Nach dem Einspielen und Reboot des Rechners (hier 'dns.vs.nexushh.de) konnte die Root-Partition nicht mehr eingehängt werden.

boot.msg:
kernel panic ... module 'reiserfs' not found

Habe dann mittels 'mkinitrd' und vorherigem entleeren des Parameters

INITRD_MODULES = "" 
in der Datei /etc/sysconfig/kernel

die Datei /boot/initrd neu anlegen wollen, das geschah aber nicht, da o.g. Parameter nun leer ist.

An dieser Stelle...

  • ...habe ich den Rechner mit der Rettungs-CD gestartet ...
  • /mnt auf /dev/hda6 gemountet (root-partition, reiserfs, cmd 'mount /dev/hda6 /mnt') und /mnt/boot auf /dev/hda1 gemountet (boot-partition, ext2, cmd 'mount /dev/hda1 /mnt' ) .
  • Mittels 'vi' in der Datei /etc/sysconfig/kernel den Parameter INITRD_MODULES wieder auf
    INITRD_MODULES = "reiserfs" gesetzt.

Leider war es im Rettungssystem nicht möglich, die Datei 'initrd' in /boot bzw. in /mnt/boot neu anzulegen, hier aber dennoch das verwendete Kommando:

rescue # mkinitrd -b /mnt/boot -d [/dev/hda6 | /mnt] -m /mnt/etc/sysconfig/kernel .

Das Skript (/sbin/mkinitrd) brach mit der Meldung

'creating initrd /boot/initrd for kernel /boot/vmlinuz
no static shell'

ab. Also wieder ...

...Rechner neu starten...

...von der CD, aber dieses Mal im Boot-Menü:

  • 'Installation' ... (Sprachauswahl)
  • und nach dem HW-Check das 'Installierte System' starten.
  • (als 'root' anmelden)
  • ...und am Prompt einfach nur 'mkinitrd' aufrufen. Ok, initrd geschrieben
  • REBOOT.

Abermals

       Kernel panic : VFS : unable to mount root fs on 03:06

Ein 3-faches F*** !!!

Gut, ok, dann also mit dem ungeschliffenen Kernel '/boot/vmlinuz.shipped' starten ...

System fährt sauber hoch, kann aber die 1000MBit-Netzwerkarte nicht erkennen, also neuen Kernel gebaut - installiert, /boot/grub/menu.lst angepasst und

REBOOT

Und es wurde noch schlimmer ...

Das Einbinden des Moduls 'reiserfs' ging nun völlig daneben ... die Boot-msgs habe ich leider nicht mehr. Wie auch immer:

Wieder mit Standardkernel gebootet, Kernelquellen neu installiert und wiederum einen Kernel mit og. 1000MBit-Support kompiliert, dann 'make modules' aufgerufen.

REBOOT

Boot-Meldungen:

/lib/modules/2.4.20-4GB/kernel/drivers/net/sk98lin/sk98lin.o: unresolved symbol 
SkDimEnableModerationIfNeeded

/lib/modules/2.4.20-4GB/kernel/drivers/net/sk98lin/sk98lin.o: unresolved symbol 
SkDimStartModerationTimer

/lib/modules/2.4.20-4GB/kernel/drivers/net/sk98lin/sk98lin.o: insmod 
/lib/modules/2.4.20-4GB/kernel/drivers/net/sk98lin/sk98lin.o failed

/lib/modules/2.4.20-4GB/kernel/drivers/net/sk98lin/sk98lin.o: insmod sk98lin failed

'modprobe sk98lin' war ebenso erfolglos.

Sourcen des Moduls 'sk98lin' neu übersetzt und geladen, Netzwerk gestartet - geschafft ... erstmal...

Hinweis: Mit neueren Kerneln der Version 2.6.x und höher hat man derlei Stress mit 1000Mbit-Netzwerkadaptern - Gottseidank - nicht mehr.