From 2f6a12454e558f79f24d4f76bf9c6a16590a5bca Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Sun, 12 May 2024 15:28:59 -0400 Subject: 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 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29905 Tested-by: Jan-Simon Moeller Reviewed-by: Jan-Simon Moeller --- .../qemu-config/qemu-config-vmnet0.bb | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb (limited to 'meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb') diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb new file mode 100644 index 000000000..a5a12982e --- /dev/null +++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Setting files for QEMU networking for guest VMs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit systemd allarch + +SRC_URI = "file://vmnet0.netdev \ + file://vmnet0.network \ + file://bridge.conf \ + file://dnsmasq-qemu.conf \ + file://connman-nodnsproxy.conf \ +" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + # Install systemd-networkd vmnet0 configuration + install -d ${D}${systemd_unitdir}/network + install -m 0644 ${WORKDIR}/vmnet0.netdev ${D}${systemd_unitdir}/network/ + install -m 0644 ${WORKDIR}/vmnet0.network ${D}${systemd_unitdir}/network/ + + # Install QEMU bridge configuration + install -d ${D}${sysconfdir}/qemu + install -m 0644 ${WORKDIR}/bridge.conf ${D}${sysconfdir}/qemu/ + + # Configure dnsmasq to serve DHCP to the guests + install -d ${D}${sysconfdir}/dnsmasq.d + install -m 0644 ${WORKDIR}/dnsmasq-qemu.conf ${D}${sysconfdir}/dnsmasq.d/ + + # Disable ConnMan's local DNS proxy to not conflict with dnsmasq + install -d ${D}${systemd_system_unitdir}/connman.service.d/ + install -m 0644 ${WORKDIR}/connman-nodnsproxy.conf ${D}${systemd_system_unitdir}/connman.service.d/ +} + +FILES:${PN} += "${systemd_unitdir}/network ${systemd_system_unitdir}" + +RDEPENDS:${PN} += "agl-qemu-runner dnsmasq connman" -- cgit 1.2.3-korg