Skip to content
Snippets Groups Projects
Commit 37e62ef4 authored by Gururaj Shetty's avatar Gururaj Shetty
Browse files

Add supported image, boards, and repository structure description

parent 959df37f
No related branches found
No related tags found
No related merge requests found
......@@ -10,9 +10,8 @@ Getting Started
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:
.. code-block:: console
$ mkdir ohos; cd ohos
$ repo init -u https://git.ostc-eu.org/OSTC/manifest.git -b develop
$ repo init -u https://git.ostc-eu.org/OSTC/manifest.git -b stable
$ repo sync
Above commands creates the following directory structure:
**For OHOS Developer**
If you are a developer and wants to contribute to OHOS, then clone the ‘develop’ branch by executing the following commands:
.. code-block:: console
$ mkdir ohos; cd ohos
$ repo init -u https://git.ostc-eu.org/OSTC/manifest.git -b develop
$ repo sync
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.
.. code-block:: console
$ TEMPLATECONF=../sources/meta-ohos/flavours/<lower_case_flavour> . ./sources/poky/oe-init-build-env build-<flavour>-<target_machine>
$ bitbake <image-name>
MACHINE variable can be set up in *conf/local.conf* file under build directory or via command line:
.. Note::
MACHINE variable can be set up in *conf/local.conf* file under build directory or via command line:
**Example:**
......@@ -84,41 +115,68 @@ MACHINE variable can be set up in *conf/local.conf* file under build directory o
OHOS Linux flavour
====================
OHOS Linux flavour is based on poky distribution and supports following images or machines:
OHOS Linux flavour is based on `poky` distribution. Current version supports the following images and machines:
**Supported images:**
* core-image-minimal
* core-image-full-cmdline
.. list-table:: Supported images
:widths: auto
:header-rows: 1
* - Image Name
- Size
- Description
* - openharmony-image-base
- Approximate 100-200 MB
- OpenHarmony image including the base OS software stack
* - openharmony-image-extra
- Approximate 100-200 MB
- OpenHarmony Wayland image including the base OS software stack
**Supported machines:**
* qemux86-64 (default)
* qemux86
* qemuarm
* qemuarm64
**Example:**
.. list-table:: Supported machines
:widths: auto
:header-rows: 1
* - Machine Name
- Details
* - qemux86-64 (default)
- Emulator
* - qemux86
- Emulator
* - qemuarm
- Emulator
* - qemuarm64
- Emulator
* - seco-intel-b68 (SECO SBC-B68)
- `Details <https://www.seco.com/en/products/sbc-b68-enuc>`_
* - stm32mp1-av96 (96Boards Avenger96)
- `Details <https://www.96boards.org/product/avenger96/>`_
* - seco-imx8mm-c61 (SECO SBC-C61)
- `Details <https://www.seco.com/en/products/sbc-c61>`_
**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:
.. code-block:: console
$ TEMPLATECONF=../sources/meta-ohos/flavours/linux . ./sources/poky/oe-init-build-env build-ohos-linux-qemux86-64
$ bitbake core-image-minimal
$ bitbake openharmony-image-base
You can test the image built for the qemux86-64 target by issuing:
**Step2:** Test the image built by executing the following test command considering **qemux86-64** machine as an example:
.. code-block:: console
$ runqemu qemux86-64 qemuparams="-nographic"
After successful bootup, you should see following:
**Result:** After successful bootup, you should see the following:
.. code-block:: console
Poky (Yocto Project Reference Distro) 3.1.4 qemux86-64 /dev/ttyS0
qemux86-64 login:
qemux86-64 login:
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>`_.
**Supported machines:**
* qemu-cortex-m3
* qemu-x86 (default)
.. list-table:: Supported machines
:widths: auto
:header-rows: 1
* - Machine Name
- Details
* - qemux86 (default)
- Emulator
* - qemu-cortex-m3
- Emulator
* - 96b-nitrogen (96Boards Nitrogen)
- `Details <https://www.96boards.org/product/nitrogen/>`_
* - 96b-avenger96 (96Boards Avenger96)
- `Details <https://www.96boards.org/product/avenger96/>`_
**Example:**
**Step1:** You can select the preferred image and machine to build your image. For example, for **qemux86* machine and **zephyr-philosophers** image, execute:
.. code-block:: console
$ TEMPLATECONF=../sources/meta-ohos/flavours/zephyr . ./sources/poky/oe-init-build-env build-ohos-zephyr-qemu-x86
$ bitbake zephyr-philosophers
You can test the image built for the qemu-x86 target by issuing:
**Step2:** Test the image built by executing the following test command considering **qemux86** machine as an example:
.. code-block:: console
$ DEPLOY_DIR_IMAGE=tmp-newlib/deploy/images/qemu-x86 runqemu qemu-x86
$ runqemu qemu-x86
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:
.. code-block:: console
$ TEMPLATECONF=../sources/meta-ohos/flavours/freertos . ./sources/poky/oe-init-build-env build-ohos-freertos-qemuarmv5
$ bitbake freertos-demo
You can test the image built for the qemuarmv5 target by issuing:
**Step2:** Test the image built by executing the following test command considering qemuarmv5 machine as an example:
.. code-block:: console
$ runqemu qemuarmv5
After successful bootup, you should see following:
**Result:** After successful bootup, you should see the following:
.. code-block:: console
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment