QEMU Demonstration README Problems

313 views
Skip to first unread message

michael....@gmail.com

unread,
Mar 15, 2018, 5:30:25 PM3/15/18
to Jailhouse
Hello,

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

jailhouse_hardware_check_iommu_error.PNG
jailhouse_create_config_error_iomem.PNG

alex.ci...@gmail.com

unread,
Mar 16, 2018, 8:03:42 AM3/16/18
to Jailhouse
Hi,

(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....@gmail.com

unread,
Mar 16, 2018, 4:38:58 PM3/16/18
to Jailhouse
Thanks, Alex. I will try out your suggestion for 2). For 1), I'll probably just try building the latest QEMU from source.

-Michael

Reply all
Reply to author
Forward
0 new messages