Supported Hardware¶
OrchestraOS hardware support is provided by the meta-orchestraos-bsp
layer. The layer currently provides machine configurations for the following
targets:
Name |
MACHINE |
CPU |
Link |
Picture |
|---|---|---|---|---|
EIG-M (Edge IoT Gateway M) |
|
NXP i.MX8M Plus |
|
|
EIG-M-DIN (Edge IoT Gateway M DIN Rail Version) |
|
NXP i.MX8M Plus |
|
|
EIG-MA (Edge IoT Gateway MA) |
|
NXP i.MX8M Quad |
|
|
EIG-XS (Edge IoT Gateway XS) |
|
NXP i.MX93 |
|
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.
MACHINE |
SoC |
Kernel source |
Kernel version / branch |
Bootloader source |
Bootloader version / branch |
|---|---|---|---|---|---|
|
i.MX8M Plus |
|
|
|
|
|
i.MX8M Plus |
|
|
|
|
|
i.MX8M Quad |
|
branch/SRCREV |
|
|
|
i.MX93 |
|
|
|
|
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.
MACHINE |
SoC family |
Secure boot type |
Signing features |
|---|---|---|---|
|
i.MX8M Plus |
HAB4 |
|
|
i.MX8M Plus |
HAB4 |
|
|
i.MX8M Quad |
HAB4 |
|
|
i.MX93 |
AHAB |
|
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:
MACHINE_FEATURES |
KERNEL_DEVICETREE_SUFFIX |
Selected default device tree |
|---|---|---|
|
|
|
|
|
|
neither feature present |
empty |
|
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:
MACHINE |
Default device tree |
|---|---|
|
|
|
|
|
|