Applies to meta-iot2050 v1.6.0+ (modular layer architecture). See the
top-level README.md and doc/layer-architecture.md for the broader
architectural rationale.
meta-example provides demonstration and showcase content, helper tools, and
integration glue used by the canonical Example images
(kas-iot2050-example.yml and its SWUpdate variant). It focuses on
discoverability and fast hardware bring-up rather than a production-minimal
footprint.
| Category | Purpose |
|---|---|
| Demo applications | Illustrate IO, networking, and service configuration. |
| Example implementations | Provide a reference integration for downstream layers. |
| Development helpers | Include convenience utilities (debug, scripting). |
| Web interface components | Offer configuration and monitoring front-ends. |
| Serial & board tools | Supply mode switching, board info, and setup helpers. |
The image recipe (iot2050-image-example.bb) pulls in a curated, evolving set
of packages via feature flags (see below).
| Functional Area | Examples (non-exhaustive – consult recipe for current list) |
|---|---|
| GPIO / EIO | EIO manager, GPIO tools |
| Web UI | Configuration / dashboard interface |
| Serial utilities | RS232/RS485 mode tools |
| Monitoring | Basic system and service status helpers |
| Developer aids | Selected Python / Node.js tools (trimmed for size) |
The exact package list may change. Rely on feature flags and KAS fragments instead of hard-coding package names in downstream projects.
conf/include/iot2050-features.inc centralizes soft switches consumed by image
recipes. Relevant to this layer:
# (Excerpt – see file for full list and defaults)
IOT2050_NODE_RED_SUPPORT ?= "0"
IOT2050_SM_SUPPORT ?= "0"
IOT2050_HAILO_SUPPORT ?= "0"
The example image descriptors (non-minimal) set these flags to enable bundled content. When starting from the minimal base descriptor, you must add the optional fragments instead:
./kas-container build \
kas/iot2050.yml:kas/opt/example.yml:kas/opt/node-red.yml:kas/opt/sm.ymlFast path (already includes this layer + demos, Node-RED, SM):
./kas-container build kas-iot2050-example.ymlSWUpdate A/B variant (dual rootfs + .swu output):
./kas-container build kas-iot2050-swupdate.ymlFrom a lean minimal base, opt-in only to this layer’s demos:
./kas-container build kas/iot2050.yml:kas/opt/example.ymlAdd Node-RED & SM (achieves feature parity with the full example path):
./kas-container build \
kas/iot2050.yml:kas/opt/example.yml:kas/opt/node-red.yml:kas/opt/sm.ymlTwo common paths exist: start broad to explore, or start lean for control.
Path A: Fast evaluation
- Build the reference Example image:
kas-iot2050-example.yml. This includes this layer, Node-RED, SM, and other helper tooling. - Optionally, test A/B updates with
kas-iot2050-swupdate.yml. - Make a list of what you actually used and need for your product.
Path B: Controlled minimal start
- Build the minimal base image:
kas/iot2050.yml. - Add only the required optional fragments (e.g.,
example.ymlfor demos, plusnode-red.yml,sm.yml, etc.). - Create a downstream layer (e.g.,
meta-yourprod) with an image recipe that derives from the minimal one. - Introduce feature flags following the established pattern and collect them in an include file.
- From there, do what you need—prune demos and add reproducibility or security fragments only when they become relevant.
This layer is for demonstration purposes. Before productization:
- Replace any demo certificates or keys.
- Remove unneeded developer utilities introduced by this layer.
- Rebuild with reproducibility fragments (
package-lock.yml, optionaldebian-mirror.yml) for audit trails.
- Top-level composition & fragments:
doc/build-config.md - Layer architecture & migration:
doc/layer-architecture.md - SWUpdate flow:
doc/swupdate.md
See the top-level MAINTAINERS file in the repository root.
MIT License – See COPYING.MIT in the repository root.