GNU/Linux >> Linux Esercitazione >  >> Linux

linux:esecuzione del kernel autocompilato in qemu:VFS:impossibile montare root fs su wn-block sconosciuto (0,0)

L'ho capito da solo. È passato del tempo, ma se ricordo bene la soluzione era fornire un ramdisk iniziale. Ecco come l'ho fatto funzionare con l'accelerazione hardware.

Compilazione

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)

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

Abilita paravirt nella configurazione

Disabilita il watchdog NMI su HOST per l'utilizzo dei contatori delle prestazioni su GUEST. Puoi ignorarlo.

cat /proc/sys/kernel/nmi_watchdog

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

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

Avvia in KVM

Percorso del kernel:/home/nomeutente/compiled_kernel/bzImage
Percorso initrd:/home/nomeutente/compiled_kernel/initrd.img-3.2.46
Argomenti del kernel:root=/dev/sda1

Spero che questo aiuti se qualcuno ha gli stessi problemi.


Linux
  1. Linux:il kernel deve essere compilato nello stesso ambiente di sviluppo dello spazio utente?

  2. Linux:come trovare il driver (modulo) associato a un dispositivo su Linux?

  3. Driver del dispositivo del kernel Linux a DMA da un dispositivo nella memoria dello spazio utente

  4. Come viene aggiunto il nuovo supporto hardware al kernel Linux?

  5. montare Linux NFS. rpc.statd non è in esecuzione

Come scoprire la versione del kernel Linux in esecuzione sul tuo PC

Come verificare quale versione del kernel Linux sto utilizzando

Impossibile eliminare il file, anche durante l'esecuzione come root?

Come montare e visualizzare il file ISO come utente root e normale in Linux

Come trovare il driver (modulo) associato a un dispositivo su Linux?

Rendi il file di sola lettura su Linux anche per root