quickstart-lite-env-setup.md 15.2 KB
Newer Older
D
duangavin123 已提交
1
# 搭建轻量与小型系统环境
D
duangavin123 已提交
2 3


D
duangavin123 已提交
4
## 系统要求
D
duangavin123 已提交
5

D
duangavin123 已提交
6
- Windows系统要求:Windows10 64位系统。
D
duangavin123 已提交
7

D
duangavin123 已提交
8
- Ubuntu系统要求:Ubuntu18.04及以上版本,内存推荐16 GB及以上。
D
duangavin123 已提交
9

D
duangavin123 已提交
10 11 12
- Windows系统和Ubuntu系统的用户名不能包含中文字符。

- Windows和Ubuntu上安装的DevEco Device Tool为3.0 Release版本。
D
duangavin123 已提交
13 14


D
duangavin123 已提交
15
## 安装必要的库和工具
D
duangavin123 已提交
16

D
duangavin123 已提交
17 18 19 20
编译OpenHarmony需要一些库和工具,可以通过以下步骤进行安装。

相应操作在Ubuntu环境中进行。

D
duangavin123 已提交
21 22 23 24 25 26 27 28 29 30 31
1. 使用如下apt-get命令安装后续操作所需的库和工具:
     
   ```
   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
   ```

   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
   > 以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。其中:
   > 
   > - Python要求安装Python 3.8及以上版本,此处以Python 3.8为例。
   > 
D
duangavin123 已提交
32
   > - Java要求java8及以上版本,此处以java8为例。
D
duangavin123 已提交
33 34

2. 将python 3.8设置为默认python版本。
L
liyan 已提交
35

D
duangavin123 已提交
36 37 38 39 40 41 42
   查看python 3.8的位置:

     
   ```
   which python3.8
   ```

L
liyan 已提交
43
   将python和python3切换为python3.8:
D
duangavin123 已提交
44 45 46 47 48 49 50 51 52
     
   ```
   sudo update-alternatives --install /usr/bin/python python {python3.8 路径} 1    #{python3.8 路径}为上一步查看的python3.8的位置
   sudo update-alternatives --install /usr/bin/python3 python3 {python3.8 路径} 1   #{python3.8 路径}为上一步查看的python3.8的位置
   ```


## 安装DevEco Device Tool

D
duangavin123 已提交
53
通过Windows系统远程访问Ubuntu环境进行烧录等操作,需要先在Windows和Ubuntu下分别安装DevEco Device Tool。
D
duangavin123 已提交
54 55

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
D
duangavin123 已提交
56 57 58 59 60 61 62 63 64 65
> DevEco Device Tool是OpenHarmony的一站式开发工具,支持源码开发、编译、烧录,调测等,本文主要用其远端连接Ubuntu环境进行烧录和运行。


### 安装Window版本DevEco Device Tool

1. 下载[DevEco Device Tool 3.0 Release](https://device.harmonyos.com/cn/ide#download)Windows版。

2. 解压DevEco Device Tool压缩包,双击安装包程序,点击Next进行安装。

3. 设置DevEco Device Tool的安装路径,建议安装到非系统盘符,点击**Next**
L
liyan 已提交
66

D
duangavin123 已提交
67 68 69 70 71 72 73 74
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
   > 如果您已安装DevEco Device Tool 3.0 Beta2及以前的版本,则在安装新版本时,会先卸载旧版本,卸载过程中出现如下错误提示时,请点击“Ignore”继续安装,该错误不影响新版本的安装。
   > 
   > ![zh-cn_image_0000001239275843](figures/zh-cn_image_0000001239275843.png)

   ![zh-cn_image_0000001270076961](figures/zh-cn_image_0000001270076961.png)

4. 根据安装向导提示,勾选要自动安装的软件。
L
liyan 已提交
75

D
duangavin123 已提交
76
   1. 在弹出VSCode installation confirm页面,勾选“Install VScode 1.62.2automatically”,点击**Next**
L
liyan 已提交
77

D
duangavin123 已提交
78 79 80 81
       > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
       > 如果检测到Visual Studio Code已安装,且版本为1.62及以上,则会跳过该步骤。

       ![zh-cn_image_0000001237801283](figures/zh-cn_image_0000001237801283.png)
L
liyan 已提交
82

D
duangavin123 已提交
83
   2. 在弹出的Python select page选择“Download from Huawei mirror”,点击**Next**
L
liyan 已提交
84

D
duangavin123 已提交
85 86 87 88
       > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
       > 如果系统已安装可兼容的Python版本(Python 3.8~3.9版本),可选择“Use one of compatible on your PC”。

       ![zh-cn_image_0000001193983334](figures/zh-cn_image_0000001193983334.png)
D
duangavin123 已提交
89

D
duangavin123 已提交
90
5. 在以下界面点击**Next**,进行软件下载和安装。
91

D
duangavin123 已提交
92 93 94
   ![zh-cn_image_0000001239634067](figures/zh-cn_image_0000001239634067.png)

6. 继续等待DevEco Device Tool安装向导自动安装DevEco Device Tool插件,直至安装完成,点击**Finish**,关闭DevEco Device Tool安装向导。
95

D
duangavin123 已提交
96 97 98
   ![zh-cn_image_0000001239650137](figures/zh-cn_image_0000001239650137.png)

7. 打开Visual Studio Code,进入DevEco Device Tool工具界面。至此,DevEco Device Tool Windows开发环境安装完成。
99

D
duangavin123 已提交
100 101 102 103
   ![zh-cn_image_0000001225760456](figures/zh-cn_image_0000001225760456.png)


### 安装Ubuntu版本DevEco Device Tool
D
duangavin123 已提交
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123

1. 将Ubuntu Shell环境修改为bash。
   1. 执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据步骤2,将Ubuntu shell修改为bash。
         
       ```
       ls -l /bin/sh
       ```

       ![zh-cn_image_0000001226764302](figures/zh-cn_image_0000001226764302.png)
   2. 打开终端工具,执行如下命令,输入密码,然后选择**No**,将Ubuntu shell由dash修改为bash。
         
       ```
       sudo dpkg-reconfigure dash
       ```

       ![zh-cn_image_0000001243641075](figures/zh-cn_image_0000001243641075.png)

2. 下载[DevEco Device Tool 3.0 Release](https://device.harmonyos.com/cn/ide#download)Linux版本。

3. 解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。
L
liyan 已提交
124

D
duangavin123 已提交
125 126 127 128 129 130 131 132 133 134 135
   1. 进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-3.0.0.400.zip为软件包名称,请根据实际进行修改。
         
       ```
       unzip devicetool-linux-tool-3.0.0.400.zip
       ```
   2. 进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-3.0.0.400.sh请根据实际进行修改。
         
       ```
       chmod u+x devicetool-linux-tool-3.0.0.400.sh
       ```

D
duangavin123 已提交
136
4. 执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-3.0.0.400.sh请根据实际进行修改。
L
liyan 已提交
137

D
duangavin123 已提交
138
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
D
duangavin123 已提交
139
   > 安装过程中,会自动检查Python是否安装,且要求Python为3.8~3.9版本。如果不满足,则安装过程中会自动安装,提示“Do you want to continue?”,请输入“Y”后继续安装。
D
duangavin123 已提交
140 141 142

     
   ```
D
duangavin123 已提交
143
   sudo ./devicetool-linux-tool-3.0.0.400.sh
D
duangavin123 已提交
144 145 146 147
   ```

   安装完成后,当界面输出“Deveco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。

D
duangavin123 已提交
148 149 150 151 152 153 154 155 156
   ![zh-cn_image_0000001198722374](figures/zh-cn_image_0000001198722374.png)


## 配置Windows远程访问Ubuntu环境


### 安装SSH服务并获取远程访问的IP地址

1. 在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。
L
liyan 已提交
157

D
duangavin123 已提交
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
   > 如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudo apt-get install openssh-client=1:8.2p1-4),再重新执行该命令安装openssh-server。

     
   ```
   sudo apt-get install openssh-server
   ```

2. 执行如下命令,启动SSH服务。
     
   ```
   sudo systemctl start ssh
   ```

3. 执行如下命令,获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。
     
   ```
   ifconfig
   ```

   ![zh-cn_image_0000001215737140](figures/zh-cn_image_0000001215737140.png)


### 安装Remote SSH

1. 打开Windows系统下的Visual Studio Code,点击![zh-cn_image_0000001239080359](figures/zh-cn_image_0000001239080359.png),在插件市场的搜索输入框中输入“remote-ssh”。
184

D
duangavin123 已提交
185 186 187
   ![zh-cn_image_0000001193920448](figures/zh-cn_image_0000001193920448.png)

2. 点击Remote-SSH的**Install**按钮,安装Remote-SSH。安装成功后,在**INSTALLED**下可以看到已安装Remote-SSH。
188

D
duangavin123 已提交
189 190 191 192 193 194
   ![zh-cn_image_0000001238880335](figures/zh-cn_image_0000001238880335.png)


### 远程连接Ubuntu环境

1. 打开Windows系统的Visual Studio Code,点击![zh-cn_image_0000001238760373](figures/zh-cn_image_0000001238760373.png),在REMOTE EXOPLORER页面点击+按钮。
195

D
duangavin123 已提交
196
   ![zh-cn_image_0000001215878922](figures/zh-cn_image_0000001215878922.png)
D
duangavin123 已提交
197

D
duangavin123 已提交
198
2. 在弹出的SSH连接命令输入框中输入“ssh _username_\@_ip_address_”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。
199

D
duangavin123 已提交
200
   ![zh-cn_image_0000001215879750](figures/zh-cn_image_0000001215879750.png)
D
duangavin123 已提交
201

D
duangavin123 已提交
202
3. 在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。
203

D
duangavin123 已提交
204 205 206
   ![zh-cn_image_0000001260519729](figures/zh-cn_image_0000001260519729.png)

4. 在SSH TARGETS中,找到远程计算机,点击![zh-cn_image_0000001194080414](figures/zh-cn_image_0000001194080414.png),打开远程计算机。
207

D
duangavin123 已提交
208 209 210
   ![zh-cn_image_0000001215720398](figures/zh-cn_image_0000001215720398.png)

5. 在弹出的输入框中,选择**Linux**,然后在选择**Continue**,然后输入登录远程计算机的密码,连接远程计算机 。
211

D
duangavin123 已提交
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
   ![zh-cn_image_0000001215897530](figures/zh-cn_image_0000001215897530.png)

   连接成功后,等待在远程计算机.vscode-server文件夹下自动安装插件,安装完成后,根据界面提示在Windows系统下重新加载Visual Studio Code,便可以在Windows的DevEco Device Tool界面进行源码开发、编译、烧录等操作。


### 注册访问Ubuntu环境的公钥

在完成以上操作后,您就可以通过Windows远程连接Ubuntu环境进行开发了,但在使用过程中,需要您频繁的输入远程连接密码来进行连接。为解决该问题,您可以使用SSH公钥来进行设置。

1. 打开Git bash命令行窗口,执行如下命令,生成SSH公钥,请注意,在执行命令过程中,请根据界面提示进行操作。username和ip请填写连接Ubuntu系统时需要的参数。
     
   ```
   ssh-keygen -t rsa
   ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
   ```

   ![zh-cn_image_0000001271532317](figures/zh-cn_image_0000001271532317.png)

2. 在Visual Studio Code中,点击远程连接的设置按钮,并选择打开config文件。
L
liyan 已提交
231

D
duangavin123 已提交
232 233 234
   ![zh-cn_image_0000001226034634](figures/zh-cn_image_0000001226034634.png)

3. 在config配置文件中添加SSK Key文件信息,如下图所示,然后保存即可。
L
liyan 已提交
235

D
duangavin123 已提交
236
   ![zh-cn_image_0000001270356233](figures/zh-cn_image_0000001270356233.png)
D
duangavin123 已提交
237 238 239 240


## 获取源码

D
duangavin123 已提交
241 242
在Ubuntu环境下通过以下步骤拉取OpenHarmony源码。

D
duangavin123 已提交
243 244 245 246 247 248 249 250

### 准备工作

1. 注册码云gitee帐号。

2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)

3. 安装git客户端和git-lfs。(上述工具已在安装必要的库和工具小节安装。如已安装,请忽略)
251

D
duangavin123 已提交
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
     更新软件源:
     
   ```
   sudo apt-get update
   ```

     通过以下命令安装:
     
   ```
   sudo apt-get install git git-lfs
   ```

4. 配置用户信息。
     
   ```
   git config --global user.name "yourname"
   git config --global user.email "your-email-address"
   git config --global credential.helper store
   ```

5. 执行如下命令安装码云repo工具。
     
   ```
   curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中
   chmod a+x /usr/local/bin/repo
   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
   ```


### 获取源码

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> Master主干为开发分支,开发者可通过Master主干获取最新特性。发布分支代码相对比较稳定,开发者可基于发布分支代码进行商用功能开发。

- **OpenHarmony主干代码获取**
D
duangavin123 已提交
287

D
duangavin123 已提交
288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305
    方式一(推荐):通过repo + ssh下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。
    
  ```
  repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
  repo sync -c
  repo forall -c 'git lfs pull'
  ```

  方式二:通过repo + https下载。

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

- **OpenHarmony发布分支代码获取**
D
duangavin123 已提交
306

D
duangavin123 已提交
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
  OpenHarmony各个版本发布分支的源码获取方式请参考[Release-Notes](../../release-notes/Readme.md)


### 执行prebuilts

  在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
  
```
bash build/prebuilts_download.sh
```


## 安装编译工具

想要详细了解OpenHarmony编译构建模块功能的开发者可参考[编译构建指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-build.md)

D
duangavin123 已提交
323 324
相关操作在Ubuntu环境下进行。

D
duangavin123 已提交
325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417

### 安装hb

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 如需安装代理,请参考[配置代理](../quick-start/quickstart-lite-reference.md#配置代理)。

1. 运行如下命令安装hb并更新至最新版本
     
   ```
   pip3 install --user build/lite
   ```

2. 设置环境变量
     
   ```
   vim ~/.bashrc
   ```

     将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
     
   ```
   export PATH=~/.local/bin:$PATH
   ```

     执行如下命令更新环境变量。
     
   ```
   source ~/.bashrc
   ```

3. 在源码目录执行"hb -h",界面打印以下信息即表示安装成功:
     
   ```
   usage: hb
   
   OHOS build system
   
   positional arguments:
     {build,set,env,clean}
       build               Build source code
       set                 OHOS build settings
       env                 Show OHOS build env
       clean               Clean output
   
   optional arguments:
     -h, --help            show this help message and exit
   ```

> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **须知:**
> - 可采用以下命令卸载hb:
>     
>   ```
>   pip3 uninstall ohos-build
>   ```
> 
> - 若安装hb的过程中遇到问题,请参见下文[常见问题](../quick-start/quickstart-lite-faq-hb.md)进行解决。


### 安装LLVM(仅OpenHarmony_v1.x分支/标签需要)

> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **须知:**
> 如果下载的源码为OpenHarmony_v1.x分支/标签,请按下面的步骤安装9.0.0版本的llvm。
> 
> 如果下载的源码为Master及非OpenHarmony_v1.x分支/标签,可直接跳过本小节,hb会自动下载最新的llvm。

1. 打开Linux编译服务器终端。

2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar)

3. 解压LLVM安装包至~/llvm路径下。
     
   ```
   tar -zxvf llvm.tar -C ~/
   ```

4. 设置环境变量。
     
   ```
   vim ~/.bashrc
   ```

   将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

     
   ```
   export PATH=~/llvm/bin:$PATH
   ```

5. 生效环境变量。
     
   ```
   source ~/.bashrc
   ```