diff options
author | Scott Murray <scott.murray@konsulko.com> | 2024-05-12 15:28:59 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2024-05-27 16:03:25 +0000 |
commit | 2e0fd28b2470f6d81bfb1b0b273af5742060ed6a (patch) | |
tree | bc485361a96ada08b826b02f7141ae5f7565c2f9 /recipes-extended/agl-qemu-runner | |
parent | ea7e39dc258c5e7d3a46ffb31b3321331ba9e900 (diff) |
Rework KVM demo configuration
Changes:
- Move KVM demo configuration and image recipes to a new sub-layer,
meta-agl-kvm-demo, to keep things that may not be buildable with
just the agl-demo feature separate to avoid confusion. It will
hopefully also avoid clutter in recipes-platform/images.
This sub-layer is pulled in when the agl-kvm setup feature is
given to aglsetup.sh.
- Remove the agl-kvm-host-kuksa and agl-kvm-host-audio setup
features.
- Add new *-guest and *-guest-preconfigured flavors of the Flutter
IVI and IC images under meta-agl-kvm-demo that that have the
desired configuration changes baked in.
- Add required qemu-config recipe variants for the new guest image
flavors. At the moment there is more duplication of configuration
for this than is desired, and some reworking of agl-qemu-runner
configuration may come as a follow up to avoid this.
- Remove qemu-config recipe variants for unused Qt guest images.
If it becomes desirable to use the Qt demo images as guests this
can be revisited.
- Added agl-kvm-demo-flutter-preconfigured image variant that
supports the full demo setup (i.e. "green machine" with steering
wheel, equivalent to CES 2024 demos).
NOTES:
- The agl-kvm-demo image remains and builds roughly the same image
as before, with the KUKSA.val databroker running in the IVI guest
and cluster support enabled. Replacing this image with a bbclass
abstraction and an e.g. agl-kvm-demo-flutter image is under
consideration.
Bug-AGL: SPEC-5138
Change-Id: I64936208fd032e5ba47366e3a7ff572dc18338e4
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29918
ci-image-build: Jenkins Job builder account
Tested-by: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Diffstat (limited to 'recipes-extended/agl-qemu-runner')
3 files changed, 0 insertions, 108 deletions
diff --git a/recipes-extended/agl-qemu-runner/agl-qemu-runner.bb b/recipes-extended/agl-qemu-runner/agl-qemu-runner.bb deleted file mode 100644 index b3e3a67dd..000000000 --- a/recipes-extended/agl-qemu-runner/agl-qemu-runner.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "AGL simple QEMU runner script" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit systemd allarch - -SRC_URI = "file://agl-qemu-runner.sh \ - file://agl-qemu-runner@.service \ -" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install() { - # Install template unit - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/agl-qemu-runner@.service ${D}${systemd_system_unitdir}/ - - # Install script - install -D -m 0755 ${WORKDIR}/agl-qemu-runner.sh ${D}${sbindir}/agl-qemu-runner.sh -} - -FILES:${PN} += "${systemd_system_unitdir}" - -RDEPENDS:${PN} += "bash qemu" diff --git a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh deleted file mode 100755 index ab3a02c91..000000000 --- a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: Apache-2.0 - -if [ -z "$1" ]; then - echo "Usage: ${basename $0} <image name>" - exit 1 -fi -image="$1" - -conf="/etc/agl-qemu-runner/${image}.conf" -if [ ! -f "$conf" ]; then - echo "No configuration file $conf" - exit 1 -fi - -. $conf - -arch="$(uname -m)" -if [ -z "$QEMU_IMAGE_ARCH" ]; then - QEMU_IMAGE_ARCH="virtio-${arch}" -fi - -disk="/var/lib/machines/${image}/${image}-${QEMU_IMAGE_ARCH}.ext4" -if [ ! -f "$disk" ]; then - echo "No disk image for $image" - exit 1 -fi -kernel="/var/lib/machines/${image}/Image-${QEMU_IMAGE_ARCH}.bin" -if [ ! -f "$kernel" ]; then - echo "No kernel for $image" - exit 1 -fi - -TASKSET_CMD="" -if [ -n "$QEMU_TASKSET_CPUS" ]; then - TASKSET_CMD="taskset -c ${QEMU_TASKSET_CPUS}" -fi - -export SDL_VIDEODRIVER=wayland -export XDG_RUNTIME_DIR=/run/user/1001 -# The following may be needed if the socket is not wayland-0, as SDL -# seems to lack detection logic for that case. -#export WAYLAND_DISPLAY=wayland-1 - -# This sets the XDG app id, which we need for setting outputs with -# agl-compositor -export SDL_VIDEO_WAYLAND_WMCLASS="${image}" - -${TASKSET_CMD} \ -qemu-system-${arch} \ - -enable-kvm \ - -machine virt,gic-version=max,iommu=smmuv3 \ - -cpu host \ - ${QEMU_SMP_OPT} \ - ${QEMU_MEM_OPT} \ - -kernel $kernel \ - -append "${QEMU_KERNEL_CMDLINE_APPEND}" \ - -drive id=disk0,file=${disk},format=raw,if=none \ - -serial mon:pty \ - -object rng-random,filename=/dev/urandom,id=rng0 \ - -device virtio-blk-device,drive=disk0 \ - -device virtio-rng-device,rng=rng0 \ - ${QEMU_NET_OPT} \ - ${QEMU_INPUT_OPT} \ - -global virtio-mmio.force-legacy=false \ - -device virtio-gpu-gl-device \ - -display sdl,gl=on -vga std \ - ${QEMU_AUDIO_OPT} \ - ${QEMU_CAN_OPT} \ - ${QEMU_EXTRA_OPT} \ - -full-screen diff --git a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service deleted file mode 100644 index d19c529f0..000000000 --- a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Requires=native-shell-client.service -After=native-shell-client.service - -[Service] -Type=simple -ExecStart=/usr/sbin/agl-qemu-runner.sh %i -#Restart=on-failure -Restart=no - -[Install] -WantedBy=multi-user.target |