Kernel panic : VFS : unable to mount root fs
Inhalt: (Verbergen)
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.