"VFS: Unable to mount root fs" mit Xen 3.0

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Methos25
Beiträge: 19
Registriert: 24.08.2005 14:24:23
Wohnort: nähe Heidelberg
Kontaktdaten:

"VFS: Unable to mount root fs" mit Xen 3.0

Beitrag von Methos25 » 15.05.2007 17:51:09

Hallo,

wieder Titel meines Themas schon sagt habe ich ein Problem mit dem booten meines frischgebackenen Kernels mit Xen-Patch.
Ich habe mich zu dem Thema schon ein wenig hier umgesehen und einige verwandte Themen zu der Mount-Problematik nach Kernel-Backen gefunden. In meinem Fall scheint das problem jedoch anders gelagert zu sein, oder einfach etwas spezieller.

Ich schildere einfach mal:

Ich versuche wie gesagt Xen zur Virtualisierung auf meinem System auzusetzen. Die Debian-Pakete aus dem Testing-Tree funktionieren hierbei jedoch nicht, da danach beim Booten mit der Fehlermeldung "PAE mismatch" abgebrochen wird. Scheinbar hat der Xen-gepatchte Kernel den man bei Debian bekommt die Option PAE aktiviert und es gibt auch keinen ohne.

Also habe ich mich kurzerhand entschlossen Xen selbst zu bauen und die Sourcen von xensource.com besorgt, in der Version
xen-3.0.4_1.

Nach entpacken und ausführen des make-skriptes läd sich Xen automatisch per wget den Kerne 2.6.16.33 von kernel.org herunter und patcht diesen.

Den gepatchten Kernel habe ich dann mit menuconfig configuriert und gebaut, ebneso wie den Xen-Hypervisor.
Eine initial ramdisk habe ich dann mit "mkinitrd -o initrd.img-2.6.16.33-xen 2.6.16.33-xen" in /boot erstellt und alles in die menu.lst eingetragen. Danach dann reboot mit oben genannter Fehlermeldung.

In der Regel rührt dieses Problem ja von nicht in die RAMDisk geladenen Treibern her, also habe ich die Ramdisk meine aktuell funktionierendes 2.6.18 Kernels mit der von 2.6.16.33-xen verglichen und mit lspci geschaut welcher Kontrollertreiber überhaupt nötig ist. Das Modul für den Kontrolertreiber ist in beiden Ramdisks definitiv vorhanden, was sich auch durch die Konsolen-Ausgabe beim Booten bestätigt.
Was allerdings im Vergleich zwischen beiden Ramdisks fehlt ist ide-core.ko

Code: Alles auswählen

erde:/mnt/initrd-xen# gzip -dc /boot/initrd.img-2.6.16.33-xen | cpio -id
26913 blocks
erde:/mnt/initrd-xen# ll lib/modules/2.6.16.33-xen/kernel/drivers/ide/
insgesamt 164K
-rw-r--r-- 1 root root  48K 2007-05-15 18:50 ide-cd.ko
-rw-r--r-- 1 root root  24K 2007-05-15 18:50 ide-disk.ko
-rw-r--r-- 1 root root  26K 2007-05-15 18:50 ide-floppy.ko
-rw-r--r-- 1 root root 6,4K 2007-05-15 18:50 ide-generic.ko
-rw-r--r-- 1 root root  45K 2007-05-15 18:50 ide-tape.ko
drwxr-xr-x 2 root root 4,0K 2007-05-15 18:50 legacy
drwxr-xr-x 2 root root 4,0K 2007-05-15 18:50 pci

Code: Alles auswählen

erde:/mnt/initrd-2.6.18# gzip -dc /boot/initrd.img-2.6.18-4-686 | cpio -id
25249 blocks
erde:/mnt/initrd-2.6.18# ll lib/modules/2.6.18-4-686/kernel/drivers/ide
insgesamt 256K
-rw-r--r-- 1 root root  41K 2007-05-15 19:39 ide-cd.ko
-rw-r--r-- 1 root root 111K 2007-05-15 19:39 ide-core.ko
-rw-r--r-- 1 root root  18K 2007-05-15 19:39 ide-disk.ko
-rw-r--r-- 1 root root  19K 2007-05-15 19:39 ide-floppy.ko
-rw-r--r-- 1 root root 2,5K 2007-05-15 19:39 ide-generic.ko
-rw-r--r-- 1 root root 4,0K 2007-05-15 19:39 ide-pnp.ko
-rw-r--r-- 1 root root  37K 2007-05-15 19:39 ide-tape.ko
drwxr-xr-x 2 root root 4,0K 2007-05-15 19:39 legacy
drwxr-xr-x 2 root root 4,0K 2007-05-15 19:39 pci
erde:/mnt/initrd-2.6.18#   
Ich bin jetzt nicht ganz sicher ob das an den Versionsunterschieden der beiden Kernel liegt, weiß aber nicht woran es sonst liegen könnte oder wie ich meine Theorie prüfen könnte.

Ich bin mir eigentlich ziemlich sicher alles nötige in der Kernelconfig ausgewählt zu haben, aber irgendwas muss doch fehlen da es sonst funktionieren würde???

Hier vorab die Auszüge aus meiner Config die ich für wesentlich halte:

Code: Alles auswählen

erde:~# grep EXT[2-3] /boot/config-2.6.16.33-xen
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
und

Code: Alles auswählen

erde:~# grep BLK_DEV_IDE /boot/config-2.6.16.33-xen
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=m
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_BLK_DEV_IDESCSI=m
CONFIG_BLK_DEV_IDEPNP=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_BLK_DEV_IDEDMA=y
erde:~# grep IDE_GEN /boot/config-2.6.16.33-xen
CONFIG_IDE_GENERIC=m

Meine menu.list sieht übrigens folgenermaßen aus:

Code: Alles auswählen

title Xen 3.0 / XenLinux 2.6
        root (hd0,0)
        kernel /boot/xen-3.0.gz
        module /boot/vmlinuz-2.6.16.33-xen root=/dev/hda1 ro console=tty0
        module /boot/initrd.img-2.6.16.33-xen
        boot
Hilfe wäre mir sehr willkommen, da mir die Ideen ausgehen. Mit welcher Optiion könnt ich z.B. das bauen von ide-core.ko veranlassen, wenn das überhaupt hilft?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 15.05.2007 18:12:32

was ergibt dir "grep CONFIG_IDE .config" (auf deine Config anpassen..)
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Methos25
Beiträge: 19
Registriert: 24.08.2005 14:24:23
Wohnort: nähe Heidelberg
Kontaktdaten:

Beitrag von Methos25 » 15.05.2007 18:21:00

Das hier:

Code: Alles auswählen

erde:~# grep CONFIG_IDE /boot/config-2.6.16.33-xen
CONFIG_IDE=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_GENERIC=m
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
erde:~#

[EDT]
Hier vielleicht auch nochmal ein Ausszug aus meiner kern.log beim erfolgreich gebooteten 2.6.18

Code: Alles auswählen

May 13 03:03:50 erde kernel: ICH4: IDE controller at PCI slot 0000:00:1f.1
May 13 03:03:50 erde kernel: PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
May 13 03:03:50 erde kernel: ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
May 13 03:03:50 erde kernel: ICH4: chipset revision 3
May 13 03:03:50 erde kernel: ICH4: not 100%% native mode: will probe irqs later
May 13 03:03:50 erde kernel:     ide0: BM-DMA at 0x1860-0x1867, BIOS settings: hda:DMA, hdb:pio
May 13 03:03:50 erde kernel:     ide1: BM-DMA at 0x1868-0x186f, BIOS settings: hdc:DMA, hdd:pio
May 13 03:03:50 erde kernel: Probing IDE interface ide0...
May 13 03:03:50 erde kernel: hda: HITACHI_DK23FA-80, ATA DISK drive
May 13 03:03:50 erde kernel: usb 1-1: new low speed USB device using uhci_hcd and address 3
May 13 03:03:50 erde kernel: usb 1-1: configuration #1 chosen from 1 choice
May 13 03:03:50 erde kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
May 13 03:03:50 erde kernel: Probing IDE interface ide1...
May 13 03:03:50 erde kernel: usb 2-2: new low speed USB device using uhci_hcd and address 2
May 13 03:03:50 erde kernel: ieee1394: Host added: ID:BUS[0-00:1023]  GUID[04e40a0025301039]
May 13 03:03:50 erde kernel: usb 2-2: configuration #1 chosen from 1 choice
May 13 03:03:50 erde kernel: usbcore: registered new driver hiddev
May 13 03:03:50 erde kernel: input: Logitech USB Receiver as /class/input/input1
May 13 03:03:50 erde kernel: input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.0-1
May 13 03:03:50 erde kernel: usbcore: registered new driver usbhid
May 13 03:03:50 erde kernel: drivers/usb/input/hid-core.c: v2.6:USB HID core driver
May 13 03:03:50 erde kernel: hdc: PIONEER DVD-RW DVR-K14L, ATAPI CD/DVD-ROM drive
May 13 03:03:50 erde kernel: ide1 at 0x170-0x177,0x376 on irq 15
May 13 03:03:50 erde kernel: b44.c:v1.01 (Jun 16, 2006)
May 13 03:03:50 erde kernel: ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKD] -> GSI 10 (level, low) -> IRQ 10
May 13 03:03:50 erde kernel: eth0: Broadcom 4400 10/100BaseT Ethernet 00:0a:e4:5d:19:46
May 13 03:03:50 erde kernel: hda: max request size: 128KiB
May 13 03:03:50 erde kernel: hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
May 13 03:03:50 erde kernel: hda: cache flushes supported
May 13 03:03:50 erde kernel:  hda: hda1 hda2 < hda5 >
May 13 03:03:50 erde kernel: hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2000kB Cache, UDMA(33)
May 13 03:03:50 erde kernel: Uniform CD-ROM driver Revision: 3.20
May 13 03:03:50 erde kernel: Attempting manual resume
May 13 03:03:50 erde kernel: kjournald starting.  Commit interval 5 seconds
May 13 03:03:50 erde kernel: EXT3-fs: mounted filesystem with ordered data mode.
An eine kern.log vom gescheiterten bootversuch komme ich leider nicht, da ja keine disk gemoutet werden kann auf die die dann geschrieben wird.
Der Versuch des schnellen mitlesens hat abr ergeben dass die Zeilen abgesehen von den Ausgaben von XEN bis zur Ausgabe " hda: HITACHI_DK23FA-80, ATA DISK drive" übereinstimmen.

[/EDT]

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 15.05.2007 19:03:20

das heißt die Ausgabe "hda: ... " gibt es dann nicht mehr bei dir?

(btw: wenn du IDE=y statt =m hast, dann kannst du auch kein Modul finden ;-) )
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Methos25
Beiträge: 19
Registriert: 24.08.2005 14:24:23
Wohnort: nähe Heidelberg
Kontaktdaten:

Beitrag von Methos25 » 15.05.2007 19:09:11

Savar hat geschrieben:das heißt die Ausgabe "hda: ... " gibt es dann nicht mehr bei dir?
Doch die Gibts und direkt danach kommt dann das "VFS: unable to mount root fs on unkwnown block..."
Savar hat geschrieben: (btw: wenn du IDE=y statt =m hast, dann kannst du auch kein Modul finden ;-) )
Stimmt auffallend! :D

Ich beschäftige mich wohl schon zu lange mit dem Mist. Deswegen frag ich ja auch. ^^ Ich wusste nicht welcher Config-Eintrag für die fehlenden Module verantwortlich ist.

Aber wenn CONFIG_IDE etc fest in den Kernel eingebaut sind, heißt dass doch dass irgendein anderer Treiber irgendwo fehlen muss oder?
Was braucht man denn noch für ein erfolgreiches Mounten? EXT3-Module für mein Filesystem sind ja da, wie oben gezeigt.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 15.05.2007 20:17:48

kannst du nicht die original config von Debian als Grundlage benutzen? also /boot/config...... ?
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Methos25
Beiträge: 19
Registriert: 24.08.2005 14:24:23
Wohnort: nähe Heidelberg
Kontaktdaten:

Beitrag von Methos25 » 15.05.2007 22:26:17

Das war das erste was ich probiert hatte.

Also die config von /boot/config-2.6.18-4-686 nach .config in dem Bau-Verzeichnis kopiert und gebaut eben. Selber Fehler wie oben! Ich weiß halt nicht ob der Patch irgendwie veranlasst dass die Config von irgendwoanders her gezogen wird, aber ich hab ja auch die Original-Sourcen von Xen gezogen also darf das eigentlich nicht sein. In der Doc steht auch nix entsprechendes, es sei denn ich hätte da was grundlegendes überlesen.
Ich hab als erstes gedacht dass es ein Versionsproblem ist weil ich die Config von nem 2.6.18 mit einem 2.6.16 benutzt und hab ein oldconfig gemacht, was auch wieder das selbe Problem ergab. Und nen 2.6.18 kann ich nicht für Xen benutzen, weil "make xen" immer den 16er zieht, wenn er nicht da ist.

Das ganze ist echt riesig frustrierend, vor allem weil ich den Ärger nicht hätte wenn Debian für den Hypervisor ohne PAE auch einen Kernel ohne PAE bereitstellen würde.

Antworten