From 59377e574836bae58a4f2cf63ce74e5bd3d99790 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 20 Nov 2025 16:08:43 +0100 Subject: [PATCH] meta-digi-dey: add dey-image-chromium for ConnectCore 95 The new image runs the local ConnectCore demo application using chromium on the ccimx95. https://onedigi.atlassian.net/browse/DEL-9838 Signed-off-by: Javier Viguera --- .../ccimx95-dvk/bblayers.conf.sample | 1 + .../conf/templates/ccimx95-dvk/conf-notes.txt | 5 ++++ meta-digi-dey/conf/distro/dey.conf | 1 + .../connectcore-demo-example.bbappend | 20 ++++++++++++++ .../connectcore-demo-example-chromium.service | 26 +++++++++++++++++++ .../packagegroup-dey-chromium.bb | 11 ++++++++ .../recipes-core/images/dey-image-chromium.bb | 9 +++++++ 7 files changed, 73 insertions(+) create mode 100644 meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example.bbappend create mode 100644 meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-chromium.service create mode 100644 meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/packagegroups/packagegroup-dey-chromium.bb create mode 100644 meta-digi-dey/recipes-core/images/dey-image-chromium.bb diff --git a/meta-digi-arm/conf/templates/ccimx95-dvk/bblayers.conf.sample b/meta-digi-arm/conf/templates/ccimx95-dvk/bblayers.conf.sample index 6c4d4a430..ac7ef9d24 100644 --- a/meta-digi-arm/conf/templates/ccimx95-dvk/bblayers.conf.sample +++ b/meta-digi-arm/conf/templates/ccimx95-dvk/bblayers.conf.sample @@ -24,6 +24,7 @@ BBLAYERS ?= " \ ##DIGIBASE##/meta-flutter \ ##DIGIBASE##/meta-flutter/meta-flutter-apps \ ##DIGIBASE##/meta-clang \ + ##DIGIBASE##/meta-browser/meta-chromium \ ##DIGIBASE##/meta-digi/meta-digi-arm \ ##DIGIBASE##/meta-digi/meta-digi-dey \ " diff --git a/meta-digi-arm/conf/templates/ccimx95-dvk/conf-notes.txt b/meta-digi-arm/conf/templates/ccimx95-dvk/conf-notes.txt index 6db780179..ea31a59b3 100644 --- a/meta-digi-arm/conf/templates/ccimx95-dvk/conf-notes.txt +++ b/meta-digi-arm/conf/templates/ccimx95-dvk/conf-notes.txt @@ -5,6 +5,11 @@ Digi Embedded Yocto provides the following image recipes: By default the image is XWayland-based so it provides a full Weston desktop environment. + * dey-image-chromium: graphical Chromium image + + By default the image is XWayland-based so it provides a full Weston + desktop environment. + * dey-image-lvgl: graphical LVGL image A DRM-based image including an LVGL demo application. diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index 6a96c04de..403207b6a 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -43,6 +43,7 @@ INITRAMFS_IMAGE = '${@bb.utils.contains("KERNEL_IMAGETYPE", "fitImage", "${RECOV # DEY image features (alphabetical order) FEATURE_PACKAGES_dey-audio = "packagegroup-dey-audio" FEATURE_PACKAGES_dey-bluetooth = "packagegroup-dey-bluetooth" +FEATURE_PACKAGES_dey-chromium = "packagegroup-dey-chromium" FEATURE_PACKAGES_dey-debug = "packagegroup-dey-debug" FEATURE_PACKAGES_dey-examples = "packagegroup-dey-examples" FEATURE_PACKAGES_dey-flutter = "packagegroup-dey-flutter" diff --git a/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example.bbappend b/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example.bbappend new file mode 100644 index 000000000..979555544 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example.bbappend @@ -0,0 +1,20 @@ +# Copyright (C) 2025, Digi International Inc. + +FILESEXTRAPATHS:prepend := "${THISDIR}/connectcore-demo-example:" + +SRC_URI += "file://connectcore-demo-example-chromium.service" + +do_install:append() { + # Install the chromium systemd unit + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/connectcore-demo-example-chromium.service ${D}${systemd_system_unitdir}/ + fi +} + +PACKAGES =+ "${PN}-chromium" +FILES:${PN}-chromium += "${systemd_system_unitdir}/connectcore-demo-example-chromium.service" +RDEPENDS:${PN}-chromium = "${PN}-multimedia chromium-ozone-wayland" + +SYSTEMD_PACKAGES += "${PN}-chromium" +SYSTEMD_SERVICE:${PN}-chromium = "connectcore-demo-example-chromium.service" diff --git a/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-chromium.service b/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-chromium.service new file mode 100644 index 000000000..4b55dc6ab --- /dev/null +++ b/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-chromium.service @@ -0,0 +1,26 @@ +[Unit] +Description=ConnectCore demo example running on Chromium +After=weston.service graphical.target +Requires=weston.service +ConditionPathExists=/run/wayland-0 + +[Service] +Type=simple +Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket +Environment=WAYLAND_DISPLAY=wayland-0 +Environment=XDG_RUNTIME_DIR=/run +ExecStart=/usr/bin/chromium \ + --allow-file-access-from-files \ + --enable-features=UseOzonePlatform \ + --in-process-gpu \ + --incognito \ + --kiosk \ + --no-sandbox \ + --ozone-platform=wayland \ + file:///srv/www/index.html + +Restart=on-failure +RestartSec=30s + +[Install] +WantedBy=graphical.target diff --git a/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/packagegroups/packagegroup-dey-chromium.bb b/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/packagegroups/packagegroup-dey-chromium.bb new file mode 100644 index 000000000..fc2031991 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/chromium-browser-layer/recipes-digi/packagegroups/packagegroup-dey-chromium.bb @@ -0,0 +1,11 @@ +# Copyright (C) 2025, Digi International Inc. + +SUMMARY = "Chromium packagegroup for DEY" +DESCRIPTION = "Packages required to run the Digi Getting Started demo application on Chromium Wayland browser" + +inherit packagegroup + +RDEPENDS:${PN} += "\ + chromium-ozone-wayland \ + connectcore-demo-example-chromium \ +" diff --git a/meta-digi-dey/recipes-core/images/dey-image-chromium.bb b/meta-digi-dey/recipes-core/images/dey-image-chromium.bb new file mode 100644 index 000000000..6daab2892 --- /dev/null +++ b/meta-digi-dey/recipes-core/images/dey-image-chromium.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2025, Digi International Inc. + +require recipes-core/images/dey-image-graphical.inc + +DESCRIPTION = "DEY image with chromium browser" + +GRAPHICAL_CORE = "chromium" + +COMPATIBLE_MACHINE = "(ccimx95)"