diff options
author | Scott Murray <scott.murray@konsulko.com> | 2024-05-16 18:24:25 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2024-05-27 21:28:34 +0000 |
commit | b26515dcf2afc510cc59782f99965f10b96be433 (patch) | |
tree | 60cb8103f410306171ae487bd4784b0363403297 /meta-agl-kvm-demo | |
parent | 2e0fd28b2470f6d81bfb1b0b273af5742060ed6a (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')
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 \ |