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 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
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