GNU/Linux >> Znalost Linux >  >> Linux

linux:běží samostatně zkompilované jádro v qemu:VFS:Nelze připojit root fs na neznámý wn-block(0,0)

Přišel jsem na to sám. Uplynul nějaký čas, ale pokud si vzpomínám, řešením bylo poskytnout počáteční ramdisk. Takto jsem to přiměl pracovat s hardwarovou akcelerací.

Kompilace

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)

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

Povolit paravirt v konfiguraci

Zakažte NMI watchdog na HOST pro používání čítačů výkonu na GUEST. Můžete to ignorovat.

cat /proc/sys/kernel/nmi_watchdog

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

Začněte v 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

Začněte v KVM

Cesta jádra:/home/username/compiled_kernel/bzImage
Cesta initrd:/home/username/compiled_kernel/initrd.img-3.2.46
Argumenty jádra:root=/dev/sda1

Doufám, že to pomůže, pokud má někdo stejné problémy.


Linux
  1. Jak zjistím, zda moje linuxové jádro běží v 32bitové nebo 64bitové verzi?

  2. Spuštění virtuálního linuxu pomocí qemu na Windows

  3. Proč chránit linuxové jádro před uživatelem root?

  1. Jak je do linuxového jádra přidána nová hardwarová podpora?

  2. Jak jádro připojí kořenový oddíl?

  3. připojit Linux NFS. rpc.statd neběží

  1. Nelze smazat soubor, i když běží jako root?

  2. Linux – Jak najít ovladač (modul) spojený se zařízením v Linuxu?

  3. Udělejte soubor pouze pro čtení na Linuxu i pro roota