From 7aeccbeaf418826795f7f1be4715d857628f8982 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 23 Nov 2022 15:37:20 -0500 Subject: agl-qemu-runner: Add recipes 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 (cherry picked from commit dce8116fb1a1b6f3c2976db126d9f923e2fe4c6f) --- .../files/agl-cluster-demo-platform-flutter.conf | 4 +++ .../files/agl-cluster-demo-platform.conf | 4 +++ .../qemu-config/files/agl-demo-platform.conf | 6 +++++ .../files/agl-ivi-demo-platform-flutter.conf | 6 +++++ ...emu-config-agl-cluster-demo-platform-flutter.bb | 29 ++++++++++++++++++++++ .../qemu-config-agl-cluster-demo-platform.bb | 29 ++++++++++++++++++++++ .../qemu-config/qemu-config-agl-demo-platform.bb | 29 ++++++++++++++++++++++ .../qemu-config-agl-ivi-demo-platform-flutter.bb | 29 ++++++++++++++++++++++ 8 files changed, 136 insertions(+) create mode 100644 recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf create mode 100644 recipes-config/qemu-config/files/agl-cluster-demo-platform.conf create mode 100644 recipes-config/qemu-config/files/agl-demo-platform.conf create mode 100644 recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf create mode 100644 recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb create mode 100644 recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb create mode 100644 recipes-config/qemu-config/qemu-config-agl-demo-platform.bb create mode 100644 recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb (limited to 'recipes-config') diff --git a/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf b/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf new file mode 100644 index 000000000..262f3c2d4 --- /dev/null +++ b/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf @@ -0,0 +1,4 @@ +QEMU_TASKSET_CPUS="4-7" +QEMU_SMP_OPT="-smp 4" +QEMU_MEM_OPT="-m 2G" +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-platform.conf b/recipes-config/qemu-config/files/agl-cluster-demo-platform.conf new file mode 100644 index 000000000..262f3c2d4 --- /dev/null +++ b/recipes-config/qemu-config/files/agl-cluster-demo-platform.conf @@ -0,0 +1,4 @@ +QEMU_TASKSET_CPUS="4-7" +QEMU_SMP_OPT="-smp 4" +QEMU_MEM_OPT="-m 2G" +QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/files/agl-demo-platform.conf b/recipes-config/qemu-config/files/agl-demo-platform.conf new file mode 100644 index 000000000..e72386789 --- /dev/null +++ b/recipes-config/qemu-config/files/agl-demo-platform.conf @@ -0,0 +1,6 @@ +QEMU_TASKSET_CPUS="0-3" +QEMU_SMP_OPT="-smp 4" +QEMU_MEM_OPT="-m 4G" +QEMU_INPUT_OPT="-device virtio-tablet-device" +QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" +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-platform-flutter.conf b/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf new file mode 100644 index 000000000..e72386789 --- /dev/null +++ b/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf @@ -0,0 +1,6 @@ +QEMU_TASKSET_CPUS="0-3" +QEMU_SMP_OPT="-smp 4" +QEMU_MEM_OPT="-m 4G" +QEMU_INPUT_OPT="-device virtio-tablet-device" +QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" +QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb new file mode 100644 index 000000000..c15528a6e --- /dev/null +++ b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb @@ -0,0 +1,29 @@ +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-platform-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" diff --git a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb new file mode 100644 index 000000000..4f9c5a92f --- /dev/null +++ b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb @@ -0,0 +1,29 @@ +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-platform" +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" diff --git a/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb b/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb new file mode 100644 index 000000000..1d5e0df22 --- /dev/null +++ b/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb @@ -0,0 +1,29 @@ +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-demo-platform" +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" diff --git a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb b/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb new file mode 100644 index 000000000..5efb7a96c --- /dev/null +++ b/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb @@ -0,0 +1,29 @@ +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-platform-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" -- cgit 1.2.3-korg