Kernel Panic: VFS: Cannot open root device...

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Kernel Panic: VFS: Cannot open root device...

Beitrag von g-henna » 09.01.2004 21:02:48

Hi!

Habe vorhin den 2.6.1er-Kernel kompiliert (fehlerfrei), ein .deb draus gemacht (fehlerfrei), installiert (fehlerfrei) und die lilo.conf wie folgt angepasst:
  • delay=100
    timeout=60
    prompt
    boot=/dev/hda
    root=/dev/hda3
    install=/boot/boot.b
    map=/boot/map
    menu-title=" Tobis Kiste "

    image=/vmlinuz
    label="Linux-2.6.1"
    # initrd=/initrd.img
    image=/vmlinuz.old
    label="Linux-2.4.21"

    other=/dev/hda1
    label=Windows
Habe also neu gestartet und, was ein Wunder, es klappt natürlich nicht. Ich bekomme jetzt mit beiden Kerneln folgende Ausgabe:
VFS: Cannot open root device "303" or 03:03
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 03:03
Schade, eigentlich... wie geht das weg? Es ist vielleicht noch zu sagen, dass
a) beim booten, ganz am Anfang, kommt ja dieses "uncompressing kernel" mit den vielen Punkten dahinter. Bei beiden Kerneln ist diese Reihe von Punkten allerdings nur ein Bruchteil so lang wie beim alten vorher, das ist verwunderlich.
b) ich hatte keine /initrd.img
c) ich bin mir nicht sicher, ob ich VFS im neuen Kernel drin habe, das heißt, ich kann mich gar nicht mehr daran erinnern, ob ich es drin hatte oder net. Aber wahrscheinlich schon, weil der andere bringt ja schließlich die gleiche Meldung
Wäre echt prima, wenn mir wer helfen könnte, ich kann nämlich nicht mehr booten... *argh*

Bye
g-henna
follow the penguin...

Indy500
Beiträge: 380
Registriert: 18.04.2003 05:03:40

Beitrag von Indy500 » 09.01.2004 21:36:49

Überprüfe mal ob wirklich alles notwendige in den Kernel kompilliert wurde, ide,fs usw. und das es nicht als Modul sondern in den Kernel kompilliert wurde.

Dann frage ich mich immer wieder warum soviele noch das antiquierte lilo benutzen?
Grub ist doch viel komfortabler. Grub muss nicht bei jedem backen angepasst werden und wenn mal was nicht klappt bietet grub eine kleine shell mit der man fast immer sein System booten kann. Der findet sämtliche Kernel automatisch und man hat etliche Möglichkeiten verschiedenste Parameter und konstellationen anzugeben.

Archmage
Beiträge: 138
Registriert: 11.08.2003 03:15:01

Beitrag von Archmage » 09.01.2004 21:56:19

Du hast IMHO vergessen mit
Die Konfiguration von lilo in den Bootblock zu schreiben.

Boote mal von einer Bootdiskette und schaue die Links an:

Code: Alles auswählen

ls -l /vm*
Bzw. setze die richtigen Links

Code: Alles auswählen

ln -s /boot/[Name des Kernels] vmlinuz[.old]
Ansonsten hast du wohl das Dateisystem deiner Rootpartition NICHT fest im Kernel installiert. Dann kann es nicht klappen. :(

Schaue mal nach welches Dateisystem deine Root-Partition hat:

Code: Alles auswählen

cat /etc/fstab
Und kompliere den Kernel noch einmal mit den richtigen Dateisystem. Und das FEST und nicht als Modul.


Ich hoffe, dass dir dieses hier hilft.

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 09.01.2004 22:05:17

Hi!

lilo hab ich aufgerufen, schon deshalb, weil ich ja beide Kernel auswählen konnte. Und es booten ja auch beide ordentlich bis zu dieser Stelle.

/ hat ext3, da habe ich mit an Sicherheit grenzender Wahrscheinlichkeit ext3 fest einkompiliert, weil ich ja wusste, dass da zur Boot-Time drauf zugegriffen werden muss. Aber meine /boot-Partition scheint auch ext3 zu haben. Wobei ich erneut betonen möchte, dass auch der alte Kernel nicht mehr geht. An Veränderungen in der lilo.conf habe ich aber in dessen Eintrag nur das initrd.img auskommentiert, weil die Datei nicht mehr existierte.

2 Indy500: Kann man auf einem nicht laufenden System den Kernel irgendwie neu bauen?

Bye
g-henna
follow the penguin...

Indy500
Beiträge: 380
Registriert: 18.04.2003 05:03:40

Beitrag von Indy500 » 09.01.2004 22:12:10

Nee, wie soll das gehen?

Du kannst aber mit einer CD booten und das root mounten und chrooten, dann geht das.

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

SOLVED

Beitrag von g-henna » 09.01.2004 22:55:38

Hi!

OK, ich hab's. Das war vielleicht ne tolle Sache. Ich hab mit Knoppix gebootet und dann ein bisschen in der lilo.conf rumgespielt. Aaalso, der Grund, warum der alte Kernel (2.4.21) nicht gebootet hat, ist, weil er tatsächlich ext3 nur als Modul geladen hatte, logischerweise also eine initial ramdisk benötigte. Hier war der Fehler also, dass ich den initrd-Parameter auskommentiert hatte. Mit läuft alles wunderbar und ich komm wieder an ein laufendes System.
Habe dann also mit mkinitrd für den neuen Kernel (2.6.1) auch eine anständige Ramdisk gebaut (ich habe ext3 wirklich fest einkompiliert, der Grund, warum ich ne Ramdisk brauche, ist mir schleierhaft). Die Sache ist nun aber, dass mkinitrd dieses Teil standardmäßig mit dem CRAMFS baut und das hatte ich natürlich nicht einkompiliert. Das heißt,
- ohne initrd.img kann er (warum?) das root Filesystem net lesen
- mit initrd.img konnte er das initrd.img net lesen
Bin jetzt dabei, ihn nochmal mit CRAMFS-Support zu kompilieren (dauert ja nur ne knappe Stunde) und dann werd ich weitersehen. Trotzdem danke allen, die was hier gepostet haben!

Bye
g-henna
follow the penguin...

Benutzeravatar
CereS
Beiträge: 167
Registriert: 08.11.2003 18:07:44
Wohnort: Ruhrpott

Beitrag von CereS » 10.01.2004 01:12:23

hi,

Mit dem 2.6.0er Kernel Package läuft alles wunderbar

habe wahrscheinlich das gleiche Problem mit dem 2.6.1.. :?
ext2/ext3 und cramfs sind fest einkompiliert

(ot)
Ferner noch ein Problem mit dem framebuffer support

weiss jemand, welche optionen ich für den sis650 aktivieren muss?

Benutzeravatar
CereS
Beiträge: 167
Registriert: 08.11.2003 18:07:44
Wohnort: Ruhrpott

Beitrag von CereS » 10.01.2004 01:24:39

vielleicht hilft ja das weiter..

http://www.debianforum.de/forum/viewtop ... =2+6+panic

ich hatte den SIS Treiber nur als Modul einkompiliert

jetzt wird wieder kompiliert...

Benutzeravatar
CereS
Beiträge: 167
Registriert: 08.11.2003 18:07:44
Wohnort: Ruhrpott

Beitrag von CereS » 10.01.2004 02:17:13

yep der obige Link hat geholfen!

habe zwar jetzt keinen sound, aber das gibt sich noch :)
"Friede seiner Asche" wird geschüttelreimt zu
"Ade seiner Frische", was auf das gleiche hinauskommt.

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 10.01.2004 14:02:56

Hi!

OK, meine oben gepostete Lösung ist zwar theoretisch sehr schön und auch anschaulich, hat aber wohl eher weniger Realitätsbezug *grin* Ich habe die /boot/config-[mein alter Kernel, 2.4.21-*] genommen und mit genau denselben Konfigurationsparametern den neuen Kernel kompiliert, einmal mkinitrd ausgeführt und lilo und überhaupt und bekomme immer noch den gleichen Fehler. Die Kernelbauer wollen mich voll verarschen. *grin* Was soll ich jetz machen, wenn nicht mal mehr die gleiche Konfiguration funktioniert???

Bye
g-henna
follow the penguin...

Indy500
Beiträge: 380
Registriert: 18.04.2003 05:03:40

Beitrag von Indy500 » 10.01.2004 14:47:12

Warum benutzt du eine initrd? bei einem angepassten Kernel ist die doch völlig überflüssig. Auf einer Distributions CD ist das sinnvoll weil etliche verschiedene Systeme unterstützt werden müssen aber bei einem auf das System abgstimmte nicht.

Die Treiber für das rootfs in den Kernel kompillieren und es gibt kein Problem mehr mit dem booten.

the_Brain
Beiträge: 54
Registriert: 01.10.2003 00:17:29
Kontaktdaten:

Beitrag von the_Brain » 11.01.2004 13:24:08

hi,
ich habe das gleiche problem.

ich habe den kernel nun schon hundertmal neu gebacken. jedesmal das gleiche - die test10 läuft bei mir noch nebenbei... und da gehts.

ich habe einen via-chipsatz und benutzt ext3 - beides hat einzug in den kernel bekommen - da ich kein initrd anlegen wollte.

er findet auch die platte und das cdrom - aber beim mounten kommt der threadtitel als fehlermeldung.

Benutzeravatar
CereS
Beiträge: 167
Registriert: 08.11.2003 18:07:44
Wohnort: Ruhrpott

Beitrag von CereS » 11.01.2004 19:23:02

hi,

ich poste mal den Teil aus meiner .config, damit läuft es, habe allerdings einen SiS Chipsatz, den müsstest Du dann austauschen.

Code: Alles auswählen

# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
                                                                                
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_TASKFILE_IO=y
                                                                                
#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
CONFIG_BLK_DEV_SIS5513=y
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set                                                                            
Hoffe, das hilft weiter..

:wink:
"Friede seiner Asche" wird geschüttelreimt zu
"Ade seiner Frische", was auf das gleiche hinauskommt.

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 11.01.2004 19:58:37

Hi!

Boaaah, er läuft! Das Problem war, dass (E)IDE als Modul einkompiliert war. Habe jetzt ext2 und ext3 sowie eben diesen IDE-Kram fest drin und er bootet sogar. Musste dann nur noch die neuen NVIDIA-Treiber installieren (er hat es wirklich in einem Schwung durchgemacht, ohne einmal abzubrechen!! *grin*) und dann hatte ich sogar ne grafische Oberfläche. Netzwerk is auch da, alles prima. Vielen Dank allen, die mich soweit gebracht haben!
Was noch net geht, ist Sound, aber ich hatte auch m.E. gar keinen mit drin. Und mein USB-Speicherstick geht net mehr. Vorher lief der ja über scsi-ide-Emulation als /dev/sda, dass ist jetzt aber kein "block device" mehr. Wo ist er hin?

Bye
g-henna
follow the penguin...

Antworten