Skip to content
Snippets Groups Projects

meta-openharmony

meta-openharmony is a bitbake layer, containing recipes for building OpenHarmony software components.

Contributing

See the CONTRIBUTING.md file.

License

See the LICENSES subdirectory.

Dependencies

URI: https://gitlab.eclipse.org/eclipse/oniro-core/oniro.git
layers: meta-oniro-staging
branch: kirkstone

URI: git://git.openembedded.org/bitbake
branch: 2.0

URI: https://git.openembedded.org/openembedded-core
layers: meta
branch: kirkstone

URI: https://git.openembedded.org/meta-openembedded
layers: meta-oe meta-python
branch: master

URI: https://github.com/kraj/meta-clang.git
branch: master

General usage

In order to build with this layer, you need to use a compatible host OS. See https://docs.yoctoproject.org/3.1.8/brief-yoctoprojectqs/brief-yoctoprojectqs.html for details on this. Sections https://docs.yoctoproject.org/3.1.8/brief-yoctoprojectqs/brief-yoctoprojectqs.html#compatible-linux-distribution and https://docs.yoctoproject.org/3.1.8/brief-yoctoprojectqs/brief-yoctoprojectqs.html#build-host-packages in particular.

To use the meta-openharmony layer, you need a build setup with BitBake and all needed Yocto layers.

If you are adding OpenHarmony features to an existing project, you have to add meta-openharmony and its layer dependencies to your existing project setup. You can use the bitbake-layers add-layer command to do this.

If you don't have an existing project, and simply want to quickly try out OpenHarmony features, you could use the repo manifest included in the meta-openharmony layer.

You can run these commands to do this:

mkdir ohoe && cd ohoe
repo init -u https://gitlab.eclipse.org/eclipse/oniro-core/meta-openharmony.git -b kirkstone
repo sync --no-clone-bundle

QEMU example image

The meta-openharmony provides an example image recipe which can be used for quickly building and running OpenHarmony code in QEMU ARM simulator.

See recipes-openharmony/images/README.md for more information.

OpenHarmony prebuilts

The meta-openharmony layer enables building of prebuilts for use with the OpenHarmony build system. A toolchain-only image, making it possible to use the Oniro Clang version instead of the default Clang version included, and a bundle image which contains both the Oniro Clang compiler and Oniro versions of various third-party components, replacing the corresponding default third-party versions.

See recipes-openharmony/prebuilts/README.md for more information.

Repo manifests

The meta-openharmony repository includes a number of different repo manifest files, which can be used fetch all repositories needed for building OpenHarmony.

manifests/branch.xml

This manifest checks out all repositories with the latest revision from their development branch, including upstream projects.

manifests/pin.xml

This manifest checks out all repositories at known good versions, which are locked down by commit ids in the manifest file. This is the default manifest.