Fix runqemu by generating an ext4 image by default 87/10387/5
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>
Tue, 25 Jul 2017 21:02:31 +0000 (23:02 +0200)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 26 Jul 2017 16:23:34 +0000 (16:23 +0000)
runqemu does not detect an ext4.xz , thus default to ext4.

Call it with:
  runqemu qemux86-64 kvm audio

Also due to the optimization levels for x86-64, adapt QB_CPU and QB_CPU_KVM.
For audiomanager to start up, sound needs to be enabled. QB_AUDIO_DRV and QB_AUDIO_OPT enable this.
Finally bump memory in runqemu to 2G.

For CI purposes, introduce a DISTRO_FEATURES flag 'AGLCI'.

v2: fix missing space in append
v3: qemuboot options fix
v4: QB_AUDIO_DRV defaults to alsa

Bug-AGL: SPEC-784

Change-Id: Ie9c9c2b7d8838b512f3f19b1e29952079039e0ab
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10387
Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>

meta-agl-bsp/conf/include/agl_qemux86-64.inc
meta-agl-distro/conf/distro/include/x86_64-tune.inc
meta-agl-distro/conf/distro/poky-agl.conf
templates/feature/agl-ci/99_local.conf.inc [new file with mode: 0644]

index 8db4a66..d9294ad 100644 (file)
@@ -22,3 +22,6 @@ DISTRO_FEATURES_append = " sota"
 
 # Root device
 ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
+
+# runqemu tweaks
+QB_OPT_APPEND_append = " -show-cursor"
index 9130173..023da85 100644 (file)
@@ -19,27 +19,18 @@ TUNE_FEATURES_tune-corei7-32 = "${TUNE_FEATURES_tune-x86} corei7"
 BASE_LIB_tune-corei7-32 = "lib"
 TUNE_PKGARCH_tune-corei7-32 = "corei7-32"
 PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-32} corei7-32"
-QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false"
-QB_CPU_corei7-32 = "-cpu Nehalem,check=false"
-QB_MACHINE_corei7-32 = "-machine q35"
 
 AVAILTUNES += "corei7-64"
 TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7"
 BASE_LIB_tune-corei7-64 = "lib64"
 TUNE_PKGARCH_tune-corei7-64 = "corei7-64"
 PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64"
-QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
-QB_CPU_corei7-64 = " -cpu Nehalem,check=false"
-QB_MACHINE_corei7-64 = "-machine q35"
 
 AVAILTUNES += "corei7-64-x32"
 TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7"
 BASE_LIB_tune-corei7-64-x32 = "libx32"
 TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32"
 PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32"
-QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false"
-QB_CPU_corei7-64-x32 = "-cpu Nehalem,check=false"
-QB_MACHINE_corei7-64-x32 = "-machine q35"
 
 TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'm64', '${X86ARCH64}', '' ,d)}"
 
@@ -49,8 +40,13 @@ TUNE_FEATURES_tune-qemux86-64 = "${TUNE_FEATURES_tune-x86-64} corei7"
 BASE_LIB_tune-qemux86-64 = "lib64"
 TUNE_PKGARCH_tune-qemux86-64 = "corei7-64"
 PACKAGE_EXTRA_ARCHS_tune-qemux86-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64"
-QEMU_EXTRAOPTIONS_qemux86-64 = " -cpu Nehalem,check=false"
-QB_CPU_qemux86-64 = " -cpu Nehalem,check=false"
-QB_CPU_KVM_x86 = "-cpu Nehalem,check=false"
-QB_CPU_KVM_x86-64 = "-cpu Nehalem,check=false"
-QB_MACHINE_qemux86-64 = "-machine q35"
+
+# QEMU / runqemu options (partly overrides qemuboot-x86.inc)
+QB_MACHINE = "-machine q35"
+QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64"
+QB_CPU_x86-64 = "-cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
+QB_CPU_KVM_x86-64 = "-cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt"
+
+QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=1024x768-32 oprofile.timer=1 uvesafb.task_timeout=-1"
+# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
+QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
index 47cb308..f852b50 100644 (file)
@@ -110,9 +110,12 @@ require conf/distro/include/${TARGET_ARCH}-tune.inc
 
 # Generic qemu and qemuboot (runqemu) enhancements
 # check qemuboot.bbclass
-# - use 1G RAM by default
-QB_MEM ?= "-m 1024"
-
+# - use 2G RAM by default
+QB_MEM ?= "-m 2048"
+# use pulseaudio on the host side - off as qemu-native is built with alsa
+#QB_AUDIO_DRV = "pa"
+# expose a virtual 'hda' sound card to the guest (arm/aarch64/x86-64)
+QB_AUDIO_OPT = "-soundhw hda"
 
 # Board templates can add extra IMAGE_FSTYPES through this.
 # It is added (late) through the AGL image recipes.
@@ -120,7 +123,7 @@ AGL_EXTRA_IMAGE_FSTYPES ??= ""
 AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
 #
 # Default IMAGE FSTYPES compressed tarball + ext4.xz
-AGL_DEFAULT_IMAGE_FSTYPES ?= "tar.xz ext4.xz"
+AGL_DEFAULT_IMAGE_FSTYPES ?= "tar.xz ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
 AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"
 
 # DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this)
diff --git a/templates/feature/agl-ci/99_local.conf.inc b/templates/feature/agl-ci/99_local.conf.inc
new file mode 100644 (file)
index 0000000..5386671
--- /dev/null
@@ -0,0 +1 @@
+DISTRO_FEATURES_append = " AGLCI"