summaryrefslogtreecommitdiffstats
path: root/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh
AgeCommit message (Collapse)AuthorFilesLines
2024-05-27Rework KVM demo configurationScott Murray1-71/+0
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
2023-11-22KVM demo updatesScott Murray1-1/+1
Changes: - Fix native-shell-client systemd unit to work with the changes made for SPEC-4714 (separate agl-compositor systemd unit, running as agl-driver). - Update agl-qemu-runner.sh for the SPEC-4714 changes. - Tweak cluster guest configuration to use just 2 cores and 1 GB of memory to free up resources for the host. - Add inverted psplash configuration that is pulled in for the KVM demo image when building with agl-demo-preload. This matches the inverted screen in the demo hardware. Bug-AGL: SPEC-4974 Change-Id: Ie57a3550c8c8b12fd64ee14a9f1fbf4a4c40da32 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29460 ci-image-boot-test: Jenkins Job builder account ci-image-build: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account
2023-01-29Run agl-compositor in system scope for QEMU+KVM demo imageScott Murray1-1/+1
To allow usefully depending on the native-shell-client "homescreen" application from the systemd units running QEMU, tweak things to drop the use of agl-session from the agl-kvm-demo-platform host image. The motivation for this is to have the VM guest start up ordering work as expected, avoiding unnecessary delays from race failures on boot. Changes: - Rework agl-kvm template to use conf/include/agl-kvm.inc include file to match other featurs and simplify development. - Add include files for the host ("default" in BitBake) and guest (so agl-kvm-guest) multiconfigs to allow disabling the agl-demo feature in the host build, which disables agl-session. - Update native-shell-client systemd unit to run at system scope and depend upon agl-compositor directly. - Update agl-qemu-runner systemd template unit to depend directly on native-shell-client. Note that a consequence of these changes is that building images other than agl-kvm-demo-platform when the "agl-kvm" feature is used will likely not yield the desired results. Future work will investigate avoiding this problem, or forcing explicit compatibility errors to avoid user confusion. Bug-AGL: SPEC-4618 Change-Id: I295caf2969c5f4179c93f1b57afa703f1a866457 Signed-off-by: Scott Murray <scott.murray@konsulko.com> (cherry picked from commit 94ee287730b16820003aece648e790923a9a5b79)
2023-01-29Update guest input and CAN configuration for QEMU+KVM demoScott Murray1-0/+1
Changes: - Tweak agl-qemu-runner to make CAN options configurable. - Update the IVI guest image agl-qemu-runner configurations to enable an emulated PCI CAN device mapped to the host can0. - Update the IVI guest image agl-qemu-runner configurations to change the input device to a USB passthrough corresponding to the bottom USB 2.0 connector of the 2x stack on the reference hardware, so that a USB touchscreen can be used for demos. Bug-AGL: SPEC-4618 Change-Id: I6b690377f5fe0a481e283d7370cbb165478ee8eb Signed-off-by: Scott Murray <scott.murray@konsulko.com> (cherry picked from commit 0eb0e7ad872bc03cbc8af5c95bfe0219ebf06bfd)
2023-01-29Rework guest network configuration for QEMU+KVM demoScott Murray1-4/+3
Changes: - Tweak agl-qemu-runner to make network options configurable. - Add qemu-config-vmnet0 recipe that installs the required configuration files to set up a vmnet0 bridge device for QEMU to add the guests to, and to run dnsmasq against it to provide set IPs (in 172.16.10.0/8) to known MAC addresses that can be used to get the IVI and IC guests at stable IP addresses. - As part of the above, disable connman DNS proxying to avoid conflicting with dnsmasq. This does mean this package should only be used for simple host images where applications can live with less dynamic DNS configuration behavior. - Update the various guest configuration files for agl-qemu-runner to set the new QEMU_NET_OPT variable as required. Bug-AGL: SPEC-4618 Change-Id: I81d2ea9f0605a8bca7ac17d6e8f33c0b1a9f2c46 Signed-off-by: Scott Murray <scott.murray@konsulko.com> (cherry picked from commit 0219e6547b627f45936599fa54e02cad27dee4f4)
2022-11-23agl-qemu-runner: Add recipesScott Murray1-0/+71
Add recipes for agl-qemu-runner.sh QEMU wrapper script and template systemd unit, and guest per-image configuration files and systemd unit links for the various demo platform images. The configurations for the demo images can be mixed and matched somewhat, but only one each of IVI and cluster should be used, as there are some static CPU assignments in the configurations. As well, this has only been tested on the AGL reference hardware at present, some rework will likely be required to support other platforms. There is room to add a bbclass to simplify the guest configuration recipes, but that has not been done for now as this approach may be temporary; a switch to libvirtd with appropriate configurations is likely. Bug-AGL: SPEC-4618 Change-Id: Ieefbd4081cca506f915957cc313411a5ed1ece5c Signed-off-by: Scott Murray <scott.murray@konsulko.com>