Supported Hardware

OrchestraOS hardware support is provided by the meta-orchestraos-bsp layer. The layer currently provides machine configurations for the following targets:

Supported hardware targets

Name

MACHINE

CPU

Link

Picture

EIG-M (Edge IoT Gateway M)

eigm

NXP i.MX8M Plus

https://cthings.co/products/edge-iot-gateways

EIG-M

EIG-M-DIN (Edge IoT Gateway M DIN Rail Version)

eigmdin

NXP i.MX8M Plus

https://cthings.co/products/edge-iot-gateways

EIG-M-DIN

EIG-MA (Edge IoT Gateway MA)

eigma

NXP i.MX8M Quad

https://cthings.co/hardware/asusiot

EIG-MA

EIG-XS (Edge IoT Gateway XS)

eigxs

NXP i.MX93

https://cthings.co/products/edge-iot-gateways

EIG-XS

The machine configuration files are stored under layers/meta-orchestraos-bsp/conf/machine. Hardware-specific kernel, bootloader, firmware, and signing integration live in the same meta-orchestraos-bsp layer.

Platform Integration Details

Kernel And Bootloader Sources

All listed machines select the NXP BSP path and use linux-imx as the IMX_DEFAULT_KERNEL provider. The BSP layer then overrides the upstream linux-imx source URI for selected machines to use board-vendor forks. U-Boot is built through u-boot-imx version 2024.04 with machine-specific source overrides.

Platform sources

MACHINE

SoC

Kernel source

Kernel version / branch

Bootloader source

Bootloader version / branch

eigm

i.MX8M Plus

linux-imx provider, Compulab linux-compulab source

linux-compulab_v6.6.52

u-boot-imx provider, Compulab u-boot-compulab source

2024.04, branch u-boot-compulab_v2024.04-2.2.0

eigmdin

i.MX8M Plus

linux-imx provider, Compulab linux-compulab source

linux-compulab_v6.6.52

u-boot-imx provider, Compulab u-boot-compulab source

2024.04, branch u-boot-compulab_v2024.04-2.2.0

eigma

i.MX8M Quad

linux-imx provider, ASUS linux-imx source

branch/SRCREV yocto-5.0-imx_8m

u-boot-imx provider, ASUS uboot-imx source

2024.04, branch yocto-5.0-imx_8m

eigxs

i.MX93

linux-imx provider, Compulab linux-compulab source

linux-compulab_v6.6.52-rt-iot-link-1.0.1

u-boot-imx provider, Compulab u-boot-compulab source

2024.04, branch u-boot-compulab_v2024.04

Secure Boot Type

Secure-boot signing is enabled through machine features. The supported BSP machines append both imx-boot-signature and linux-imx-signature to MACHINE_FEATURES. Those features select signed bootloader and signed kernel artifacts during the build.

Secure boot family

MACHINE

SoC family

Secure boot type

Signing features

eigm

i.MX8M Plus

HAB4

imx-boot-signature, linux-imx-signature

eigmdin

i.MX8M Plus

HAB4

imx-boot-signature, linux-imx-signature

eigma

i.MX8M Quad

HAB4

imx-boot-signature, linux-imx-signature

eigxs

i.MX93

AHAB

imx-boot-signature, linux-imx-signature

The HAB4/AHAB selection follows the NXP SoC family. i.MX8M-family targets use HAB4, while i.MX93 targets use AHAB. For key generation and signing-data layout, see Signing Keys Generation.

Device Tree Selection

Each machine defines a KERNEL_DEVICETREE_BASENAME and installs the device trees needed by that machine. The common eig.inc include derives KERNEL_DEVICETREE_DEFAULT from:

${KERNEL_DEVICETREE_BASENAME}${KERNEL_DEVICETREE_SUFFIX}

For most machines, the suffix is empty and the base device tree is selected. The EIG-M machine also supports add-on-module based selection through MACHINE_FEATURES:

EIG-M device-tree suffix selection

MACHINE_FEATURES

KERNEL_DEVICETREE_SUFFIX

Selected default device tree

m2tpm-module-present

-m2tpm

compulab/iot-gate-imx8plus-m2tpm.dtb

usbdev-module-present

-usbdev

compulab/iot-gate-imx8plus-usbdev.dtb

neither feature present

empty

compulab/iot-gate-imx8plus.dtb

If both EIG-M module features are present, m2tpm-module-present takes priority because it is checked first in eigm.conf.

Other machines currently use fixed default device trees:

Fixed default device trees

MACHINE

Default device tree

eigmdin

compulab/iotdin-imx8p.dtb

eigma

freescale/imx8mq-pe100a.dtb

eigxs

compulab/iot-link.dtb