Skip to content

Architecture

meta-tolomeo separates concerns across four Yocto layers so that application content, distribution policy, hardware support, and virtualization can evolve independently. A BSP integrator can replace or customize any single layer without affecting the others.


Target Platforms

Hardware support for production deployment is provided by meta-tolomeo-nxp, targeting the NXP i.MX8M Plus. Three QEMU machines are provided for development and testing.

Platform Machine Use Case
NXP i.MX8M Plus (BSP-specific) Production hardware deployment
QEMU x86-64 tolomeo-qemux86-64 Development and testing
QEMU AArch64 tolomeo-qemuarm64 Development and testing
QEMU ARM tolomeo-qemuarm Development and testing

Layer Structure

meta-tolomeo-app

Application and service definitions: ToloMEO Manager (web-based management interface), system monitoring (Glances), OTA update services, and security tooling (Lynis, hardening checker). Separated from the distro layer so image composition can change without touching security policy.

meta-tolomeo-distro

Distribution configurations, security hardening flags, and custom bbclasses. Provides two distributions: tolomeo-prod (security-hardened, audit, integrity, secure-boot enabled) and tolomeo-devel (debug tools, ptest enabled). Centralizes cross-cutting concerns — SBOM generation, update infrastructure, integrity checking — decoupled from both hardware and application layers.

meta-tolomeo-nxp

Hardware BSP layer for NXP i.MX8M Plus: machine configurations, hardware drivers, board support, and NXP CST integration for secure boot and image signing. Hardware-specific details are isolated here so they do not propagate to the distro or application layers.

meta-tolomeo-qemu

QEMU machine definitions for x86-64, AArch64, and ARM targets. Provides VirtIO device support, shared folder configuration, and overlay disk support. These machines provide a functionally equivalent virtual target so the full distro and application stack can be developed and tested without hardware.


Build Configurations

Kas configuration files are currently provided for the QEMU x86-64 target. All follow the naming convention:

<machine>_<distro>_<image>.yml
Configuration Machine Distribution Image Purpose
tolomeo-qemux86-64_tolomeo-prod_image-prod.yml x86-64 QEMU tolomeo-prod image-prod Production image
tolomeo-qemux86-64_tolomeo-devel_image-devel.yml x86-64 QEMU tolomeo-devel image-devel Development image
tolomeo-qemux86-64_tolomeo-prod_image-test-prod.yml x86-64 QEMU tolomeo-prod image-test-prod Security validation
tolomeo-qemux86-64_imgen-update-full.yml x86-64 QEMU tolomeo-prod imgen-update-full SWUpdate full package
tolomeo-qemux86-64_imgen-update-delta.yml x86-64 QEMU tolomeo-prod imgen-update-delta SWUpdate delta package

Layer and image structure — light mode Layer and image structure — dark mode