sourcecode-acquire.md 30.3 KB
Newer Older
M
mamingshuai 已提交
1
# Source Code Acquisition<a name="EN-US_TOPIC_0000001150448437"></a>
W
wenjun 已提交
2

[
[yang] 已提交
3 4
-   [About OpenHarmony](#section6370143622110)
-   [Overview of Source Code Acquisition](#section12763342204)
D
duangavin123 已提交
5
-   [Method 1: Acquiring Source Code from a Code Repository](#section537312010229)
M
mamingshuai 已提交
6
    -   [When to Use](#section10881513459)
D
duangavin123 已提交
7 8
    -   [Prerequisites](#section102871547153314)
    -   [How to Use](#section429012478331)
M
mamingshuai 已提交
9

D
duangavin123 已提交
10 11 12 13 14 15
-   [Method 2: Acquiring Source Code from HPM](#section463013147412)
    -   [When to Use](#section26661067443)
    -   [Prerequisites](#section17544943123315)
    -   [How to Use](#section954619433333)

-   [Method 3: Acquiring Source Code from Image Sites](#section1186691118430)
S
shawn_he 已提交
16
-   [Method 4: Acquiring Source Code from the GitHub Image Repository](#section23448418360)
[
[yang] 已提交
17 18
-   [Source Code Directories](#section1072115612811)

W
wenjun 已提交
19 20
## About OpenHarmony<a name="section6370143622110"></a>

D
duangavin123 已提交
21
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. 
W
wenjun 已提交
22

S
shawn_he 已提交
23
The open-source code repositories are available at [https://openharmony.gitee.com](https://openharmony.gitee.com).
W
wenjun 已提交
24 25 26

## Overview of Source Code Acquisition<a name="section12763342204"></a>

S
shawn_he 已提交
27
This document describes how to acquire OpenHarmony source code and provides its directory structure. The OpenHarmony code is open to you as [bundles](../bundles/bundles-standard-rules.md), which can be obtained in any of the following ways:
W
wenjun 已提交
28

S
shawn_he 已提交
29 30 31
-   **Method 1**: Acquire the source code from a 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 the HarmonyOS Package Manager \(HPM\). Visit the [HPM](https://hpm.harmonyos.com/#/en/home) website, search for your desired open-source distribution, and download the bundle list \(or customize bundles and download the bundle list\). Then use **hpm-cli** 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.
32
-   **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.
D
duangavin123 已提交
33 34 35 36 37 38 39 40 41

## Method 1: Acquiring Source Code from a Code Repository<a name="section537312010229"></a>

### When to Use<a name="section10881513459"></a>

-   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.

D
duangavin123 已提交
42
-   You want to contribute code to the OpenHarmony community after obtaining official OpenHarmony certification for chips, modules, and applications.
D
duangavin123 已提交
43

D
duangavin123 已提交
44
-   You need to rectify OpenHarmony issues.
D
duangavin123 已提交
45 46 47 48 49 50 51 52

-   You want to learn OpenHarmony source code.


### Prerequisites<a name="section102871547153314"></a>

1.  Register your account with Gitee.
2.  Register an SSH public key for access to Gitee.
S
shawn_he 已提交
53
3.  Install the [git client](http://git-scm.com/book/en/v2) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading), and configure basic user information.
D
duangavin123 已提交
54 55 56 57 58 59 60

    ```
    git config --global user.name "yourname"
    git config --global user.email "your-email-address"
    git config --global credential.helper store
    ```

S
shawn_he 已提交
61
4.  Run the following commands to install the **repo** tool:
D
duangavin123 已提交
62 63

    ```
S
shawn_he 已提交
64
    curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo # If you do not have the access permission to this directory, download the tool to any other accessible directory and configure the directory to the environment variable.
D
duangavin123 已提交
65 66 67 68
    chmod a+x /usr/local/bin/repo
    pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
    ```

W
wenjun 已提交
69

D
duangavin123 已提交
70 71
### How to Use<a name="section429012478331"></a>

D
duangavin123 已提交
72
**Obtaining the Source Code for Mini/Small/Standard Systems \(2.0 Canary\)**
D
duangavin123 已提交
73

D
duangavin123 已提交
74
>![](../public_sys-resources/icon-note.gif) **NOTE:** 
D
duangavin123 已提交
75 76 77 78
>You can obtain the latest features from the master code, and develop commercial functionalities based on the release code, which is more stable.

-   **Obtaining OpenHarmony master code**

S
shawn_he 已提交
79
    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.\)
D
duangavin123 已提交
80 81 82 83 84 85 86

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

S
shawn_he 已提交
87
    Method 2: Use the **repo** tool to download the source code over HTTPS.
D
duangavin123 已提交
88 89 90 91 92 93 94 95

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


S
shawn_he 已提交
96
-   **Obtaining latest OpenHarmony\_1.0.1\_release code**
D
duangavin123 已提交
97

D
duangavin123 已提交
98
    >![](../public_sys-resources/icon-note.gif) **NOTE:** 
D
duangavin123 已提交
99 100
    >Currently, only the source code for mini and small systems can be obtained through this release.

S
shawn_he 已提交
101
    Use the **repo** tool to download the release code.
D
duangavin123 已提交
102 103 104 105

    ```
    repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
    repo sync -c  
106
    repo forall -c 'git lfs pull'
D
duangavin123 已提交
107 108
    ```

S
shawn_he 已提交
109
-   For details about how to obtain the source code of other OpenHarmony releases, see the [Release-Notes](../../release-notes/Readme.md).
D
duangavin123 已提交
110 111 112 113 114

## Method 2: Acquiring Source Code from HPM<a name="section463013147412"></a>

### When to Use<a name="section26661067443"></a>

S
shawn_he 已提交
115
If OpenHarmony is new to you, sample solutions are helpful to your development. You can obtain an open-source distribution from the [HPM](https://hpm.harmonyos.com/#/en/home) website, or customize a distribution by adding or deleting bundles of an open-source distribution. Then use **hpm-cli** to download and install the bundles and compilation toolchain on your local PC.
D
duangavin123 已提交
116 117 118

### Prerequisites<a name="section17544943123315"></a>

S
shawn_he 已提交
119
You must install **Node.js** and HPM on your local PC. The installation procedure is as follows:
D
duangavin123 已提交
120

S
shawn_he 已提交
121
1.  Install **Node.js**.
D
duangavin123 已提交
122

S
shawn_he 已提交
123
    Download **Node.js** from its official website and install it on your local PC.
D
duangavin123 已提交
124

S
shawn_he 已提交
125
    You are advised to install [Node.js](https://nodejs.org/) 12.x \(including npm 6.14.4\) or a later version \(12.13.0 or later is recommended\).
D
duangavin123 已提交
126

S
shawn_he 已提交
127
2.  Install the hpm-cli tool using **npm** delivered with **Node.js**.
D
duangavin123 已提交
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

    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<a name="section954619433333"></a>

1.  Search for distributions.
S
shawn_he 已提交
151 152 153 154
    1.  Access the [HPM](https://hpm.harmonyos.com/#/en/home) page, and click the **Distribution** tab, as shown in the following figure.
    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** and **Kernel support**\), to further filter the distributions.
    4.  Find your desired distribution and click it to view details.
D
duangavin123 已提交
155

S
shawn_he 已提交
156
        **Figure 1** HPM page<a name="fig414435103619"></a> 
D
duangavin123 已提交
157
        ![](figure/hpm-page.png "hpm-page")
D
duangavin123 已提交
158 159 160 161

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.
S
shawn_he 已提交
162 163
    2.  Click **Download** to download the distribution to your local PC.
    3.  Click **Custom** to add or delete bundles of the distribution.
D
duangavin123 已提交
164

S
shawn_he 已提交
165
    **Figure 2** Example distribution<a name="fig950763112375"></a> 
D
duangavin123 已提交
166
    ![](figure/example-distribution.png "example-distribution")
D
duangavin123 已提交
167 168

3.  Customize bundles.
S
shawn_he 已提交
169 170
    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.
D
duangavin123 已提交
171
    3.  Enter the basic information about your project, including the bundle name, version, and description, on the right pane.
S
shawn_he 已提交
172
    4.  Click **Download**. The system then generates the OpenHarmony code structure file \(for example, **my\_cust\_dist.zip**\) and saves it to your local PC.
D
duangavin123 已提交
173

S
shawn_he 已提交
174
        **Figure 3** Customizing bundles<a name="fig13979182053817"></a>
D
duangavin123 已提交
175
        ![](figure/customizing-bundles.png "customizing-bundles")
D
duangavin123 已提交
176 177 178

4.  Download and install bundles.
    1.  Decompress the downloaded file using the CLI tool CMD \(shell in Linux\).
S
shawn_he 已提交
179 180
    2.  In the generated directory, run the **hpm install** command.
    3.  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.\)
D
duangavin123 已提交
181 182


S
shawn_he 已提交
183
## Method 3: Acquiring Source Code from Mirror Sites<a name="section1186691118430"></a>
W
wenjun 已提交
184

N
NEEN 已提交
185
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.
W
wenjun 已提交
186

S
shawn_he 已提交
187 188
>![](../public_sys-resources/icon-note.gif) **NOTE:**
>-   The table below provides only the sites for downloading the latest OpenHarmony master and LTS code. For details about how to obtain the source code of earlier versions, see the [Release-Notes](../../release-notes/Readme.md).
M
mamingshuai 已提交
189
>-   The Master 1.0 version is no longer maintained.
N
NEEN 已提交
190

S
shawn_he 已提交
191
**Table 1** Sites for acquiring source code
W
wenjun 已提交
192

N
NEEN 已提交
193
<a name="table17735923173912"></a>
S
shawn_he 已提交
194
<table><tbody><tr id="row1073515237392"><td class="cellrowborder" valign="top" width="25%"><p id="p5109183611392"><a name="p5109183611392"></a><a name="p5109183611392"></a><strong id="b31091936183918"><a name="b31091936183918"></a><a name="b31091936183918"></a>LTS Code</strong></p>
N
NEEN 已提交
195
</td>
S
shawn_he 已提交
196
<td class="cellrowborder" valign="top" width="25%"><p id="p13109436103916"><a name="p13109436103916"></a><a name="p13109436103916"></a><strong id="b191091936153912"><a name="b191091936153912"></a><a name="b191091936153912"></a>Version Information</strong></p>
N
NEEN 已提交
197
</td>
S
shawn_he 已提交
198
<td class="cellrowborder" valign="top" width="25%"><p id="p610923616398"><a name="p610923616398"></a><a name="p610923616398"></a><strong id="b1210920365393"><a name="b1210920365393"></a><a name="b1210920365393"></a>Site</strong></p>
N
NEEN 已提交
199
</td>
S
shawn_he 已提交
200
<td class="cellrowborder" valign="top" width="25%"><p id="p2109736133914"><a name="p2109736133914"></a><a name="p2109736133914"></a><strong id="b18109113613397"><a name="b18109113613397"></a><a name="b18109113613397"></a>SHA-256 Verification Code</strong></p>
N
NEEN 已提交
201 202
</td>
</tr>
D
duangavin123 已提交
203
<tr id="row17736152318398"><td class="cellrowborder" valign="top" width="25%"><p id="p1110983610395"><a name="p1110983610395"></a><a name="p1110983610395"></a>Full code (for mini and small systems)</p>
N
NEEN 已提交
204
</td>
D
duangavin123 已提交
205
<td class="cellrowborder" valign="top" width="25%"><p id="p151091536143915"><a name="p151091536143915"></a><a name="p151091536143915"></a>1.1.2</p>
N
NEEN 已提交
206
</td>
D
duangavin123 已提交
207
<td class="cellrowborder" valign="top" width="25%"><p id="p15931114016546"><a name="p15931114016546"></a><a name="p15931114016546"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/code-v1.1.2-LTS.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
208
</td>
D
duangavin123 已提交
209
<td class="cellrowborder" valign="top" width="25%"><p id="p3770144281415"><a name="p3770144281415"></a><a name="p3770144281415"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/code-v1.1.2-LTS.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
210 211 212 213
</td>
</tr>
<tr id="row473612318396"><td class="cellrowborder" valign="top" width="25%"><p id="p511014369394"><a name="p511014369394"></a><a name="p511014369394"></a>Hi3861 solution (binary)</p>
</td>
D
duangavin123 已提交
214
<td class="cellrowborder" valign="top" width="25%"><p id="p0110036193911"><a name="p0110036193911"></a><a name="p0110036193911"></a>1.1.2</p>
N
NEEN 已提交
215
</td>
D
duangavin123 已提交
216
<td class="cellrowborder" valign="top" width="25%"><p id="p29291940175415"><a name="p29291940175415"></a><a name="p29291940175415"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/wifiiot-1.1.2.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
217
</td>
D
duangavin123 已提交
218
<td class="cellrowborder" valign="top" width="25%"><p id="p134864584147"><a name="p134864584147"></a><a name="p134864584147"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/wifiiot-1.1.2.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
219 220 221 222
</td>
</tr>
<tr id="row873614239395"><td class="cellrowborder" valign="top" width="25%"><p id="p11110113633913"><a name="p11110113633913"></a><a name="p11110113633913"></a>Hi3518 solution (binary)</p>
</td>
D
duangavin123 已提交
223
<td class="cellrowborder" valign="top" width="25%"><p id="p18110193613391"><a name="p18110193613391"></a><a name="p18110193613391"></a>1.1.2</p>
N
NEEN 已提交
224
</td>
D
duangavin123 已提交
225
<td class="cellrowborder" valign="top" width="25%"><p id="p125681045181518"><a name="p125681045181518"></a><a name="p125681045181518"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/ipcamera_hi3518ev300-1.1.2.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
226
</td>
D
duangavin123 已提交
227
<td class="cellrowborder" valign="top" width="25%"><p id="p4607175915149"><a name="p4607175915149"></a><a name="p4607175915149"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/ipcamera_hi3518ev300-1.1.2.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
228 229 230 231
</td>
</tr>
<tr id="row1273682343914"><td class="cellrowborder" valign="top" width="25%"><p id="p15110123693919"><a name="p15110123693919"></a><a name="p15110123693919"></a>Hi3516 solution (binary)</p>
</td>
D
duangavin123 已提交
232
<td class="cellrowborder" valign="top" width="25%"><p id="p1211012362396"><a name="p1211012362396"></a><a name="p1211012362396"></a>1.1.2</p>
N
NEEN 已提交
233
</td>
D
duangavin123 已提交
234
<td class="cellrowborder" valign="top" width="25%"><p id="p10455184661518"><a name="p10455184661518"></a><a name="p10455184661518"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/ipcamera_hi3516dv300-1.1.2.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
235
</td>
D
duangavin123 已提交
236
<td class="cellrowborder" valign="top" width="25%"><p id="p84951102150"><a name="p84951102150"></a><a name="p84951102150"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/ipcamera_hi3516dv300-1.1.2.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
237 238
</td>
</tr>
S
shawn_he 已提交
239
<tr id="row167371123163914"><td class="cellrowborder" valign="top" width="25%"><p id="p10110143610393"><a name="p10110143610393"></a><a name="p10110143610393"></a>Release notes</p>
N
NEEN 已提交
240
</td>
D
duangavin123 已提交
241
<td class="cellrowborder" valign="top" width="25%"><p id="p141101436193911"><a name="p141101436193911"></a><a name="p141101436193911"></a>1.1.2</p>
N
NEEN 已提交
242
</td>
D
duangavin123 已提交
243
<td class="cellrowborder" valign="top" width="25%"><p id="p88931840195416"><a name="p88931840195416"></a><a name="p88931840195416"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.1.2/OpenHarmony-Release-Notes-1.1.2-LTS.zip" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
244
</td>
D
duangavin123 已提交
245
<td class="cellrowborder" valign="top" width="25%"><p id="p039662242117"><a name="p039662242117"></a><a name="p039662242117"></a>-</p>
N
NEEN 已提交
246 247
</td>
</tr>
S
shawn_he 已提交
248
<tr id="row573719239393"><td class="cellrowborder" valign="top" width="25%"><p id="p104146493390"><a name="p104146493390"></a><a name="p104146493390"></a><strong id="b12414104919398"><a name="b12414104919398"></a><a name="b12414104919398"></a>Master Code</strong></p>
N
NEEN 已提交
249
</td>
S
shawn_he 已提交
250
<td class="cellrowborder" valign="top" width="25%"><p id="p194141849163919"><a name="p194141849163919"></a><a name="p194141849163919"></a><strong id="b441494913918"><a name="b441494913918"></a><a name="b441494913918"></a>Version Information</strong></p>
N
NEEN 已提交
251
</td>
S
shawn_he 已提交
252
<td class="cellrowborder" valign="top" width="25%"><p id="p8414649193919"><a name="p8414649193919"></a><a name="p8414649193919"></a><strong id="b341584914393"><a name="b341584914393"></a><a name="b341584914393"></a>Site</strong></p>
N
NEEN 已提交
253
</td>
S
shawn_he 已提交
254
<td class="cellrowborder" valign="top" width="25%"><p id="p13415149133914"><a name="p13415149133914"></a><a name="p13415149133914"></a><strong id="b8415114953915"><a name="b8415114953915"></a><a name="b8415114953915"></a>SHA-256 Verification Code</strong></p>
M
mamingshuai 已提交
255 256
</td>
</tr>
D
duangavin123 已提交
257
<tr id="row4769431134919"><td class="cellrowborder" valign="top" width="25%"><p id="p97691031124913"><a name="p97691031124913"></a><a name="p97691031124913"></a>Full code (for standard systems)</p>
M
mamingshuai 已提交
258 259 260
</td>
<td class="cellrowborder" valign="top" width="25%"><p id="p1076916315492"><a name="p1076916315492"></a><a name="p1076916315492"></a>2.0 Canary</p>
</td>
D
duangavin123 已提交
261
<td class="cellrowborder" valign="top" width="25%"><p id="p67696314491"><a name="p67696314491"></a><a name="p67696314491"></a><a href="https://repo.huaweicloud.com/harmonyos/os/2.0/code-2.0-canary_20210601.tar.gz" target="_blank" rel="noopener noreferrer">Download (Site 1)</a> <a href="https://mirror.iscas.ac.cn/OpenHarmony/os/2.0/code-2.0-canary.tar.gz" target="_blank" rel="noopener noreferrer">Download (Site 2)</a></p>
M
mamingshuai 已提交
262
</td>
D
duangavin123 已提交
263
<td class="cellrowborder" valign="top" width="25%"><p id="p4769123184918"><a name="p4769123184918"></a><a name="p4769123184918"></a><a href="https://repo.huaweicloud.com/harmonyos/os/2.0/code-2.0-canary_20210601.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
N
NEEN 已提交
264
</td>
W
wenjun 已提交
265
</tr>
D
duangavin123 已提交
266
<tr id="row273762316398"><td class="cellrowborder" valign="top" width="25%"><p id="p54150491393"><a name="p54150491393"></a><a name="p54150491393"></a>Full code (for mini and small systems)</p>
W
wenjun 已提交
267
</td>
N
NEEN 已提交
268
<td class="cellrowborder" valign="top" width="25%"><p id="p16415124923914"><a name="p16415124923914"></a><a name="p16415124923914"></a>1.0 (no longer maintained)</p>
W
wenjun 已提交
269
</td>
N
NEEN 已提交
270
<td class="cellrowborder" valign="top" width="25%"><p id="p44151449203917"><a name="p44151449203917"></a><a name="p44151449203917"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
271
</td>
N
NEEN 已提交
272
<td class="cellrowborder" valign="top" width="25%"><p id="p1441515495392"><a name="p1441515495392"></a><a name="p1441515495392"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
273 274
</td>
</tr>
N
NEEN 已提交
275
<tr id="row107374239397"><td class="cellrowborder" valign="top" width="25%"><p id="p5415949123910"><a name="p5415949123910"></a><a name="p5415949123910"></a>Hi3861 solution (binary)</p>
W
wenjun 已提交
276
</td>
N
NEEN 已提交
277
<td class="cellrowborder" valign="top" width="25%"><p id="p15415949183914"><a name="p15415949183914"></a><a name="p15415949183914"></a>1.0 (no longer maintained)</p>
W
wenjun 已提交
278
</td>
N
NEEN 已提交
279
<td class="cellrowborder" valign="top" width="25%"><p id="p1415649123916"><a name="p1415649123916"></a><a name="p1415649123916"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/wifiiot-1.0.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
280
</td>
N
NEEN 已提交
281
<td class="cellrowborder" valign="top" width="25%"><p id="p11415549153913"><a name="p11415549153913"></a><a name="p11415549153913"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/wifiiot-1.0.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
282 283
</td>
</tr>
N
NEEN 已提交
284
<tr id="row9738182319392"><td class="cellrowborder" valign="top" width="25%"><p id="p241524910391"><a name="p241524910391"></a><a name="p241524910391"></a>Hi3518 solution (binary)</p>
W
wenjun 已提交
285
</td>
N
NEEN 已提交
286
<td class="cellrowborder" valign="top" width="25%"><p id="p6415849193915"><a name="p6415849193915"></a><a name="p6415849193915"></a>1.0 (no longer maintained)</p>
W
wenjun 已提交
287
</td>
N
NEEN 已提交
288
<td class="cellrowborder" valign="top" width="25%"><p id="p841584919394"><a name="p841584919394"></a><a name="p841584919394"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/ipcamera_hi3518ev300-1.0.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
289
</td>
N
NEEN 已提交
290
<td class="cellrowborder" valign="top" width="25%"><p id="p9415124983911"><a name="p9415124983911"></a><a name="p9415124983911"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/ipcamera_hi3518ev300-1.0.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
291 292
</td>
</tr>
N
NEEN 已提交
293
<tr id="row17381233399"><td class="cellrowborder" valign="top" width="25%"><p id="p44151149153918"><a name="p44151149153918"></a><a name="p44151149153918"></a>Hi3516 solution (binary)</p>
W
wenjun 已提交
294
</td>
N
NEEN 已提交
295
<td class="cellrowborder" valign="top" width="25%"><p id="p15415164917397"><a name="p15415164917397"></a><a name="p15415164917397"></a>1.0 (no longer maintained)</p>
W
wenjun 已提交
296
</td>
N
NEEN 已提交
297
<td class="cellrowborder" valign="top" width="25%"><p id="p154151049113914"><a name="p154151049113914"></a><a name="p154151049113914"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/ipcamera_hi3516dv300-1.0.tar.gz" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
298
</td>
N
NEEN 已提交
299
<td class="cellrowborder" valign="top" width="25%"><p id="p164164491394"><a name="p164164491394"></a><a name="p164164491394"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/ipcamera_hi3516dv300-1.0.tar.gz.sha256" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
300 301
</td>
</tr>
S
shawn_he 已提交
302
<tr id="row1873817234394"><td class="cellrowborder" valign="top" width="25%"><p id="p1341618491393"><a name="p1341618491393"></a><a name="p1341618491393"></a>Release notes</p>
W
wenjun 已提交
303
</td>
N
NEEN 已提交
304
<td class="cellrowborder" valign="top" width="25%"><p id="p7416184953916"><a name="p7416184953916"></a><a name="p7416184953916"></a>1.0 (no longer maintained)</p>
W
wenjun 已提交
305
</td>
N
NEEN 已提交
306
<td class="cellrowborder" valign="top" width="25%"><p id="p194161849133911"><a name="p194161849133911"></a><a name="p194161849133911"></a><a href="https://repo.huaweicloud.com/harmonyos/os/1.0/RELEASE-NOTES.txt" target="_blank" rel="noopener noreferrer">Download</a></p>
W
wenjun 已提交
307
</td>
N
NEEN 已提交
308
<td class="cellrowborder" valign="top" width="25%"><p id="p1841619490395"><a name="p1841619490395"></a><a name="p1841619490395"></a>-</p>
W
wenjun 已提交
309 310
</td>
</tr>
S
shawn_he 已提交
311
<tr id="row19937626418"><td class="cellrowborder" valign="top" width="25%"><p id="p1938221842"><a name="p1938221842"></a><a name="p1938221842"></a><strong id="b1393619251243"><a name="b1393619251243"></a><a name="b1393619251243"></a>Compiler Toolchain</strong></p>
M
mamingshuai 已提交
312
</td>
S
shawn_he 已提交
313
<td class="cellrowborder" valign="top" width="25%"><p id="p1093810218417"><a name="p1093810218417"></a><a name="p1093810218417"></a><strong id="b1416114641015"><a name="b1416114641015"></a><a name="b1416114641015"></a>Version Information</strong></p>
M
mamingshuai 已提交
314
</td>
S
shawn_he 已提交
315
<td class="cellrowborder" valign="top" width="25%"><p id="p9938132648"><a name="p9938132648"></a><a name="p9938132648"></a><strong id="b14842143351015"><a name="b14842143351015"></a><a name="b14842143351015"></a>Site</strong></p>
M
mamingshuai 已提交
316
</td>
S
shawn_he 已提交
317
<td class="cellrowborder" valign="top" width="25%"><p id="p12520113711011"><a name="p12520113711011"></a><a name="p12520113711011"></a><strong id="b17520237181015"><a name="b17520237181015"></a><a name="b17520237181015"></a>SHA-256 Verification Code</strong></p>
M
mamingshuai 已提交
318 319 320 321 322 323
</td>
</tr>
<tr id="row204197817410"><td class="cellrowborder" valign="top" width="25%"><p id="p8419118242"><a name="p8419118242"></a><a name="p8419118242"></a>Compiler toolchain</p>
</td>
<td class="cellrowborder" valign="top" width="25%"><p id="p10876124517162"><a name="p10876124517162"></a><a name="p10876124517162"></a>-</p>
</td>
D
duangavin123 已提交
324
<td class="cellrowborder" valign="top" width="25%"><p id="p1542078742"><a name="p1542078742"></a><a name="p1542078742"></a><a href="https://repo.huaweicloud.com/harmonyos/os/2.0/tool_chain/" target="_blank" rel="noopener noreferrer">Download</a></p>
M
mamingshuai 已提交
325 326 327 328
</td>
<td class="cellrowborder" valign="top" width="25%"><p id="p134201881147"><a name="p134201881147"></a><a name="p134201881147"></a>-</p>
</td>
</tr>
W
wenjun 已提交
329 330 331
</tbody>
</table>

S
shawn_he 已提交
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347

## Method 4: Acquiring Source Code from the GitHub Image Repository (at 23:00 UTC Every Day)<a name="section23448418360"></a>


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@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'

W
wenjun 已提交
348 349 350 351
## Source Code Directories<a name="section1072115612811"></a>

The following table describes the OpenHarmony source code directories.

S
shawn_he 已提交
352
**Table 2** Source code directories
W
wenjun 已提交
353 354

<a name="table3815144702820"></a>
S
shawn_he 已提交
355

W
wenjun 已提交
356
<table><thead align="left"><tr id="row198162047192810"><th class="cellrowborder" valign="top" width="50%" id="mcps1.2.3.1.1"><p id="p690319291299"><a name="p690319291299"></a><a name="p690319291299"></a>Name</p>
S
shawn_he 已提交
357

W
wenjun 已提交
358
</th>
S
shawn_he 已提交
359

W
wenjun 已提交
360
<th class="cellrowborder" valign="top" width="50%" id="mcps1.2.3.1.2"><p id="p5903122962918"><a name="p5903122962918"></a><a name="p5903122962918"></a>Description</p>
S
shawn_he 已提交
361

W
wenjun 已提交
362
</th>
S
shawn_he 已提交
363

W
wenjun 已提交
364
</tr>
S
shawn_he 已提交
365

W
wenjun 已提交
366
</thead>
S
shawn_he 已提交
367

W
wenjun 已提交
368
<tbody><tr id="row1981674719280"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p69031429162912"><a name="p69031429162912"></a><a name="p69031429162912"></a>applications</p>
S
shawn_he 已提交
369

W
wenjun 已提交
370
</td>
S
shawn_he 已提交
371

M
mamingshuai 已提交
372
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p090352912914"><a name="p090352912914"></a><a name="p090352912914"></a>Application samples, for example, <strong id="b689814231158"><a name="b689814231158"></a><a name="b689814231158"></a>camera</strong></p>
S
shawn_he 已提交
373

W
wenjun 已提交
374
</td>
S
shawn_he 已提交
375

W
wenjun 已提交
376
</tr>
S
shawn_he 已提交
377

W
wenjun 已提交
378
<tr id="row5816747132817"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p99031129112918"><a name="p99031129112918"></a><a name="p99031129112918"></a>base</p>
S
shawn_he 已提交
379

W
wenjun 已提交
380
</td>
S
shawn_he 已提交
381

W
wenjun 已提交
382
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p790472962914"><a name="p790472962914"></a><a name="p790472962914"></a>Basic software service subsystem set and hardware service subsystem set</p>
S
shawn_he 已提交
383

W
wenjun 已提交
384
</td>
S
shawn_he 已提交
385

W
wenjun 已提交
386
</tr>
S
shawn_he 已提交
387

W
wenjun 已提交
388
<tr id="row1134218692910"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p4904112910295"><a name="p4904112910295"></a><a name="p4904112910295"></a>build</p>
S
shawn_he 已提交
389

W
wenjun 已提交
390
</td>
S
shawn_he 已提交
391 392 393

<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p1090482942911"><a name="p1090482942911"></a><a name="p1090482942911"></a>Bundle-based compilation, build, and configuration scripts</p>

W
wenjun 已提交
394
</td>
S
shawn_he 已提交
395

W
wenjun 已提交
396
</tr>
S
shawn_he 已提交
397

[
[yang] 已提交
398
<tr id="row8166154261316"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p1216719425130"><a name="p1216719425130"></a><a name="p1216719425130"></a>docs</p>
S
shawn_he 已提交
399

[
[yang] 已提交
400
</td>
S
shawn_he 已提交
401

[
[yang] 已提交
402
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p17167134217134"><a name="p17167134217134"></a><a name="p17167134217134"></a>Reference documents</p>
S
shawn_he 已提交
403

[
[yang] 已提交
404
</td>
S
shawn_he 已提交
405

[
[yang] 已提交
406
</tr>
S
shawn_he 已提交
407

W
wenjun 已提交
408
<tr id="row1841618902919"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p1390462902910"><a name="p1390462902910"></a><a name="p1390462902910"></a>domains</p>
S
shawn_he 已提交
409

W
wenjun 已提交
410
</td>
S
shawn_he 已提交
411

W
wenjun 已提交
412
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p1390432914296"><a name="p1390432914296"></a><a name="p1390432914296"></a>Enhanced software service subsystem set</p>
S
shawn_he 已提交
413

W
wenjun 已提交
414
</td>
S
shawn_he 已提交
415

W
wenjun 已提交
416
</tr>
S
shawn_he 已提交
417

W
wenjun 已提交
418
<tr id="row841620912298"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p119041629182919"><a name="p119041629182919"></a><a name="p119041629182919"></a>drivers</p>
S
shawn_he 已提交
419

W
wenjun 已提交
420
</td>
S
shawn_he 已提交
421

W
wenjun 已提交
422
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p9904629132911"><a name="p9904629132911"></a><a name="p9904629132911"></a>Driver subsystem</p>
S
shawn_he 已提交
423

W
wenjun 已提交
424
</td>
S
shawn_he 已提交
425

W
wenjun 已提交
426
</tr>
S
shawn_he 已提交
427

W
wenjun 已提交
428
<tr id="row164164992915"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p79042298298"><a name="p79042298298"></a><a name="p79042298298"></a>foundation</p>
S
shawn_he 已提交
429

W
wenjun 已提交
430
</td>
S
shawn_he 已提交
431

W
wenjun 已提交
432
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p18904132922915"><a name="p18904132922915"></a><a name="p18904132922915"></a>Basic system capability subsystem set</p>
S
shawn_he 已提交
433

W
wenjun 已提交
434
</td>
S
shawn_he 已提交
435

W
wenjun 已提交
436
</tr>
S
shawn_he 已提交
437

W
wenjun 已提交
438
<tr id="row1441610922915"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p490402916299"><a name="p490402916299"></a><a name="p490402916299"></a>kernel</p>
S
shawn_he 已提交
439

W
wenjun 已提交
440
</td>
S
shawn_he 已提交
441

W
wenjun 已提交
442
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p1904112932912"><a name="p1904112932912"></a><a name="p1904112932912"></a>Kernel subsystem</p>
S
shawn_he 已提交
443

W
wenjun 已提交
444
</td>
S
shawn_he 已提交
445

W
wenjun 已提交
446
</tr>
S
shawn_he 已提交
447

W
wenjun 已提交
448
<tr id="row194175972917"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p1904132912910"><a name="p1904132912910"></a><a name="p1904132912910"></a>prebuilts</p>
S
shawn_he 已提交
449

W
wenjun 已提交
450
</td>
S
shawn_he 已提交
451

W
wenjun 已提交
452
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p390492919296"><a name="p390492919296"></a><a name="p390492919296"></a>Compiler and tool chain subsystem</p>
S
shawn_he 已提交
453

W
wenjun 已提交
454
</td>
S
shawn_he 已提交
455

W
wenjun 已提交
456
</tr>
S
shawn_he 已提交
457

W
wenjun 已提交
458
<tr id="row841718942913"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p12904929202919"><a name="p12904929202919"></a><a name="p12904929202919"></a>test</p>
S
shawn_he 已提交
459

W
wenjun 已提交
460
</td>
S
shawn_he 已提交
461

W
wenjun 已提交
462
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p4904152912297"><a name="p4904152912297"></a><a name="p4904152912297"></a>Testing subsystem</p>
S
shawn_he 已提交
463

W
wenjun 已提交
464
</td>
S
shawn_he 已提交
465

W
wenjun 已提交
466
</tr>
S
shawn_he 已提交
467

W
wenjun 已提交
468
<tr id="row24175915294"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p13904162992916"><a name="p13904162992916"></a><a name="p13904162992916"></a>third_party</p>
S
shawn_he 已提交
469

W
wenjun 已提交
470
</td>
S
shawn_he 已提交
471

W
wenjun 已提交
472
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p6904829112917"><a name="p6904829112917"></a><a name="p6904829112917"></a>Open-source third-party software</p>
S
shawn_he 已提交
473

W
wenjun 已提交
474
</td>
S
shawn_he 已提交
475

W
wenjun 已提交
476
</tr>
S
shawn_he 已提交
477

W
wenjun 已提交
478
<tr id="row334210652914"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p1390442918299"><a name="p1390442918299"></a><a name="p1390442918299"></a>utils</p>
S
shawn_he 已提交
479

W
wenjun 已提交
480
</td>
S
shawn_he 已提交
481

W
wenjun 已提交
482
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p690412296297"><a name="p690412296297"></a><a name="p690412296297"></a>Commonly used development tools</p>
S
shawn_he 已提交
483

W
wenjun 已提交
484
</td>
S
shawn_he 已提交
485

W
wenjun 已提交
486
</tr>
S
shawn_he 已提交
487

W
wenjun 已提交
488
<tr id="row73421664298"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p7905172920292"><a name="p7905172920292"></a><a name="p7905172920292"></a>vendor</p>
S
shawn_he 已提交
489

W
wenjun 已提交
490
</td>
S
shawn_he 已提交
491

W
wenjun 已提交
492
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p290510290293"><a name="p290510290293"></a><a name="p290510290293"></a>Vendor-provided software</p>
S
shawn_he 已提交
493

W
wenjun 已提交
494
</td>
S
shawn_he 已提交
495

W
wenjun 已提交
496
</tr>
S
shawn_he 已提交
497

W
wenjun 已提交
498
<tr id="row734319617292"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p09056291290"><a name="p09056291290"></a><a name="p09056291290"></a>build.py</p>
S
shawn_he 已提交
499

W
wenjun 已提交
500
</td>
S
shawn_he 已提交
501

W
wenjun 已提交
502
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p1790542912290"><a name="p1790542912290"></a><a name="p1790542912290"></a>Compilation script file</p>
S
shawn_he 已提交
503

W
wenjun 已提交
504
</td>
S
shawn_he 已提交
505

W
wenjun 已提交
506
</tr>
S
shawn_he 已提交
507

W
wenjun 已提交
508 509
</tbody>

S
shawn_he 已提交
510
</table>