I have some problems running the Jailhouse QEMU demo with the README instructions.
1) QEMU cannot find the rom file for the e1000e network device. I get:
qemu-system-x86_64: -device e1000e,addr=2.0,netdev=net: failed to find romfile "efi-e1000e.rom"
It can find efi-e1000.rom if I specify e1000, but not the efi-e1000e.rom. How can I solve this?
2) I am having trouble with the intel_iommu stuff. When I run "jailhouse hardware check jailhouse/configs/x86/qemu-x86.cell", the python script has an error regarding the intel_iommu (see first attached image). I run into a related error when I run "jailhouse config create sysconfig.c" (see second image). Am I doing something wrong with the IOMMU? I've tried passing 'intel_iommu=off' to the kernel, but it doesn't help.
My setup:
*Ubuntu 17.10 (kernel v4.13)
*QEMU 2.10.1 (via Ubuntu package manager)
*Debian 9.4 for guest VM (kernel v4.9)
*Most recent master branch of Jailhouse (1fa9001, >v0.8), built inside the Debian VM
My QEMU command (minus the -device e1000e and -netdev parts):
qemu-system-x86_64 \
-m 1G \
-smp 2 \
-enable-kvm \
-cpu kvm64,-kvm_pv_eoi,-kvm_steal_time,-kvm_asyncpf,-kvmclock,+vmx \
-serial stdio \
-serial vc \
-device intel-hda,addr=1b.0 \
-device hda-duplex \
-machine q35,kernel_irqchip=split \
-device intel-iommu,intremap=on,x-buggy-eim=on \
-drive file=debian_9_4_0.qcow2,format=qcow2,id=disk,if=none \
-device ide-hd,drive=disk
I'm documenting my process here: https://github.com/hintron/jailhouse_quickstart
Any help is appreciated. Thanks!
-Michael Hinton
(1) Seems like a generic qemu question depending on your setup
(2) I had the same issue a while back
> I've tried passing 'intel_iommu=off' to the kernel, but it doesn't help.
For QEMU-KVM, you should pass "intel_iommu=on" to the guest kernel and then you generate the configuration for the root cell. After that, you reboot the guest with intel_iommu=off and then you should be able to build&mount the jailhouse root cell.
-Alex
-Michael