795 Star 4.6K Fork 1.9K

OpenHarmony / docs

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
sourcecode-acquire.md 19.02 KB
Copy Edit Web IDE Raw Blame History
shawn_he authored 2022-06-17 17:56 . update doc

Obtaining Source Code

About OpenHarmony

OpenHarmony is an open-source project launched by the OpenAtom Foundation. The purpose of this project is to build an open, distributed operating system (OS) framework for smart IoT devices in the full-scenario, full-connectivity, and full-intelligence era.

The open-source code repositories are available at https://openharmony.gitee.com.

Overview of Source Code Acquisition

You can use any of the following methods to acquire the OpenHarmony source code:

  • Method 1: Acquire the source code from the Gitee code repository. You can use the repo or git tool to download the latest code from the code repository.
  • Method 2: Acquire the source code from DevEco Marketplace. Visit DevEco Marketplace, search for your desired open-source distribution, and download the bundle list (or customize bundles and download the bundle list). Then use the hpm-cli tool to download and install the bundles and compilation toolchain on your local PC.
  • Method 3: Download the compressed file of a distribution from a mirror site. This method provides a fast download speed, so you can also use this method for obtaining the source code of an earlier version.
  • Method 4: Acquire the source code from the GitHub image repository. You can use the repo or git tool to download the latest code from the code repository.

Method 1: Acquiring Source Code from the Gitee Code Repository

When to Use

  • You want to establish a baseline based on stable OpenHarmony releases and distribute the baseline to your customers.

  • You have interconnected your software with OpenHarmony and need official certification from OpenHarmony.

  • You want to contribute code to the OpenHarmony community after obtaining official OpenHarmony certification for chips, modules, and applications.

  • You need to rectify OpenHarmony issues.

  • You want to learn OpenHarmony source code.

Prerequisites

  1. Register your account with Gitee.

  2. Register an SSH public key for access to Gitee.

  3. Install the git client and git-lfs, and configure basic user information.

    git config --global user.name "yourname"
    git config --global user.email "your-email-address"
    git config --global credential.helper store
  4. Run the following commands to install the repo tool:

    In this example, ~/bin is used as an example installation directory. You can change the directory as needed.

    mkdir ~/bin
    curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo 
    chmod a+x ~/bin/repo
    pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
  5. Add the path of the repo tool to environment variables.

    vim ~/.bashrc               # Edit environment variables.
    export PATH=~/bin:$PATH     # Add the path of the **repo** tool to the end of environment variables.
    source ~/.bashrc            # Apply environment variables.

How to Use

NOTE Download the master code if you want to get quick access to the latest features for your development. Download the release code, which is more stable, if you want to develop commercial functionalities.

  • Obtaining OpenHarmony master code

    Method 1 (recommended): Use the repo tool to download the source code over SSH. (You must have registered an SSH public key for access to Gitee.)

    repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'

    Method 2: Use the repo tool to download the source code over HTTPS.

    repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
  • Obtaining OpenHarmony release code

    For details about how to obtain the source code of an OpenHarmony release, see the Release-Notes.

Method 2: Acquiring Source Code from DevEco Marketplace

When to Use

If OpenHarmony is new to you, sample solutions are helpful to your development. You can obtain an open-source distribution from DevEco Marketplace, or customize a distribution by adding or deleting bundles of an open-source distribution. Then use the hpm-cli tool to download and install the bundles and compilation toolchain on your local PC.

Prerequisites

You must install Node.js and HPM on your local PC. The installation procedure is as follows:

  1. Install Node.js.

    Download Node.js from its official website and install it on your local PC.

    The Node.js version must be 12.x (including npm 6.14.4) or later. An LTS version is recommended.

  2. Install the hpm-cli tool using npm delivered with Node.js.

    Open the CMD window and run the following command:

    npm install -g @ohos/hpm-cli
  3. Run the following command to check whether the installation is successful. If the HPM version is displayed, the installation is successful.

    hpm -V or hpm --version
  4. Run the following command to upgrade the HPM version:

    npm update -g @ohos/hpm-cli

How to Use

  1. Search for distributions.

    1. Access DevEco Marketplace, and click Equipment Bundle. Then go to the Open Source Distribution page.

    2. Enter a keyword (for example: camera) in the search box. All matched distributions are found.

    3. Specify filter criteria, such as the bundle type (for example: Board support or Kernel support), to further filter the distributions.

    4. Find your desired distribution and click it to view details.

      Figure 1 HPM page

  2. Learn more about the distribution.

    1. Read carefully the information about the distribution to learn its application scenarios, features, bundles, usage, and customization methods, as shown in the following figure.

    2. Click Download if you want to download the distribution to your local PC.

    3. Click Custom if you want to add or delete bundles of the distribution.

      Figure 2 Example distribution

  3. Customize bundles.

    1. Access the Custom solution page, as shown in the following figure.

    2. Set the toggle switch next to a specific optional bundle to delete it from the distribution, or click Add bundle to add new bundles.

    3. Enter the basic information about your project, including the bundle name, version, and description, on the right pane.

    4. Click Download. The system generates the OpenHarmony code structure file (for example, my_cust_dist.zip) and saves it to your local PC.

      Figure 3 Customizing bundles

  4. Install bundles.

    1. Decompress the downloaded code structure file using CMD on Windows (or shell in Linux).
    2. In the generated directory, run the hpm install command to download and install bundles. If the Install successful message is displayed, the command has been executed successfully.
    3. Obtain the bundles. The downloaded bundles are stored in the ohos_bundles folder under the project directory. (The source code of some bundles will be copied to a specified directory after the bundles are installed.)

Method 3: Acquiring Source Code from a Mirror Site

To ensure the download performance, you are advised to download the source code or the corresponding solution from the image library of the respective site listed in the table below.

The table below provides only the sites for downloading the latest OpenHarmony LTS code. For details about how to obtain the source code of earlier versions, see the Release-Notes.

Table 1 Sites for acquiring source code

LTS Code Version Information Site SHA-256 Verification Code
Full code base (for mini, small, and standard systems) 3.0 Download Download
Standard system solution (binary) 3.0 Download Download
Hi3861 solution (binary) 3.0 Download Download
Hi3518 solution (binary) 3.0 Download Download
Hi3516 solution-LiteOS (binary) 3.0 Download Download
Hi3516 solution-Linux (binary) 3.0 Download Download
RELEASE-NOTES 3.0 Download -
Source code of the Latest Release Version Information Site SHA-256 Verification Code
Full code base (for mini, small, and standard systems) 3.2 Beta1 Download Download
RK3568 standard system solution (binary) 3.2 Beta1 Download Download
Hi3861 solution (binary) 3.2 Beta1 Download Download
Hi3516 solution-LiteOS (binary) 3.2 Beta1 Download Download
Hi3516 solution-Linux (binary) 3.2 Beta1 Download Download
RELEASE-NOTES 3.2 Beta1 Download -
Compiler Toolchain Version Information Site SHA-256 Verification Code
Compiler toolchain - Download -

Method 4: Acquiring Source Code from the GitHub Image Repository

NOTE The image repository is synchronized at 23:00 (UTC +8:00) every day.

Method 1 (recommended): Use the repo tool to download the source code over SSH. (You must have registered an SSH public key for access to GitHub. For details, see Adding a new SSH key to your GitHub account.)

repo init -u git@github.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

Method 2: Use the repo tool to download the source code over HTTPS.

repo init -u https://github.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

Source Code Directories

The following table describes the OpenHarmony source code directories.

Table 2 Source code directories

Name

Description

applications

Application samples, for example, camera

base

Basic software service subsystem set and hardware service subsystem set

build

Bundle-based compilation, build, and configuration scripts

docs

Reference documents

domains

Enhanced software service subsystem set

drivers

Driver subsystem

foundation

Basic system capability subsystem set

kernel

Kernel subsystem

prebuilts

Compiler and toolchain subsystem

test

Testing subsystem

third_party

Open-source third-party software

utils

Commonly used development tools

vendor

Vendor-provided software

build.py

Compilation script file

Comment ( 0 )

Sign in to post a comment

1
https://gitee.com/openharmony/docs.git
git@gitee.com:openharmony/docs.git
openharmony
docs
docs
master

Search