Adding New Hardware Support in All Scenarios OS

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

Before starting get familiar with All Scenarios OS Contribution Process.

Select All Scenarios OS Flavour

All Scenarios OS 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 distro/oniro/flavours directory) consist of the following files:

Configuration Files

File Name

Description

bblayers.conf.sample

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

conf-notes.txt

text snippet to be used as part of build logs

local.conf.sample

default flavour build configuration

All Scenarios OS 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: