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 --- .../files/agl-cluster-demo-flutter.conf | 5 --- .../qemu-config/files/agl-cluster-demo-qt.conf | 5 --- .../qemu-config/files/agl-ivi-demo-flutter.conf | 12 ------- .../qemu-config/files/agl-ivi-demo-qt.conf | 12 ------- recipes-config/qemu-config/files/bridge.conf | 1 - .../qemu-config/files/connman-nodnsproxy.conf | 3 -- recipes-config/qemu-config/files/dnsmasq-qemu.conf | 4 --- recipes-config/qemu-config/files/vmnet0.netdev | 3 -- recipes-config/qemu-config/files/vmnet0.network | 7 ---- .../qemu-config-agl-cluster-demo-flutter.bb | 29 ----------------- .../qemu-config/qemu-config-agl-cluster-demo-qt.bb | 29 ----------------- .../qemu-config-agl-ivi-demo-flutter.bb | 29 ----------------- .../qemu-config/qemu-config-agl-ivi-demo-qt.bb | 29 ----------------- recipes-config/qemu-config/qemu-config-vmnet0.bb | 38 ---------------------- 14 files changed, 206 deletions(-) delete mode 100644 recipes-config/qemu-config/files/agl-cluster-demo-flutter.conf delete mode 100644 recipes-config/qemu-config/files/agl-cluster-demo-qt.conf delete mode 100644 recipes-config/qemu-config/files/agl-ivi-demo-flutter.conf delete mode 100644 recipes-config/qemu-config/files/agl-ivi-demo-qt.conf delete mode 100644 recipes-config/qemu-config/files/bridge.conf delete mode 100644 recipes-config/qemu-config/files/connman-nodnsproxy.conf delete mode 100644 recipes-config/qemu-config/files/dnsmasq-qemu.conf delete mode 100644 recipes-config/qemu-config/files/vmnet0.netdev delete mode 100644 recipes-config/qemu-config/files/vmnet0.network delete mode 100644 recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter.bb delete mode 100644 recipes-config/qemu-config/qemu-config-agl-cluster-demo-qt.bb delete mode 100644 recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter.bb delete mode 100644 recipes-config/qemu-config/qemu-config-agl-ivi-demo-qt.bb delete mode 100644 recipes-config/qemu-config/qemu-config-vmnet0.bb (limited to 'recipes-config/qemu-config') diff --git a/recipes-config/qemu-config/files/agl-cluster-demo-flutter.conf b/recipes-config/qemu-config/files/agl-cluster-demo-flutter.conf deleted file mode 100644 index 99d1f10c9..000000000 --- a/recipes-config/qemu-config/files/agl-cluster-demo-flutter.conf +++ /dev/null @@ -1,5 +0,0 @@ -QEMU_TASKSET_CPUS="4-7" -QEMU_SMP_OPT="-smp 2" -QEMU_MEM_OPT="-m 1G" -QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0" -QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/files/agl-cluster-demo-qt.conf b/recipes-config/qemu-config/files/agl-cluster-demo-qt.conf deleted file mode 100644 index 1ecefc477..000000000 --- a/recipes-config/qemu-config/files/agl-cluster-demo-qt.conf +++ /dev/null @@ -1,5 +0,0 @@ -QEMU_TASKSET_CPUS="4-7" -QEMU_SMP_OPT="-smp 4" -QEMU_MEM_OPT="-m 2G" -QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0" -QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/files/agl-ivi-demo-flutter.conf b/recipes-config/qemu-config/files/agl-ivi-demo-flutter.conf deleted file mode 100644 index 7ff32bc18..000000000 --- a/recipes-config/qemu-config/files/agl-ivi-demo-flutter.conf +++ /dev/null @@ -1,12 +0,0 @@ -QEMU_TASKSET_CPUS="0-3" -QEMU_SMP_OPT="-smp 4" -QEMU_MEM_OPT="-m 4G" -# With touchscreen plugged into the bottom connector of the 2x USB 2.0 -# on the reference hardware -QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1" -# Fallback for touchscreen or other pointing device plugged in elsewhere -#QEMU_INPUT_OPT="-device virtio-tablet-device" -QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" -QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0" -QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0" -QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/files/agl-ivi-demo-qt.conf b/recipes-config/qemu-config/files/agl-ivi-demo-qt.conf deleted file mode 100644 index 7ff32bc18..000000000 --- a/recipes-config/qemu-config/files/agl-ivi-demo-qt.conf +++ /dev/null @@ -1,12 +0,0 @@ -QEMU_TASKSET_CPUS="0-3" -QEMU_SMP_OPT="-smp 4" -QEMU_MEM_OPT="-m 4G" -# With touchscreen plugged into the bottom connector of the 2x USB 2.0 -# on the reference hardware -QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1" -# Fallback for touchscreen or other pointing device plugged in elsewhere -#QEMU_INPUT_OPT="-device virtio-tablet-device" -QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" -QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0" -QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0" -QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/files/bridge.conf b/recipes-config/qemu-config/files/bridge.conf deleted file mode 100644 index 72c73f39f..000000000 --- a/recipes-config/qemu-config/files/bridge.conf +++ /dev/null @@ -1 +0,0 @@ -allow vmnet0 diff --git a/recipes-config/qemu-config/files/connman-nodnsproxy.conf b/recipes-config/qemu-config/files/connman-nodnsproxy.conf deleted file mode 100644 index 9d7f74b8f..000000000 --- a/recipes-config/qemu-config/files/connman-nodnsproxy.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Service] -ExecStart= -ExecStart=/usr/sbin/connmand -n --nodnsproxy diff --git a/recipes-config/qemu-config/files/dnsmasq-qemu.conf b/recipes-config/qemu-config/files/dnsmasq-qemu.conf deleted file mode 100644 index 4ab6ee3bf..000000000 --- a/recipes-config/qemu-config/files/dnsmasq-qemu.conf +++ /dev/null @@ -1,4 +0,0 @@ -interface=vmnet0 -dhcp-range=172.16.10.1,172.16.10.5,255.255.255.0,12h -dhcp-host=52:54:00:12:00:02,172.16.10.2 -dhcp-host=52:54:00:12:00:03,172.16.10.3 diff --git a/recipes-config/qemu-config/files/vmnet0.netdev b/recipes-config/qemu-config/files/vmnet0.netdev deleted file mode 100644 index e25453174..000000000 --- a/recipes-config/qemu-config/files/vmnet0.netdev +++ /dev/null @@ -1,3 +0,0 @@ -[NetDev] -Name=vmnet0 -Kind=bridge diff --git a/recipes-config/qemu-config/files/vmnet0.network b/recipes-config/qemu-config/files/vmnet0.network deleted file mode 100644 index 600f8ac01..000000000 --- a/recipes-config/qemu-config/files/vmnet0.network +++ /dev/null @@ -1,7 +0,0 @@ -[Match] -Name=vmnet0 - -[Network] -Address=172.16.10.1/24 -IPForward=yes -IPMasquerade=yes diff --git a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter.bb b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter.bb deleted file mode 100644 index f0bc93fd3..000000000 --- a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Setting files for agl-cluster-demo-plaform-flutter guest VM" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -inherit systemd allarch - -SRC_URI = "file://${QEMU_IMAGE}.conf" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -QEMU_IMAGE = "agl-cluster-demo-flutter" -QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service" - -do_install() { - # Install template unit links - install -d ${D}${systemd_system_unitdir} - ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT} - install -d ${D}${systemd_system_unitdir}/multi-user.target.wants - ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT} - - # Install conf file - install -d ${D}${sysconfdir}/agl-qemu-runner - install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/ -} - -FILES:${PN} += "${systemd_system_unitdir}" - -RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0" diff --git a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-qt.bb b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-qt.bb deleted file mode 100644 index e22e40271..000000000 --- a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-qt.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Setting files for agl-cluster-demo-plaform guest VM" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -inherit systemd allarch - -SRC_URI = "file://${QEMU_IMAGE}.conf" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -QEMU_IMAGE = "agl-cluster-demo-qt" -QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service" - -do_install() { - # Install template unit links - install -d ${D}${systemd_system_unitdir} - ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT} - install -d ${D}${systemd_system_unitdir}/multi-user.target.wants - ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT} - - # Install conf file - install -d ${D}${sysconfdir}/agl-qemu-runner - install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/ -} - -FILES:${PN} += "${systemd_system_unitdir}" - -RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0" diff --git a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter.bb b/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter.bb deleted file mode 100644 index a9f2be43a..000000000 --- a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Setting files for agl-ivi-demo-plaform-flutter guest VM" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -inherit systemd allarch - -SRC_URI = "file://${QEMU_IMAGE}.conf" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -QEMU_IMAGE = "agl-ivi-demo-flutter" -QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service" - -do_install() { - # Install template unit links - install -d ${D}${systemd_system_unitdir} - ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT} - install -d ${D}${systemd_system_unitdir}/multi-user.target.wants - ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT} - - # Install conf file - install -d ${D}${sysconfdir}/agl-qemu-runner - install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/ -} - -FILES:${PN} += "${systemd_system_unitdir}" - -RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0" diff --git a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-qt.bb b/recipes-config/qemu-config/qemu-config-agl-ivi-demo-qt.bb deleted file mode 100644 index 46e043c05..000000000 --- a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-qt.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Setting files for agl-demo-plaform guest VM" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -inherit systemd allarch - -SRC_URI = "file://${QEMU_IMAGE}.conf" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -QEMU_IMAGE = "agl-ivi-demo-qt" -QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service" - -do_install() { - # Install template unit links - install -d ${D}${systemd_system_unitdir} - ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT} - install -d ${D}${systemd_system_unitdir}/multi-user.target.wants - ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT} - - # Install conf file - install -d ${D}${sysconfdir}/agl-qemu-runner - install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/ -} - -FILES:${PN} += "${systemd_system_unitdir}" - -RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0" diff --git a/recipes-config/qemu-config/qemu-config-vmnet0.bb b/recipes-config/qemu-config/qemu-config-vmnet0.bb deleted file mode 100644 index a5a12982e..000000000 --- a/recipes-config/qemu-config/qemu-config-vmnet0.bb +++ /dev/null @@ -1,38 +0,0 @@ -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