summaryrefslogtreecommitdiffstats
path: root/meta-agl-kvm-demo
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2024-05-16 18:24:25 -0400
committerScott Murray <scott.murray@konsulko.com>2024-05-27 21:28:34 +0000
commitb26515dcf2afc510cc59782f99965f10b96be433 (patch)
tree60cb8103f410306171ae487bd4784b0363403297 /meta-agl-kvm-demo
parent2e0fd28b2470f6d81bfb1b0b273af5742060ed6a (diff)
Add gateway demo
Changes: - Add recipe for AGL VSS to MQTT proxy daemon - Update agl-vcar.dbc CAN database definition to add signals useful for demoing the proxy (per V2C EG discussion). - Add a patch to kuksa-dbc-feeder to allow sensor signal updates to generate CAN messages in output mode. - Add VSS vspec variants to define the desired CAN input and output support for the various kuksa-dbc-feeder instances in the default and full gateway demos. - Add configurations for kuksa-dbc-feeder for the running the default gateway demo with CAN output from a demo control panel instance on a single CAN interface, as well as a fuller setup with a second kuksa-dbc-feeder running against a second CAN interface on the gateway to handle the demo steering wheel and HVAC support. - Add gateway demo specific configuration files for various KUKSA.val databroker clients to override the databroker location. - Add agl-gateway-demo and agl-gateway-demo-preconfigured images for the default and full demos. - Add *-preconfigured-gateway image flavors for the Flutter IVI, IC, and KVM demo images that support running with the databroker on the gateway. NOTES: - The *-preconfigured-gateway images assume the gateway has an IP address of 192.168.10.4. - Required changes to the agl-demo-control-panel application and the addition of a agl-ivi-demo-control-panel-preconfigured-gateway image will come in a subsequent change. Bug-AGL: SPEC-5107, SPEC-5138 Change-Id: I9797aa72737af7af3d791a5151198f80b6d90e0d Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29921 ci-image-boot-test: Jenkins Job builder account ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account
Diffstat (limited to 'meta-agl-kvm-demo')
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf6
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf13
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb3
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb3
-rw-r--r--meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb5
-rw-r--r--meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb7
-rw-r--r--meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb18
-rw-r--r--meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb8
8 files changed, 58 insertions, 5 deletions
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf
new file mode 100644
index 000000000..37003abde
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured-gateway.conf
@@ -0,0 +1,6 @@
+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"
+QEMU_XDG_APP_ID="agl-cluster-demo"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf
new file mode 100644
index 000000000..c2d420eb6
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured-gateway.conf
@@ -0,0 +1,13 @@
+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"
+QEMU_XDG_APP_ID="agl-ivi-demo"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb
new file mode 100644
index 000000000..45568faf1
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured-gateway.bb
@@ -0,0 +1,3 @@
+require qemu-config-agl-cluster-demo-flutter-guest.bb
+
+QEMU_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured-gateway"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb
new file mode 100644
index 000000000..a8c8fa754
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured-gateway.bb
@@ -0,0 +1,3 @@
+require qemu-config-agl-ivi-demo-flutter-guest.bb
+
+QEMU_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured-gateway"
diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb
new file mode 100644
index 000000000..2377d87d5
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-platform/images/agl-cluster-demo-flutter-guest-preconfigured-gateway.bb
@@ -0,0 +1,5 @@
+require agl-cluster-demo-flutter-guest-preconfigured.bb
+
+SUMMARY = "AGL KVM + gateway demo preconfigured guest cluster Flutter image"
+
+FLUTTER_CLUSTER_DASHBOARD_CONF = "flutter-cluster-dashboard-conf-gateway-demo"
diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb
new file mode 100644
index 000000000..2e9b2ccb8
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-platform/images/agl-ivi-demo-flutter-guest-preconfigured-gateway.bb
@@ -0,0 +1,7 @@
+require agl-ivi-demo-flutter-guest-preconfigured.bb
+
+SUMMARY = "AGL KVM + gateway demo preconfigured guest IVI Flutter image"
+
+FLUTTER_ICS_HOMESCREEN_CONF = "flutter-ics-homescreen-conf-kvm-gateway-demo"
+ONDEMANDNAVI_CONF = "ondemandnavi-conf-gateway-demo"
+TBTNAVI_CONF = "tbtnavi-conf-gateway-demo"
diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb
new file mode 100644
index 000000000..b98f52eef
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured-gateway.bb
@@ -0,0 +1,18 @@
+require agl-kvm-demo-flutter-preconfigured.bb
+
+SUMMARY = "AGL KVM + gateway preconfigured Flutter demo image"
+
+# We only want KUKSA.val client support, not the databroker (since
+# that will be running on the gateway)
+IMAGE_FEATURES:remove = "kuksa-val-databroker"
+
+# Not needed if we're not running the databroker
+IMAGE_INSTALL:remove = "kuksa-databroker-agl-demo-cluster"
+
+IMAGE_INSTALL += "\
+ agl-service-hvac-conf-gateway-demo \
+ agl-service-audiomixer-conf-gateway-demo \
+"
+
+GUEST_VM1_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured-gateway"
+GUEST_VM2_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured-gateway"
diff --git a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb
index 9b02c68ce..ac392cbc5 100644
--- a/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb
+++ b/meta-agl-kvm-demo/recipes-platform/images/agl-kvm-demo-flutter-preconfigured.bb
@@ -1,11 +1,9 @@
-LICENSE = "MIT"
-
require agl-kvm-demo.bb
-SUMMARY = "AGL KVM+QEMU preconfigured Flutter demo image"
+SUMMARY = "AGL KVM preconfigured Flutter demo image"
-# If building with "agl-kvm-host-kuksa", the databroker and likely
-# some clients run on the host
+# The databroker runs on the host to simplify things when running
+# clients on the host instead of just in the guests.
IMAGE_FEATURES += " \
kuksa-val-databroker \
kuksa-val-databroker-client \