-
Andrei Gherzan authored
Signed-off-by:
Andrei Gherzan <andrei.gherzan@huawei.com>
Andrei Gherzan authoredSigned-off-by:
Andrei Gherzan <andrei.gherzan@huawei.com>
Adding New Hardware Support in |main_project_name|
This section details the addition of new hardware to the supported set in |main_project_name|. It is intended as a checklist for adding new boards to |main_project_name| build system.
Before starting get familiar with |main_project_name| Contribution Process.
Contents
Select |main_project_name| Flavour
|main_project_name| 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:
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 |
|main_project_name| build system uses *repo* tool for cloning required meta-layers into appropriate build directory structure (see :ref:`Setting up a repo workspace <RepoWorkspace>`). 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: :ref:`Hardware Support <RepoWorkspace>`.
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 outMACHINE
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: