From b6bbacccbfba7d073c7970f67ea474600c2d54a7 Mon Sep 17 00:00:00 2001 From: Jan-Simon Möller Date: Tue, 25 Jul 2017 23:02:31 +0200 Subject: Fix runqemu by generating an ext4 image by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10389 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account --- meta-agl-bsp/conf/include/agl_qemux86-64.inc | 3 +++ .../conf/distro/include/x86_64-tune.inc | 24 +++++++++------------- meta-agl-distro/conf/distro/poky-agl.conf | 11 ++++++---- templates/feature/agl-ci/99_local.conf.inc | 1 + 4 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 templates/feature/agl-ci/99_local.conf.inc diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc index 8db4a66b9..d9294ad9e 100644 --- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc +++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc @@ -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" diff --git a/meta-agl-distro/conf/distro/include/x86_64-tune.inc b/meta-agl-distro/conf/distro/include/x86_64-tune.inc index 9130173fa..023da85b8 100644 --- a/meta-agl-distro/conf/distro/include/x86_64-tune.inc +++ b/meta-agl-distro/conf/distro/include/x86_64-tune.inc @@ -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" diff --git a/meta-agl-distro/conf/distro/poky-agl.conf b/meta-agl-distro/conf/distro/poky-agl.conf index 987fad1ee..362d1964c 100644 --- a/meta-agl-distro/conf/distro/poky-agl.conf +++ b/meta-agl-distro/conf/distro/poky-agl.conf @@ -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 index 000000000..5386671ba --- /dev/null +++ b/templates/feature/agl-ci/99_local.conf.inc @@ -0,0 +1 @@ +DISTRO_FEATURES_append = " AGLCI" -- cgit 1.2.3-korg