Compare commits
10 Commits
9de4842dc3
...
74628a35ce
| Author | SHA1 | Date |
|---|---|---|
|
|
74628a35ce | |
|
|
1acb052f68 | |
|
|
d58d20358e | |
|
|
14cd1e7966 | |
|
|
89c42a5b0f | |
|
|
ed9beccdcd | |
|
|
9be4f140d2 | |
|
|
0248d4a728 | |
|
|
18a23d71d6 | |
|
|
7950ac2460 |
|
|
@ -19,7 +19,7 @@ Digi Embedded Yocto provides the following image recipes:
|
|||
Expansion of custom Digi core-image-base including full Flutter
|
||||
framework support.
|
||||
|
||||
* dey-image-container-manager: container management image
|
||||
* dey-image-containers: container management image
|
||||
|
||||
Minimal image including the trimmed Podman and LXC runtimes used to
|
||||
manage container artifacts on target.
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Digi Embedded Yocto provides the following image recipes:
|
|||
Expansion of custom Digi core-image-base including full Flutter
|
||||
framework support.
|
||||
|
||||
* dey-image-container-manager: container management image
|
||||
* dey-image-containers: container management image
|
||||
|
||||
Minimal image including the trimmed Podman and LXC runtimes used to
|
||||
manage container artifacts on target.
|
||||
|
|
|
|||
|
|
@ -179,7 +179,6 @@ fi
|
|||
# - Erase the 'update' partition
|
||||
# - Configure recovery to wipe 'update' partition
|
||||
# - Run 'recovery' and let the system boot after
|
||||
# NOTE: insert some 'usb reset' commands to avoid EHCI timeouts
|
||||
setenv bootcmd "
|
||||
env default -a;
|
||||
setenv dualboot ${dualboot};
|
||||
|
|
@ -228,9 +227,6 @@ setenv bootcmd "
|
|||
exit;
|
||||
fi;
|
||||
fi;
|
||||
if test "${INSTALL_MEDIA}" = "usb"; then
|
||||
usb reset;
|
||||
fi;
|
||||
echo \"\";
|
||||
echo \"\";
|
||||
echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_a\";
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ CONTAINERS_BACKEND_TOOLS = "lxc"
|
|||
the trimmed runtime packages to keep the image smaller.
|
||||
|
||||
The layer explicitly depends on `meta-virtualization`.
|
||||
`dey-image-dcp` and`dey-image-containers` requires
|
||||
`dey-image-dcp` and `dey-image-containers` require
|
||||
`DISTRO_FEATURES:append = " virtualization"` in `local.conf`.
|
||||
|
||||
The `dey-image-dcp` workflow produces:
|
||||
|
|
@ -78,13 +78,11 @@ The script generates exactly one runtime artifact per execution.
|
|||
Notes:
|
||||
|
||||
- `--output-dir` is optional. If omitted, the script writes the DCP to the current directory.
|
||||
- If the input manifest omits `package_id`, the generator derives the final
|
||||
`package_id` from `name` and appends a unique suffix using the `created_at`
|
||||
timestamp encoded in base36 milliseconds.
|
||||
- If the input manifest provides `package_id`, that value is kept unchanged.
|
||||
- The output file name is always derived from the generated package ID and
|
||||
- The input manifest must provide `package_id`, which becomes the stable target
|
||||
identifier.
|
||||
- The output file name is always derived from the package ID and
|
||||
manifest fields as:
|
||||
- `<generated_package_id>-<runtime>-<device_types[0]>.tar.gz`
|
||||
- `<package_id>-<runtime>-<device_types[0]>.tar.gz`
|
||||
- For Podman payloads, the final internal payload name is always `payload/image.tar`
|
||||
- For LXC payloads, the generator requires a Yocto-style `.tar.gz` bundle, validates its layout,
|
||||
and stores it inside the DCP using the original file name and format without re-packaging it.
|
||||
|
|
@ -104,14 +102,13 @@ python3 meta-digi-containers/scripts/generate-dcp.py \
|
|||
|
||||
This generates a bundle named like:
|
||||
|
||||
- `./flutter-demo-<base36_created_at_ms>-podman-ccmp25-dvk.tar.gz`
|
||||
- `./flutter-demo-podman-ccmp25-dvk.tar.gz`
|
||||
|
||||
In those manifests:
|
||||
|
||||
- `name` is the stable logical container name stored on the target.
|
||||
- `package_id` is the stable target identifier.
|
||||
- `friendly_name` is the user-facing label shown by the manager output when available.
|
||||
- the final `package_id` is generated automatically from `name` unless the
|
||||
input manifest provides an explicit `package_id`
|
||||
- the final DCP manifest does not include a second container identifier
|
||||
- `registration_defaults` is limited to local manager policy such as `autostart`,
|
||||
`monitor`, and `restart`; this release does not generate DRM-specific defaults
|
||||
|
||||
|
|
@ -182,19 +179,12 @@ Outputs are generated in:
|
|||
|
||||
Final outputs:
|
||||
|
||||
- `${DCP_NAME}-<base36_created_at_ms>-podman-<device_types[0]>.tar.gz`
|
||||
- `${DCP_NAME}-<base36_created_at_ms>-lxc-<device_types[0]>.tar.gz`
|
||||
- `${DCP_NAME}-podman-<device_types[0]>.tar.gz`
|
||||
- `${DCP_NAME}-lxc-<device_types[0]>.tar.gz`
|
||||
|
||||
Notes:
|
||||
|
||||
- The generator script derives `package_id` from the input `name` only when the
|
||||
manifest does not provide one explicitly. In that default case it appends a
|
||||
base36-encoded millisecond timestamp suffix, stores the generated `package_id`
|
||||
in the final `manifest.json`, and uses it in the DCP file name.
|
||||
- In Yocto builds, `dey-image-dcp` keeps that unique-name behavior and
|
||||
removes older DCP artifacts with the same `${DCP_NAME}` prefix before
|
||||
generating the new one, so the deploy directory does not keep accumulating
|
||||
previous builds of the same container/runtime.
|
||||
- In Yocto builds, `dey-image-dcp` sets `package_id` to `${DCP_NAME}`.
|
||||
|
||||
Intermediate rootfs and OCI outputs are kept available for incremental rebuilds.
|
||||
The LXC bundle and Podman archive are generated as temporary payloads while
|
||||
|
|
@ -281,7 +271,6 @@ Supported placeholders in LXC config fragments:
|
|||
The artifact manifest is generated automatically and includes:
|
||||
|
||||
- `package_id`
|
||||
- `name` [stable logical container name]
|
||||
- `friendly_name` [optional user-facing display name]
|
||||
- `version`
|
||||
- `runtime`
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "flutter-demo",
|
||||
"package_id": "flutter-demo",
|
||||
"friendly_name": "Flutter Demo",
|
||||
"version": "1.0",
|
||||
"runtime": "lxc",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "flutter-demo",
|
||||
"package_id": "flutter-demo",
|
||||
"friendly_name": "Flutter Demo",
|
||||
"version": "1.0",
|
||||
"runtime": "podman",
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ SRC_URI = " \
|
|||
file://cc-containerd.service \
|
||||
file://cc-containerd-shutdown.service \
|
||||
"
|
||||
SRC_URI[archive.md5sum] = "6d84c6f5ec9dc94d542c91001ff5fd36"
|
||||
SRC_URI[archive.sha256sum] = "ce24c4fde041a69a7646eb9bad4891d2eb91291f3534e71444552d3830247aaa"
|
||||
SRC_URI[archive.md5sum] = "2ae2c3c09e9bf223e7de4ec0994376f3"
|
||||
SRC_URI[archive.sha256sum] = "627d90eb53a48bf978fb6993f661af3dba8e6bf091d295ff481457e4c0cb96a0"
|
||||
|
||||
S = "${WORKDIR}/${BP}"
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ do_clean_old_container_artifacts() {
|
|||
fi
|
||||
|
||||
for runtime in lxc podman; do
|
||||
old_artifact_glob="${DEPLOY_DIR_IMAGE}/${DCP_NAME}-*-${runtime}-${primary_device_type}.tar.gz"
|
||||
bbnote "Removing old ${runtime} container artifacts matching ${old_artifact_glob}"
|
||||
rm -f ${old_artifact_glob}
|
||||
artifact_path="${DEPLOY_DIR_IMAGE}/${DCP_NAME}-${runtime}-${primary_device_type}.tar.gz"
|
||||
bbnote "Removing old ${runtime} container artifact ${artifact_path}"
|
||||
rm -f "${artifact_path}"
|
||||
done
|
||||
}
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ do_image_container_artifacts() {
|
|||
manifest_path="$2"
|
||||
create_args="$3"
|
||||
build_id="$4"
|
||||
NAME="${DCP_NAME}" \
|
||||
PACKAGE_ID="${DCP_NAME}" \
|
||||
FRIENDLY_NAME="${CONTAINER_FRIENDLY_NAME}" \
|
||||
VERSION="${CONTAINER_ARTIFACT_VERSION}" \
|
||||
RUNTIME="${runtime}" \
|
||||
|
|
@ -87,7 +87,7 @@ do_image_container_artifacts() {
|
|||
LABELS_JSON="${CONTAINER_ARTIFACT_LABELS_JSON}" \
|
||||
python3 -c 'import json, os, sys; \
|
||||
parse_bool = lambda name: os.environ[name].strip().lower() == "true"; \
|
||||
payload = {"name": os.environ["NAME"], "friendly_name": os.environ["FRIENDLY_NAME"], "version": os.environ["VERSION"], "runtime": os.environ["RUNTIME"], "registration_defaults": {"autostart": parse_bool("AUTOSTART"), "monitor": parse_bool("MONITOR"), "restart": {"enabled": parse_bool("RESTART_ENABLED"), "max_retries": int(os.environ["RESTART_MAX_RETRIES"]), "window": int(os.environ["RESTART_WINDOW"]), "retry_delay": int(os.environ["RESTART_RETRY_DELAY"]) } }, "device_types": json.loads(os.environ["DEVICE_TYPES_JSON"]), "firmware_versions": os.environ["FIRMWARE_VERSIONS"], "build_id": os.environ["BUILD_ID"], "description": os.environ["DESCRIPTION"], "labels": json.loads(os.environ["LABELS_JSON"])}; \
|
||||
payload = {"package_id": os.environ["PACKAGE_ID"], "friendly_name": os.environ["FRIENDLY_NAME"], "version": os.environ["VERSION"], "runtime": os.environ["RUNTIME"], "registration_defaults": {"autostart": parse_bool("AUTOSTART"), "monitor": parse_bool("MONITOR"), "restart": {"enabled": parse_bool("RESTART_ENABLED"), "max_retries": int(os.environ["RESTART_MAX_RETRIES"]), "window": int(os.environ["RESTART_WINDOW"]), "retry_delay": int(os.environ["RESTART_RETRY_DELAY"]) } }, "device_types": json.loads(os.environ["DEVICE_TYPES_JSON"]), "firmware_versions": os.environ["FIRMWARE_VERSIONS"], "build_id": os.environ["BUILD_ID"], "description": os.environ["DESCRIPTION"], "labels": json.loads(os.environ["LABELS_JSON"])}; \
|
||||
create_args = os.environ["CREATE_ARGS"].strip(); \
|
||||
payload.update({"create_args": create_args} if create_args else {}); \
|
||||
open(sys.argv[1], "w", encoding="utf-8").write(json.dumps(payload, indent=2) + "\n")' \
|
||||
|
|
|
|||
|
|
@ -15,32 +15,15 @@ import sys
|
|||
import tarfile
|
||||
import tempfile
|
||||
|
||||
BASE36_ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz"
|
||||
|
||||
def fail(message: str) -> "NoReturn":
|
||||
raise SystemExit(f"error: {message}")
|
||||
|
||||
|
||||
def to_base36(value: int) -> str:
|
||||
if value < 0:
|
||||
fail("cannot convert negative values to base36")
|
||||
if value == 0:
|
||||
return "0"
|
||||
result: list[str] = []
|
||||
while value:
|
||||
value, remainder = divmod(value, 36)
|
||||
result.append(BASE36_ALPHABET[remainder])
|
||||
return "".join(reversed(result))
|
||||
|
||||
|
||||
def format_created_at(timestamp: datetime) -> str:
|
||||
return timestamp.astimezone(timezone.utc).isoformat(timespec="milliseconds").replace("+00:00", "Z")
|
||||
|
||||
|
||||
def build_generated_package_id(base_name: str, *, created_at_ms: int) -> str:
|
||||
return f"{base_name}-{to_base36(created_at_ms)}"
|
||||
|
||||
|
||||
def load_manifest(path: Path) -> dict:
|
||||
try:
|
||||
data = json.loads(path.read_text(encoding="utf-8"))
|
||||
|
|
@ -100,11 +83,7 @@ def validate_labels(value: object) -> dict:
|
|||
|
||||
|
||||
def validate_manifest(data: dict) -> dict:
|
||||
package_id = data.get("package_id")
|
||||
if package_id is not None:
|
||||
if not isinstance(package_id, str) or not package_id.strip():
|
||||
fail("invalid manifest: package_id must be a non-empty string")
|
||||
package_id = package_id.strip()
|
||||
package_id = validate_string(data, "package_id", path="manifest")
|
||||
version = validate_string(data, "version", path="manifest")
|
||||
runtime = validate_string(data, "runtime", path="manifest")
|
||||
if runtime not in {"lxc", "podman"}:
|
||||
|
|
@ -136,7 +115,6 @@ def validate_manifest(data: dict) -> dict:
|
|||
description = data.get("description", "")
|
||||
if description is not None and not isinstance(description, str):
|
||||
fail("invalid manifest: description must be a string")
|
||||
name = validate_string(data, "name", path="manifest")
|
||||
friendly_name = data.get("friendly_name")
|
||||
if friendly_name is not None:
|
||||
if not isinstance(friendly_name, str) or not friendly_name.strip():
|
||||
|
|
@ -145,7 +123,6 @@ def validate_manifest(data: dict) -> dict:
|
|||
|
||||
validated = {
|
||||
"package_id": package_id,
|
||||
"name": name,
|
||||
"friendly_name": friendly_name,
|
||||
"version": version,
|
||||
"runtime": runtime,
|
||||
|
|
@ -269,7 +246,6 @@ def build_final_manifest(
|
|||
) -> dict:
|
||||
output = {
|
||||
"package_id": package_id,
|
||||
"name": base["name"],
|
||||
"friendly_name": base["friendly_name"],
|
||||
"version": base["version"],
|
||||
"runtime": base["runtime"],
|
||||
|
|
@ -332,18 +308,10 @@ def main() -> int:
|
|||
fail(f"cannot create output directory {output_dir}: {exc}")
|
||||
|
||||
created_at_dt = datetime.now(timezone.utc)
|
||||
created_at_ms = int(created_at_dt.timestamp() * 1000)
|
||||
created_at = format_created_at(created_at_dt)
|
||||
generated_package_id = (
|
||||
manifest["package_id"]
|
||||
if manifest["package_id"]
|
||||
else build_generated_package_id(
|
||||
manifest["name"],
|
||||
created_at_ms=created_at_ms,
|
||||
)
|
||||
)
|
||||
package_id = manifest["package_id"]
|
||||
output_name = build_output_name(
|
||||
package_id=generated_package_id,
|
||||
package_id=package_id,
|
||||
runtime=manifest["runtime"],
|
||||
device_type=manifest["device_types"][0],
|
||||
)
|
||||
|
|
@ -375,7 +343,7 @@ def main() -> int:
|
|||
|
||||
final_manifest = build_final_manifest(
|
||||
manifest,
|
||||
package_id=generated_package_id,
|
||||
package_id=package_id,
|
||||
artifact_type=artifact_type,
|
||||
digest=digest,
|
||||
size_bytes=size_bytes,
|
||||
|
|
@ -389,7 +357,7 @@ def main() -> int:
|
|||
lambda dst: write_default_readme(
|
||||
dst,
|
||||
manifest,
|
||||
package_id=generated_package_id,
|
||||
package_id=package_id,
|
||||
created_at=created_at,
|
||||
payload_name=payload_name,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ require conf/distro/poky.conf
|
|||
YOCTO_MAJOR = "5"
|
||||
YOCTO_MINOR = "0"
|
||||
DEY_RELEASE = "4"
|
||||
DEY_BUILD = "1"
|
||||
DEY_BUILD = "2"
|
||||
|
||||
# Firmware version of the system.
|
||||
DEY_FIRMWARE_VERSION ?= "${YOCTO_MAJOR}.${YOCTO_MINOR}.${DEY_RELEASE}.${DEY_BUILD}"
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ SRC_URI += "\
|
|||
file://connectcore-demo-server.service \
|
||||
file://suspendtarget-connectcore-demo-server.service \
|
||||
"
|
||||
SRC_URI:append:ccimx95 = " file://0001-multimedia-replace-MOV-video-with-MP4.patch;patchdir=${WORKDIR}/git"
|
||||
|
||||
S = "${WORKDIR}/git/connectcore-demo-example"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
From: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
|
||||
Date: Wed, 27 May 2026 16:33:46 +0200
|
||||
Subject: [PATCH 1/1] multimedia: replace MOV video with MP4
|
||||
|
||||
This is required for Chromium demo.
|
||||
|
||||
Upstream-Status: Inappropriate [DEY specific]
|
||||
|
||||
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
|
||||
---
|
||||
connectcore-demo-example/multimedia.html | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/connectcore-demo-example/multimedia.html b/connectcore-demo-example/multimedia.html
|
||||
index 4073ff0..0327c1a 100644
|
||||
--- a/connectcore-demo-example/multimedia.html
|
||||
+++ b/connectcore-demo-example/multimedia.html
|
||||
@@ -189,9 +189,9 @@ Digi Demo - Multimedia
|
||||
<div class="row">
|
||||
<div class="col-xl-2 multimedia-container">
|
||||
<div class="d-flex justify-content-center align-items-center multimedia-box">
|
||||
- <div class="multimedia-item" onclick="location.href='multimedia_viewer.html?exampleURL=videos/big_buck_bunny.mov'">
|
||||
- <div class="multimedia-title">Big Buck Bunny (MOV)</div>
|
||||
- <img src="./static/images/big_buck_bunny.jpg" alt="Big Buck Bunny (MOV)">
|
||||
+ <div class="multimedia-item" onclick="location.href='multimedia_viewer.html?exampleURL=videos/big_buck_bunny.mp4'">
|
||||
+ <div class="multimedia-title">Big Buck Bunny (MP4)</div>
|
||||
+ <img src="./static/images/big_buck_bunny.jpg" alt="Big Buck Bunny (MP4)">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 2020-2022, Digi International Inc.
|
||||
# Copyright (C) 2020-2026, Digi International Inc.
|
||||
|
||||
SUMMARY = "Short videos to demonstrate video playback on the WPE WebKit"
|
||||
DESCRIPTION = "This package contains fragments of the short film 'Big Buck Bunny', which are used to demonstrate how WebKit makes use of hardware acceleration for video decoding"
|
||||
|
|
@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e
|
|||
|
||||
SRC_URI = "${DIGI_PKG_SRC}/${BPN}-${PV}.tar.gz"
|
||||
|
||||
SRC_URI[md5sum] = "d22cc0fa20fde187455b27a799d2f9e6"
|
||||
SRC_URI[sha256sum] = "97389f33d98c52d4311117366f0aa8dc78d00f51a787697af349de4668ccdbf6"
|
||||
SRC_URI[md5sum] = "5b4cf8fe878adc6105df88866038e6db"
|
||||
SRC_URI[sha256sum] = "18d64ec814d1a318641b1afc2ff51f93326390fc07dc2b79e53fb92477a0e8bd"
|
||||
|
||||
S = "${WORKDIR}/${PN}-${PV}"
|
||||
|
||||
|
|
@ -20,6 +20,10 @@ VIDEO_FORMATS = " \
|
|||
mov \
|
||||
webm \
|
||||
"
|
||||
VIDEO_FORMATS:ccimx95 = " \
|
||||
mp4 \
|
||||
webm \
|
||||
"
|
||||
# Name of the video sample
|
||||
VIDEO_NAME = "big_buck_bunny"
|
||||
|
||||
|
|
@ -41,3 +45,5 @@ FILES:${PN} = "/${WEBSERVER_ROOT}/*"
|
|||
|
||||
# Don't generate dbg or dev packages
|
||||
PACKAGES = "${PN}"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
|
@ -567,8 +567,14 @@ if grep -qs 'DVK' /proc/device-tree/model; then
|
|||
else
|
||||
BOARD_TYPE="SBC"
|
||||
fi
|
||||
BOARD_VARIANT="$(cat /proc/device-tree/digi,hwid,variant | tr -d '\0')"
|
||||
BOARD_SN="$(cat /proc/device-tree/digi,hwid,sn | tr -d '\0')"
|
||||
SOM_SN="$(cat /proc/device-tree/digi,hwid,sn | tr -d '\0')"
|
||||
SOM_VARIANT="$(cat /proc/device-tree/digi,hwid,variant | tr -d '\0')"
|
||||
SOM_VERSION="$(($(cat /proc/device-tree/digi,hwid,hv | tr -d '\0' )))"
|
||||
if [ -e /proc/device-tree/digi,smarcid,variant ]; then
|
||||
SMARC_SN="$(cat /proc/device-tree/digi,smarcid,sn | tr -d '\0')"
|
||||
SMARC_VARIANT="$(cat /proc/device-tree/digi,smarcid,variant | tr -d '\0')"
|
||||
SMARC_VERSION="$(($(cat /proc/device-tree/digi,smarcid,hv | tr -d '\0' )))"
|
||||
fi
|
||||
BOARD_VERSION="$(cat /proc/device-tree/digi,carrierboard,version | tr -d '\0')"
|
||||
[ -e "/proc/device-tree/digi,carrierboard,id" ] && BOARD_ID="$(cat /proc/device-tree/digi,carrierboard,id | tr -d '\0')"
|
||||
[ -e "/proc/device-tree/cpus/rev" ] && SOC_REV="$(cat /proc/device-tree/cpus/rev | tr -d '\0')"
|
||||
|
|
@ -627,7 +633,14 @@ print_qr || exit $?
|
|||
echo ""
|
||||
|
||||
echo "|||:Component|:Version"
|
||||
DUT_HEADER="SN-${BOARD_SN}, ${MACHINE} ${BOARD_VARIANT} ${BOARD_TYPE}v${BOARD_VERSION}"
|
||||
if [ -n "${SMARC_VARIANT}" ]; then
|
||||
DUT_HEADER="SN-${SMARC_SN}, ${MACHINE} ${SMARC_VARIANT} SMARCv${SMARC_VERSION}"
|
||||
else
|
||||
DUT_HEADER="SN-${SOM_SN}, ${MACHINE} ${SOM_VARIANT} SOMv${SOM_VERSION}"
|
||||
fi
|
||||
|
||||
DUT_HEADER="${DUT_HEADER} ${BOARD_TYPE}v${BOARD_VERSION}"
|
||||
|
||||
if [ -n "${BOARD_ID}" ]; then
|
||||
DUT_HEADER="${DUT_HEADER} board_ID=${BOARD_ID}"
|
||||
fi
|
||||
|
|
|
|||
10
sdk/build.sh
10
sdk/build.sh
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# build.sh
|
||||
#
|
||||
# Copyright (C) 2013-2025 by Digi International Inc.
|
||||
# Copyright (C) 2013-2026 by Digi International Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
|
|
@ -275,22 +275,22 @@ done<<-_EOF_
|
|||
ccimx6ulrftest dey-image-mft-module-rf
|
||||
ccmp15-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl,dey-image-flutter
|
||||
ccmp13-dvk core-image-base
|
||||
ccmp25-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl,dey-image-flutter,dey-image-container-manager
|
||||
ccmp25-dvk dey-image-qt,dey-image-webkit,dey-image-lvgl,dey-image-flutter,dey-image-containers
|
||||
ccimx91-dvk core-image-base
|
||||
ccimx93-dvk dey-image-qt,dey-image-lvgl
|
||||
ccimx95-dvk dey-image-qt,dey-image-chromium,dey-image-lvgl,dey-image-flutter,dey-image-container-manager
|
||||
ccimx95-dvk dey-image-qt,dey-image-chromium,dey-image-lvgl,dey-image-flutter,dey-image-containers
|
||||
_EOF_
|
||||
|
||||
# Set additional layers required for yocto images
|
||||
declare -A EXTRA_YOCTO_LAYERS
|
||||
EXTRA_YOCTO_LAYERS["dey-image-container-manager"]="\
|
||||
EXTRA_YOCTO_LAYERS["dey-image-containers"]="\
|
||||
meta-openembedded/meta-filesystems \
|
||||
meta-virtualization \
|
||||
meta-digi/meta-digi-containers"
|
||||
|
||||
# Set additional configurations required for yocto images
|
||||
declare -A EXTRA_YOCTO_CONF
|
||||
EXTRA_YOCTO_CONF["dey-image-container-manager"]="\
|
||||
EXTRA_YOCTO_CONF["dey-image-containers"]="\
|
||||
DISTRO_FEATURES:append = \" virtualization\" \
|
||||
"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue