• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 搭建轻量与小型系统环境
2
3
4## 系统要求
5
6- Windows系统要求:Windows10 64位系统。
7
8- Ubuntu系统要求:Ubuntu18.04及以上版本,内存推荐16 GB及以上。
9
10- Windows系统和Ubuntu系统的用户名不能包含中文字符。
11
12- Windows和Ubuntu上安装的DevEco Device Tool为3.0 Release版本。
13
14
15## 安装必要的库和工具
16
17编译OpenHarmony需要一些库和工具,可以通过以下步骤进行安装。
18
19相应操作在Ubuntu环境中进行。
20
211. 使用如下apt-get命令安装后续操作所需的库和工具:
22
23   ```
24   sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales
25   ```
26
27   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
28   > 以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。其中:
29   >
30   > - Python要求安装Python 3.8及以上版本,此处以Python 3.8为例。
31   >
32   > - Java要求java8及以上版本,此处以java8为例。
33
342. 将python 3.8设置为默认python版本。
35   查看python 3.8的位置:
36
37
38   ```
39   which python3.8
40   ```
41
42     将python和python3切换为python3.8:
43
44   ```
45   sudo update-alternatives --install /usr/bin/python python {python3.8 路径} 1    #{python3.8 路径}为上一步查看的python3.8的位置
46   sudo update-alternatives --install /usr/bin/python3 python3 {python3.8 路径} 1   #{python3.8 路径}为上一步查看的python3.8的位置
47   ```
48
49
50## 安装DevEco Device Tool
51
52通过Windows系统远程访问Ubuntu环境进行烧录等操作,需要先在Windows和Ubuntu下分别安装DevEco Device Tool。
53
54> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
55> DevEco Device Tool是OpenHarmony的一站式开发工具,支持源码开发、编译、烧录,调测等,本文主要用其远端连接Ubuntu环境进行烧录和运行。
56
57
58### 安装Window版本DevEco Device Tool
59
601. 下载[DevEco Device Tool 3.0 Release](https://device.harmonyos.com/cn/ide#download)Windows版。
61
622. 解压DevEco Device Tool压缩包,双击安装包程序,点击Next进行安装。
63
643. 设置DevEco Device Tool的安装路径,建议安装到非系统盘符,点击**Next**。
65
66   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
67   > 如果您已安装DevEco Device Tool 3.0 Beta2及以前的版本,则在安装新版本时,会先卸载旧版本,卸载过程中出现如下错误提示时,请点击“Ignore”继续安装,该错误不影响新版本的安装。
68   >
69   > ![zh-cn_image_0000001239275843](figures/zh-cn_image_0000001239275843.png)
70
71   ![zh-cn_image_0000001270076961](figures/zh-cn_image_0000001270076961.png)
72
734. 根据安装向导提示,勾选要自动安装的软件。
74
75   1. 在弹出VSCode installation confirm页面,勾选“Install VScode 1.62.2automatically”,点击**Next**。
76
77       > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
78       > 如果检测到Visual Studio Code已安装,且版本为1.62及以上,则会跳过该步骤。
79
80       ![zh-cn_image_0000001237801283](figures/zh-cn_image_0000001237801283.png)
81
82   2. 在弹出的Python select page选择“Download from Huawei mirror”,点击**Next**。
83
84       > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
85       > 如果系统已安装可兼容的Python版本(Python 3.8~3.9版本),可选择“Use one of compatible on your PC”。
86
87       ![zh-cn_image_0000001193983334](figures/zh-cn_image_0000001193983334.png)
88
895. 在以下界面点击**Next**,进行软件下载和安装。
90
91   ![zh-cn_image_0000001239634067](figures/zh-cn_image_0000001239634067.png)
92
936. 继续等待DevEco Device Tool安装向导自动安装DevEco Device Tool插件,直至安装完成,点击**Finish**,关闭DevEco Device Tool安装向导。
94
95   ![zh-cn_image_0000001239650137](figures/zh-cn_image_0000001239650137.png)
96
977. 打开Visual Studio Code,进入DevEco Device Tool工具界面。至此,DevEco Device Tool Windows开发环境安装完成。
98
99   ![zh-cn_image_0000001225760456](figures/zh-cn_image_0000001225760456.png)
100
101
102### 安装Ubuntu版本DevEco Device Tool
103
1041. 将Ubuntu Shell环境修改为bash。
105
106   1. 执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据步骤2,将Ubuntu shell修改为bash。
107
108       ```
109       ls -l /bin/sh
110       ```
111
112       ![zh-cn_image_0000001226764302](figures/zh-cn_image_0000001226764302.png)
113
114   2. 打开终端工具,执行如下命令,输入密码,然后选择**No**,将Ubuntu shell由dash修改为bash。
115
116       ```
117       sudo dpkg-reconfigure dash
118       ```
119
120       ![zh-cn_image_0000001243641075](figures/zh-cn_image_0000001243641075.png)
121
1222. 下载[DevEco Device Tool 3.0 Release](https://device.harmonyos.com/cn/ide#download)Linux版本。
123
1243. 解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。
125
126   1. 进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-3.0.0.401.zip为软件包名称,请根据实际进行修改。
127
128       ```
129       unzip devicetool-linux-tool-3.0.0.401.zip
130       ```
131
132   2. 进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-3.0.0.401.sh请根据实际进行修改。
133
134       ```
135       chmod u+x devicetool-linux-tool-3.0.0.401.sh
136       ```
137
1384. 执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-3.0.0.401.sh请根据实际进行修改。
139
140   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
141   > 安装过程中,会自动检查Python是否安装,且要求Python为3.8~3.9版本。如果不满足,则安装过程中会自动安装,提示“Do you want to continue?”,请输入“Y”后继续安装。
142
143
144   ```
145   sudo ./devicetool-linux-tool-3.0.0.401.sh
146   ```
147
148   安装完成后,当界面输出“Deveco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。
149
150   ![zh-cn_image_0000001198722374](figures/zh-cn_image_0000001198722374.png)
151
152
153## 配置Windows远程访问Ubuntu环境
154
155
156### 安装SSH服务并获取远程访问的IP地址
157
1581. 在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。
159
160   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
161   > 如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudo apt-get install openssh-client=1:8.2p1-4),再重新执行该命令安装openssh-server。
162
163
164   ```
165   sudo apt-get install openssh-server
166   ```
167
1682. 执行如下命令,启动SSH服务。
169
170   ```
171   sudo systemctl start ssh
172   ```
173
1743. 执行如下命令,获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。
175
176   ```
177   ifconfig
178   ```
179
180   ![zh-cn_image_0000001215737140](figures/zh-cn_image_0000001215737140.png)
181
182
183### 安装Remote SSH
184
1851. 打开Windows系统下的Visual Studio Code,点击![zh-cn_image_0000001239080359](figures/zh-cn_image_0000001239080359.png),在插件市场的搜索输入框中输入“remote-ssh”。
186
187   ![zh-cn_image_0000001193920448](figures/zh-cn_image_0000001193920448.png)
188
1892. 点击Remote-SSH的**Install**按钮,安装Remote-SSH。安装成功后,在**INSTALLED**下可以看到已安装Remote-SSH。
190
191   ![zh-cn_image_0000001238880335](figures/zh-cn_image_0000001238880335.png)
192
193
194### 远程连接Ubuntu环境
195
1961. 打开Windows系统的Visual Studio Code,点击![zh-cn_image_0000001238760373](figures/zh-cn_image_0000001238760373.png),在REMOTE EXOPLORER页面点击+按钮。
197
198   ![zh-cn_image_0000001215878922](figures/zh-cn_image_0000001215878922.png)
199
2002. 在弹出的SSH连接命令输入框中输入“ssh _username_\@_ip_address_”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。
201
202   ![zh-cn_image_0000001215879750](figures/zh-cn_image_0000001215879750.png)
203
2043. 在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。
205
206   ![zh-cn_image_0000001260519729](figures/zh-cn_image_0000001260519729.png)
207
2084. 在SSH TARGETS中,找到远程计算机,点击![zh-cn_image_0000001194080414](figures/zh-cn_image_0000001194080414.png),打开远程计算机。
209
210   ![zh-cn_image_0000001215720398](figures/zh-cn_image_0000001215720398.png)
211
2125. 在弹出的输入框中,选择**Linux**,然后在选择**Continue**,然后输入登录远程计算机的密码,连接远程计算机 。
213
214   ![zh-cn_image_0000001215897530](figures/zh-cn_image_0000001215897530.png)
215
216   连接成功后,等待在远程计算机.vscode-server文件夹下自动安装插件,安装完成后,根据界面提示在Windows系统下重新加载Visual Studio Code,便可以在Windows的DevEco Device Tool界面进行源码开发、编译、烧录等操作。
217
218
219### 注册访问Ubuntu环境的公钥
220
221在完成以上操作后,您就可以通过Windows远程连接Ubuntu环境进行开发了,但在使用过程中,需要您频繁的输入远程连接密码来进行连接。为解决该问题,您可以使用SSH公钥来进行设置。
222
2231. 打开Git bash命令行窗口,执行如下命令,生成SSH公钥,请注意,在执行命令过程中,请根据界面提示进行操作。username和ip请填写连接Ubuntu系统时需要的参数。
224
225   ```
226   ssh-keygen -t rsa
227   ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
228   ```
229
230   ![zh-cn_image_0000001271532317](figures/zh-cn_image_0000001271532317.png)
231
2322. 在Visual Studio Code中,点击远程连接的设置按钮,并选择打开config文件。
233
234   ![zh-cn_image_0000001226034634](figures/zh-cn_image_0000001226034634.png)
235
2363. 在config配置文件中添加SSK Key文件信息,如下图所示,然后保存即可。
237
238   ![zh-cn_image_0000001270356233](figures/zh-cn_image_0000001270356233.png)
239
240
241## 获取源码
242
243在Ubuntu环境下通过以下步骤拉取OpenHarmony源码。
244
245
246### 准备工作
247
2481. 注册码云gitee帐号。
249
2502. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)251
2523. 安装git客户端和git-lfs。(上述工具已在安装必要的库和工具小节安装。如已安装,请忽略)
253
254     更新软件源:
255
256   ```
257   sudo apt-get update
258   ```
259
260     通过以下命令安装:
261
262   ```
263   sudo apt-get install git git-lfs
264   ```
265
2664. 配置用户信息。
267
268   ```
269   git config --global user.name "yourname"
270   git config --global user.email "your-email-address"
271   git config --global credential.helper store
272   ```
273
2745. 执行如下命令安装码云repo工具。
275
276   ```
277   curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中
278   chmod a+x /usr/local/bin/repo
279   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
280   ```
281
282
283### 获取源码
284
285> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
286> Master主干为开发分支,开发者可通过Master主干获取最新特性。发布分支代码相对比较稳定,开发者可基于发布分支代码进行商用功能开发。
287
288- **OpenHarmony主干代码获取**
289
290  方式一(推荐):通过repo + ssh下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。
291
292  ```
293  repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
294  repo sync -c
295  repo forall -c 'git lfs pull'
296  ```
297
298  方式二:通过repo + https下载。
299
300
301  ```
302  repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
303  repo sync -c
304  repo forall -c 'git lfs pull'
305  ```
306
307- **OpenHarmony发布分支代码获取**
308
309  OpenHarmony各个版本发布分支的源码获取方式请参考[Release-Notes](../../release-notes/Readme.md)。
310
311
312### 执行prebuilts
313
314  在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
315
316```
317bash build/prebuilts_download.sh
318```
319
320
321## 安装编译工具
322
323想要详细了解OpenHarmony编译构建模块功能的开发者可参考[编译构建指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-build.md)324
325相关操作在Ubuntu环境下进行。
326
327
328### 安装hb
329
330> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
331> 如需安装代理,请参考[配置代理](../quick-start/quickstart-lite-reference.md#配置代理)。
332
3331. 运行如下命令安装hb并更新至最新版本
334
335   ```
336   pip3 install --user build/lite
337   ```
338
3392. 设置环境变量
340
341   ```
342   vim ~/.bashrc
343   ```
344
345     将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
346
347   ```
348   export PATH=~/.local/bin:$PATH
349   ```
350
351     执行如下命令更新环境变量。
352
353   ```
354   source ~/.bashrc
355   ```
356
3573. 在源码目录执行"hb -h",界面打印以下信息即表示安装成功:
358
359   ```
360   usage: hb
361
362   OHOS build system
363
364   positional arguments:
365     {build,set,env,clean}
366       build               Build source code
367       set                 OHOS build settings
368       env                 Show OHOS build env
369       clean               Clean output
370
371   optional arguments:
372     -h, --help            show this help message and exit
373   ```
374
375> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **须知:**
376> - 可采用以下命令卸载hb:
377>
378>   ```
379>   pip3 uninstall ohos-build
380>   ```
381>
382> - 若安装hb的过程中遇到问题,请参见下文[常见问题](../quick-start/quickstart-lite-faq-hb.md)进行解决。
383
384
385### 安装LLVM(仅OpenHarmony_v1.x分支/标签需要)
386
387> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **须知:**
388> 如果下载的源码为OpenHarmony_v1.x分支/标签,请按下面的步骤安装9.0.0版本的llvm。
389>
390> 如果下载的源码为Master及非OpenHarmony_v1.x分支/标签,可直接跳过本小节,hb会自动下载最新的llvm。
391
3921. 打开Linux编译服务器终端。
393
3942. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar)395
3963. 解压LLVM安装包至~/llvm路径下。
397
398   ```
399   tar -zxvf llvm.tar -C ~/
400   ```
401
4024. 设置环境变量。
403
404   ```
405   vim ~/.bashrc
406   ```
407
408   将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
409
410
411   ```
412   export PATH=~/llvm/bin:$PATH
413   ```
414
4155. 生效环境变量。
416
417   ```
418   source ~/.bashrc
419   ```
420