This topic provides an overview of meta-ohos architecture, tools, and source code required to build your |main_project_name| image. The meta-ohos is an umbrella meta-layer containing all layers required to build
|main_project_name| Image on existing kernel meta-layers.
.. toctree::
:depth: 2
.. contents::
:depth: 3
**Figure 1 meta-ohos overview**
...
...
@@ -38,16 +37,28 @@ To start with, you need to install git-repo by executing the following command.
Downloading Source Code
********************************
Once git-repo has been installed, clone the necessary repositories by executing the following commands:
Once git-repo has been installed, you can clone the necessary repositories.
**For OHOS User**
If you are a user and wants to build your product on top of OHOS, then clone the ‘stable’ branch by executing the following commands:
The preceding commands creates the following directory structure (layers):
.. code-block:: console
./ohos/
...
...
@@ -59,21 +70,41 @@ Once git-repo has been installed, clone the necessary repositories by executing
├── <various yocto layers>
└── poky
.. list-table:: meta-ohos
:widths: auto
:header-rows: 1
* - Placeholder Name
- Description
* - meta-freertos
- FreeRTOS distro layer compatible with OpenEmbedded.
* - meta-ohos
- A set of meta-layers for building Open Harmony OS.
* - meta-openembedded
- Layers, recipes, packages, and source material for developing a image.
* - meta-zephyr
- Layers required for building Zephyr images.
* - <various yocto layers>
- Layers required to build yacto images.
* - poky
- Layers required to build customised embedded device images.
.. _building-image:
Building and Running |main_project_name| image
************************************************
|main_project_name| can be hosted on top of variety of kernels. Currently supported kernels (a.k.a. OHOS flavours) are Linux, Zephyr, and FreeRTOS (experimental).
|main_project_name| can be hosted on top of a variety of kernels. Currently supported kernels (a.k.a. OHOS flavours) are Linux, Zephyr, and FreeRTOS (experimental).
To build OHOS flavour, use the following command syntax:
You can use the following syntax to build the OHOS flavour of your choice.
**Step1:** You can select the preferred image and machine to build your image. For example, for **qemux86-64** machine and **openharmony-image-base** image, execute:
Default login is root without a password. After login you should see following prompt:
The default login as root without a password. After login you should see the following prompt:
.. code-block:: console
...
...
@@ -137,31 +195,44 @@ or close qemu using key combination:
OHOS Zephyr flavour
====================
OHOS Zephyr flavour is based on zephyr distribution and supports following images or machines:
OHOS Zephyr flavour is based on zephyr distribution and supports the following images or machines:
**Supported images:**
* zephyr-philosophers
* Zephyr comes with multiple sample applications, for more details on available recipes, see `sources/meta-zephyr/recipes-kernel/zephyr-kernel/`. You can add your own recipes to use sample applications provided with Zephyr. For more details, `Click <https://github.com/zephyrproject-rtos/zephyr/tree/master/samples>`_.
**Step1:** You can select the preferred image and machine to build your image. For example, for **qemux86* machine and **zephyr-philosophers** image, execute:
After successful bootup, you should see following:
**Result:** After successful bootup, you should see the following:
.. code-block:: console
...
...
@@ -179,30 +250,45 @@ To exit qemu, use key combination:
OHOS FreeRTOS flavour
======================
OHOS FreeRTOS flavour is based on freertos distribution and supports following images or machines:
OHOS FreeRTOS flavour is based on `freertos` distribution and supports the following images and smachines:
**Supported images:**
* freertos-demo
.. list-table:: Supported machines
:widths: auto
:header-rows: 1
* - Machine Name
- Details
* - freertos-demo
- Emulator
**Supported machines:**
* qemuarmv5
.. list-table:: Supported machines
:widths: auto
:header-rows: 1
* - Machine Name
- Details
* - qemuarmv5
- Emulator
**Example:**
**Step1:** You can select the preferred image and machine to build your image. For example, for **qemuarmv5** machine and **freertos-demo** image, execute: