Introduction to meta-orchestraos¶
This repository provides the OrchestraOS Yocto distribution layer
(meta-orchestraos), related meta-orchestraos-* layers, and the CI/KAS
manifests used to build OrchestraOS images.
Scope¶
meta-orchestraos contains:
Distribution configuration (
conf/distro/*.confandconf/distro/include/*.inc)Image recipes (
recipes-core/images/*) defining what goes into OrchestraOS imagesPolicy and integration recipes (systemd, udev, partition mounting, NetworkManager, Docker, SSH, default user, etc.)
Dynamic layer bbappends to apply BSP or feature-specific tweaks without forking upstream layers
KAS manifests (
ci/orcos/*.yml) to assemble reproducible builds locally and in CI
To check the currently supported Yocto release, see LAYERSERIES_COMPAT_cthingsco-orchestraos in conf/layer.conf.
Layer responsibilities¶
The documentation in this chapter focuses on the OrchestraOS-owned layers:
meta-orchestraosMain distribution layer. It defines distros, image recipes, common package policy, the default LVM-based storage layout, initramfs integration, systemd units, udev rules, NetworkManager integration, SSH configuration, and the default user setup.
meta-orchestraos-bspHardware enablement layer for supported CTHINGS.CO gateways. It provides machine configurations such as
eigm,eigmdin,eigma, andeigxs, plus board-specific kernel, bootloader, firmware, OP-TEE, ATF, and signing integration.meta-orchestraos-miscShared helper layer for extra distro configuration and WIC partition templates used by the reference image layouts.
meta-orchestraos-raucRAUC update integration layer. It defines RAUC image and bundle behavior, slot metadata, bootloader update handling, and hawkBit updater integration.
meta-orchestraos-cryptOptional storage encryption integration layer. It extends the base partitioning and initramfs flow when encrypted LVM-backed runtime storage is required. Access to this layer is restricted - please contact support@cthings.co for more information.
Key concepts¶
- Distribution (DISTRO)
Controls global policies and feature sets. This repository defines distros such as:
orcos-cmdlineorcos-fborcos-xwayland
- Machine (MACHINE)
Target hardware platform provided by
meta-orchestraos-bsp(e.g.eigm,eigmdin,eigma,eigxs).- Features (DISTRO_FEATURES)
Used to enable or disable optional subsystems such as:
update mechanism:
raucorrdfm(mutually exclusive)security:
tpm2
- Images
OrchestraOS images are defined in
recipes-core/imagesand include minimal and full cmdline variants.
Image And Distro Variants¶
The distro selects the global feature set, while the image recipe selects the installed package set and generated artifacts.
DISTRO |
Purpose |
Main feature policy |
|---|---|---|
|
Headless command-line systems. |
Removes graphical stacks and disables the framebuffer console. |
|
Framebuffer-oriented systems. |
Enables |
|
Graphical systems using Wayland/XWayland. |
Enables |
Image |
Purpose |
Notes |
|---|---|---|
|
Base OrchestraOS image. |
Includes the common runtime set, read-only rootfs policy, OpenSSH, NetworkManager, Docker, TPM2 packages, OrchestraD, and LVM tooling. |
|
Command-line image for key-based SSH access. |
Extends the minimal image with OrchestraOS SSH key configuration. |
|
Command-line image for password-based SSH access. |
Uses the default user/password policy instead of the SSH key package. |
|
Wayland GUI image. |
Extends the minimal image with Weston, XWayland, GPU/display packages, splash support, and hardware codecs. |
|
Initramfs paired with rootfs-on-LVM images. |
Provides the early userspace modules that create, populate, activate, or unlock LVM-backed storage before the real rootfs is mounted. |
Update features are selected through DISTRO_FEATURES. rauc and rdfm
are mutually exclusive; enabling one of them pulls in the matching image
configuration from recipes-core/images. RAUC is the preferred update
mechanism for OrchestraOS images.