GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux:Selbst kompilierter Kernel in qemu läuft:VFS:Root fs kann nicht auf unbekanntem wn-block(0,0) gemountet werden

Ich habe es selbst herausgefunden. Es ist einige Zeit vergangen, aber soweit ich mich erinnere, bestand die Lösung darin, eine anfängliche Ramdisk bereitzustellen. So habe ich es mit der Hardwarebeschleunigung zum Laufen gebracht.

Kompilieren

make defconfig

CONFIG_EXT4_FS=y
CONFIG_IA32_EMULATION=y
CONFIG_VIRTIO_PCI=y (Virtualization -> PCI driver for virtio devices)
CONFIG_VIRTIO_BALLOON=y (Virtualization -> Virtio balloon driver)
CONFIG_VIRTIO_BLK=y (Device Drivers -> Block -> Virtio block driver)
CONFIG_VIRTIO_NET=y (Device Drivers -> Network device support -> Virtio network driver)
CONFIG_VIRTIO=y (automatically selected)
CONFIG_VIRTIO_RING=y (automatically selected)

---> siehe http://www.linux-kvm.org/page/Virtio

Paravirt in der Konfiguration aktivieren

Deaktivieren Sie den NMI-Watchdog auf HOST, um Leistungsindikatoren auf GUEST zu verwenden. Sie können dies ignorieren.

cat /proc/sys/kernel/nmi_watchdog

---> siehe http://kvm.et.redhat.com/page/Guest_PMU

Starte in Qemu

sudo qemu-system-x86_64 -m 1024M -hda /var/lib/libvirt/images/DEbian.img -enable-kvm -initrd /home/username/compiled_kernel/initrd.img-3.2.46 -kernel /home/username/compiled_kernel/bzImage -append "root=/dev/sda1 console=ttyS0" -nographic -redir tcp:2222::22 -cpu host -smp cores=2

In KVM starten

Kernel-Pfad:/home/username/compiled_kernel/bzImage
Initrd-Pfad:/home/username/compiled_kernel/initrd.img-3.2.46
Kernel-Argumente:root=/dev/sda1

Hoffe, das hilft, wenn jemand die gleichen Probleme hat.


Linux
  1. Linux-Kernel-Gerätetreiber zum DMA von einem Gerät in den User-Space-Speicher

  2. Woher weiß ich, ob mein Linux-Kernel in 32-Bit oder 64-Bit läuft?

  3. Virtuelles Linux mit qemu unter Windows ausführen

  4. Warum den Linux-Kernel vor dem Root-Benutzer schützen?

  5. Wie wird dem Linux-Kernel Unterstützung für neue Hardware hinzugefügt?

So finden Sie heraus, welche Version des Linux-Kernels auf Ihrem PC läuft

So überprüfen Sie, welche Linux-Kernel-Version ich verwende

Datei kann nicht gelöscht werden, auch wenn sie als Root ausgeführt wird?

So mounten und zeigen Sie die ISO-Datei als Root und normaler Benutzer in Linux an

Debuggen des Linux-Kernels mit QEMU

Machen Sie die Datei unter Linux auch für root schreibgeschützt