diff options
author | Patrick Ohly <patrick.ohly@intel.com> | 2017-01-20 16:54:54 +0100 |
---|---|---|
committer | California Sullivan <california.l.sullivan@intel.com> | 2017-01-24 14:31:06 -0800 |
commit | 5130e819ca8aef8111ac3581520402ea46566666 (patch) | |
tree | 86cb1ba54a5626ebb371658fc6c9f2a54ed5c51f /conf/machine/include/qemuboot-intel.inc | |
parent | 72402b08c571809f3b2f3cfdc2d1eb0e72109a64 (diff) | |
download | meta-intel-5130e819ca8aef8111ac3581520402ea46566666.tar.gz |
meta-intel: enable qemu and select more suitable virtual machine options
Although the machines definitions in meta-intel are meant to target
real hardware, begin able to start the resulting images under qemu is
nevertheless useful for testing.
Doing that via runqemu depends on a per-image runqemu.conf that
describes how to run qemu for the image. Ineriting qemuboot.bbclass in
image recipes with QB_ variables set for the current architecture via
overrides creates that file.
The new qemuboot-intel.inc was copied from OE-core's qemuboot-x86.inc
and adapted to the three common machines in meta-intel:
$ diff ../openembedded-core/meta/conf/machine/include/qemuboot-x86.inc conf/machine/include/qemuboot-intel.inc
3,5c3,5
< QB_SYSTEM_NAME_x86 = "qemu-system-i386"
< QB_CPU_x86 = "-cpu qemu32"
< QB_CPU_KVM_x86 = "-cpu kvm32"
---
> QB_SYSTEM_NAME_intel-core2-32 = "qemu-system-i386"
> QB_CPU_intel-core2-32 = "-cpu coreduo"
> QB_CPU_KVM_intel-core2-32 = "-cpu kvm32"
7,9c7,13
< QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64"
< QB_CPU_x86-64 = "-cpu core2duo"
< QB_CPU_KVM_x86-64 = "-cpu kvm64"
---
> QB_SYSTEM_NAME_intel-corei7-64 = "qemu-system-x86_64"
> QB_CPU_intel-corei7-64 = "-cpu Nehalem"
> QB_CPU_KVM_intel-corei7-64 = "-cpu kvm64"
>
> QB_SYSTEM_NAME_intel-quark = "qemu-system-i386"
> QB_CPU_intel-quark = "-cpu coreduo"
> QB_CPU_KVM_intel-quark = "-cpu kvm32"
For performance reasons, runqemu uses virtio for the boot disk. The
kernel therefore must have the necessary drivers enabled. This may
also be useful when running a meta-intel machine image on other
virtual platforms and therefore the default kernel configuration gets
changed to enable virtio.
However, OE-core's qemu.inc also enables various other tweaks for
running under qemu, like deriving the wired Ethernet address from the
kernel boot parameters. This is probably less desirable for a
meta-intel machine and thus not enabled in the new qemu-intel.inc. The
downside is that the resulting images then come up without assigned IP
address when used under qemu. Distros which want that feature can
still add it to their images by copying settings from OE-core's
qemu.inc.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Diffstat (limited to 'conf/machine/include/qemuboot-intel.inc')
-rw-r--r-- | conf/machine/include/qemuboot-intel.inc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/conf/machine/include/qemuboot-intel.inc b/conf/machine/include/qemuboot-intel.inc new file mode 100644 index 00000000..82a72aca --- /dev/null +++ b/conf/machine/include/qemuboot-intel.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | # For runqemu | ||
2 | IMAGE_CLASSES += "qemuboot" | ||
3 | QB_SYSTEM_NAME_intel-core2-32 = "qemu-system-i386" | ||
4 | QB_CPU_intel-core2-32 = "-cpu coreduo" | ||
5 | QB_CPU_KVM_intel-core2-32 = "-cpu kvm32" | ||
6 | |||
7 | QB_SYSTEM_NAME_intel-corei7-64 = "qemu-system-x86_64" | ||
8 | QB_CPU_intel-corei7-64 = "-cpu Nehalem" | ||
9 | QB_CPU_KVM_intel-corei7-64 = "-cpu kvm64" | ||
10 | |||
11 | QB_SYSTEM_NAME_intel-quark = "qemu-system-i386" | ||
12 | QB_CPU_intel-quark = "-cpu coreduo" | ||
13 | QB_CPU_KVM_intel-quark = "-cpu kvm32" | ||
14 | |||
15 | QB_AUDIO_DRV = "alsa" | ||
16 | QB_AUDIO_OPT = "-soundhw ac97,es1370" | ||
17 | QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1" | ||
18 | # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy | ||
19 | QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci" | ||
20 | QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22" | ||