Adding New Hardware Support in Oniro Project

This section details the addition of new hardware to the supported set in Oniro Project. It is intended as a checklist for adding new boards to Oniro Project build system.

Before starting get familiar with Oniro Project Contribution Process.

Select Oniro Project Flavour

Oniro Project uses a notion of kernel specific flavours:

  • Linux flavour

  • Zephyr flavour

  • FreeRTOS flavour (experimental)

Flavours have predefined IMAGES and MACHINES.

A single board can be included in more than one flavour only when it has well maintained support in targeted kernels.

Add Required meta-layers

Oniro flavours configuration templates (stored in the flavours oniro repository subdirectory) consist of the following files:

Configuration Files

File Name



set of meta-layers for the specific flavour (it can be unified across multiple layers where there are no layers incompatibilities)


text snippet to be used as part of build logs


default flavour build configuration

Oniro Project build system uses *repo* tool for cloning required meta-layers into appropriate build directory structure (see Setting up a repo workspace). To include a new layer, it has to be added in two places of the oniro repository:

  • The manifest file

  • The flavours bblayers.conf.sample file

Test Image Backward Compatibility Of Newly Added Layers

New BSP layers cannot interfere / break already supported IMAGES / MACHINES.

Document and Advertise the New MACHINE Support

Newly added MACHINE shall be documented in: Hardware Support. Use an existing board documentation as template and populate it accordingly for your newly added machine.

The same machine needs to also be advertised in two places:

  • Flavour’s local.conf.sample as a commented out MACHINE variable value (tweak this step accordingly for default machine change)

  • Flavour’s conf-notes.txt to surface the support in build logs

Create Merge Requests

Create the Merge Request against the *dunfell* branch according to the Contributing Process for repositories: