quickstart-lite-env-setup.md 16.6 KB
Newer Older
E
ester.zhou 已提交
1
# Setting Up Environments for the Mini and Small Systems
D
duangavin123 已提交
2 3


E
ester.zhou 已提交
4
## System Requirements
D
duangavin123 已提交
5

E
ester.zhou 已提交
6
- Windows: Windows 10 (64-bit)
D
duangavin123 已提交
7

E
ester.zhou 已提交
8
- Ubuntu: Ubuntu 18.04 or later; recommended memory: 16 GB or higher.
D
duangavin123 已提交
9

E
ester.zhou 已提交
10
- User name: cannot contain Chinese characters
D
duangavin123 已提交
11

E
ester.zhou 已提交
12 13 14 15 16 17 18 19 20 21
- DevEco Device Tool: 3.0 Release


## Installing Necessary Libraries and Tools

To install the necessary libraries and tools, perform the following steps.

On Ubuntu:

1. Run the following **apt-get** command:
E
ester.zhou 已提交
22
   
E
ester.zhou 已提交
23 24 25 26
   ```
   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
   ```

E
ester.zhou 已提交
27
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
28 29 30 31 32 33 34 35 36 37
   > The preceding command is applicable to Ubuntu 18.04. For other Ubuntu versions, modify the preceding installation command based on the installation package name. Specifically:
   > 
   > - Python 3.8 or a later version is required. This section uses Python 3.8 as an example.
   > 
   > - Java 8 or later is required. This section uses Java 8 as an example.

2. Set Python 3.8 as the default Python version.

   Check the location of Python 3.8:

E
ester.zhou 已提交
38
   
E
ester.zhou 已提交
39 40 41 42 43
   ```
   which python3.8
   ```

   Change python and python3 to python3.8.
E
ester.zhou 已提交
44
   
E
ester.zhou 已提交
45 46 47 48 49 50 51 52 53 54
   ```
   sudo update-alternatives --install /usr/bin/python python {python3.8 path} 1    #{Python3.8 path} is the location of Python 3.8 obtained in the previous step.
   sudo update-alternatives --install /usr/bin/python3 python3 {python3.8 path} 1   #{Python3.8 path} is the location of Python 3.8 obtained in the previous step.
   ```


## Installing DevEco Device Tool

To remotely access the Ubuntu environment through Windows to perform operations such as burning, you need to install DevEco Device Tool on both Windows and Ubuntu.

E
ester.zhou 已提交
55
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
56 57 58 59 60 61 62 63 64 65 66
> DevEco Device Tool is a one-stop integrated development environment (IDE) provided for developers of OpenHarmony-powered smart devices. It allows code editing, compiling, burning, and debugging. This document describes how to use DevEco Device Tool to remotely connect to the Ubuntu environment for burning and running.


### Installing DevEco Device Tool for Windows

1. Download the [DevEco Device Tool 3.0 Release](https://device.harmonyos.com/cn/ide#download) Windows edition.

2. Decompress the DevEco Device Tool package, double-click the installer, and then click **Next**.

3. Set the installation path of DevEco Device Tool and click **Next**. You are advised to install DevEco Device Tool in a non-system drive.

E
ester.zhou 已提交
67
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
68 69 70 71 72 73 74 75 76 77
   > If you have installed DevEco Device Tool 3.0 Beta2 or earlier, the earlier version will be uninstalled before you install a new version. If the following error message is displayed during the uninstallation, click **Ignore** to continue the installation. This error does not affect the installation of the new version.
   > 
   > ![en-us_image_0000001239275843](figures/en-us_image_0000001239275843.png)

   ![en-us_image_0000001270076961](figures/en-us_image_0000001270076961.png)

4. When prompted, select the tools to be automatically installed.

   1. On the **VSCode installation confirm** page, select **Install VScode 1.62.2 automatically** and click **Next**.

E
ester.zhou 已提交
78
       > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
79 80 81 82 83 84
       > If Visual Studio Code 1.62 or later has been installed, this step will be skipped.

       ![en-us_image_0000001237801283](figures/en-us_image_0000001237801283.png)

   2. On the displayed **Python select page**, select **Download from Huawei mirror** and click **Next**.

E
ester.zhou 已提交
85
       > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
       > If Python 3.8 or 3.9 has been installed, select **Use one of compatible on your PC**.

       ![en-us_image_0000001193983334](figures/en-us_image_0000001193983334.png)

5. In the dialog box shown below, click **Next** to download and install the tools..

   ![en-us_image_0000001239634067](figures/en-us_image_0000001239634067.png)

6. Wait for the DevEco Device Tool setup wizard to automatically install DevEco Device Tool. After the installation is complete, click **Finish** to close the setup wizard.

   ![en-us_image_0000001239650137](figures/en-us_image_0000001239650137.png)

7. From Visual Studio Code, access the DevEco Device Tool page. Now you can conduct your development in DevEco Device Tool.

   ![en-us_image_0000001225760456](figures/en-us_image_0000001225760456.png)


### Installing DevEco Device Tool for Ubuntu

1. Make sure the Ubuntu shell environment is **bash**.
   1. Run the following command and check whether the command output is **bash**. If the command output is not **bash**, go to step 2.
E
ester.zhou 已提交
107
      
E
ester.zhou 已提交
108 109 110 111 112 113
       ```
       ls -l /bin/sh
       ```

       ![en-us_image_0000001226764302](figures/en-us_image_0000001226764302.png)
   2. Start the command-line tool, run the following command, enter your password, and select **No** to set **Ubuntu shell** to **bash**.
E
ester.zhou 已提交
114
      
E
ester.zhou 已提交
115 116 117 118 119 120 121 122 123 124
       ```
       sudo dpkg-reconfigure dash
       ```

       ![en-us_image_0000001243641075](figures/en-us_image_0000001243641075.png)

2. Download the [DevEco Device Tool 3.0 Release Linux version](https://device.harmonyos.com/cn/ide#download).

3. Decompress the DevEco Device Tool software package and assign permission on the folder obtained from the decompression.

E
ester.zhou 已提交
125
   1. Go to the directory where the DevEco Device Tool software package is stored and run the following command to decompress the software package. In the command, change **devicetool-linux-tool-3.0.0.401.zip** to the actual software package name.
E
ester.zhou 已提交
126
      
E
ester.zhou 已提交
127
       ```
E
ester.zhou 已提交
128
       unzip devicetool-linux-tool-3.0.0.401.zip
E
ester.zhou 已提交
129
       ```
E
ester.zhou 已提交
130
   2. Open the folder of the decompressed software package and run the following command to grant the execute permission on the installation file. In the command, change **devicetool-linux-tool-3.0.0.401.sh** to the actual installation file name.
E
ester.zhou 已提交
131
      
E
ester.zhou 已提交
132
       ```
E
ester.zhou 已提交
133
       chmod u+x devicetool-linux-tool-3.0.0.401.sh
E
ester.zhou 已提交
134 135
       ```

E
ester.zhou 已提交
136
4. Run the following command to install DevEco Device Tool, where **devicetool-linux-tool-3.0.0.401.sh** indicates the installation file name.
E
ester.zhou 已提交
137

E
ester.zhou 已提交
138
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
139 140
   > During the installation, the setup wizard automatically checks whether Python 3.8 or 3.9 is installed. If Python 3.8 or 3.9 is not installed, the setup wizard displays the "Do you want to continue?" message; enter **Y** to allow the setup wizard to automatically install Python.

E
ester.zhou 已提交
141
   
E
ester.zhou 已提交
142
   ```
E
ester.zhou 已提交
143
   sudo ./devicetool-linux-tool-3.0.0.401.sh
E
ester.zhou 已提交
144 145 146 147 148 149 150
   ```

   Wait until the "Deveco Device Tool successfully installed." message is displayed.

   ![en-us_image_0000001198722374](figures/en-us_image_0000001198722374.png)


E
ester.zhou 已提交
151
## Configuring Windows to Remotely Access the Ubuntu Development Environment
E
ester.zhou 已提交
152 153 154 155 156 157


### Installing the SSH Service and Obtaining the IP Address for Remote Access

1. In Ubuntu, open the Terminal tool and run the following command to install the SSH service:

E
ester.zhou 已提交
158
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
159 160
   > If the command fails to be executed and the system displays a message indicating that the openssh-server and openssh-client depend on different versions, install the openssh-client of the required version (for example, **sudo apt-get install openssh-client=1:8.2p1-4**) as prompted on the command-line interface (CLI) and run the command again to install the openssh-server.

E
ester.zhou 已提交
161
   
E
ester.zhou 已提交
162 163 164 165 166
   ```
   sudo apt-get install openssh-server
   ```

2. Run the following command to start the SSH service:
E
ester.zhou 已提交
167
   
E
ester.zhou 已提交
168 169 170 171 172
   ```
   sudo systemctl start ssh
   ```

3. Run the following command to obtain the IP address of the current user for remote access to the Ubuntu environment from Windows:
E
ester.zhou 已提交
173
   
E
ester.zhou 已提交
174 175 176 177 178 179 180 181 182
   ```
   ifconfig
   ```

   ![en-us_image_0000001215737140](figures/en-us_image_0000001215737140.png)


### Installing Remote SSH

E
ester.zhou 已提交
183
1. Open Visual Studio Code in Windows, click ![en-us_image_0000001239080359](figures/en-us_image_0000001239080359.png), and search for **remote-ssh** in the Extension Marketplace.
E
ester.zhou 已提交
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221

   ![en-us_image_0000001193920448](figures/en-us_image_0000001193920448.png)

2. Click **Install** to install Remote-SSH. After the installation is successful, **Remote-SSH** is displayed on the **INSTALLED** list.

   ![en-us_image_0000001238880335](figures/en-us_image_0000001238880335.png)


### Remotely Connecting to the Ubuntu Environment

1. Open Visual Studio Code in Windows, click ![en-us_image_0000001238760373](figures/en-us_image_0000001238760373.png), and click + on the **REMOTE EXOPLORER** page.

   ![en-us_image_0000001215878922](figures/en-us_image_0000001215878922.png)

2. In the **Enter SSH Connection Command** text box, enter **ssh *username@ip_address***, where *ip_address* indicates the IP address of the remote computer to be connected and *username* indicates the account name used for logging in to the remote computer.

   ![en-us_image_0000001215879750](figures/en-us_image_0000001215879750.png)

3. In the displayed dialog box, select the default first option as the SSH configuration file.

   ![en-us_image_0000001260519729](figures/en-us_image_0000001260519729.png)

4. Under **SSH TARGETS**, find the remote computer and click ![en-us_image_0000001194080414](figures/en-us_image_0000001194080414.png) to start it.

   ![en-us_image_0000001215720398](figures/en-us_image_0000001215720398.png)

5. In the displayed dialog box, select **Linux**, select **Continue**, and enter the password for logging in to the remote computer.

   ![en-us_image_0000001215897530](figures/en-us_image_0000001215897530.png)

   After the connection is successful, the plug-in is automatically installed in the .vscode-server folder on the remote computer. After the installation is complete, reload Visual Studio Code in Windows as prompted. Then you can develop, compile, and burn source code in DevEco Device Tool on Windows.


### Registering the Public Key for Accessing the Ubuntu Environment

After the preceding operations are complete, you can remotely connect to the Ubuntu environment through Windows for development. However, you need to frequently enter the remote connection password. To eliminate this need, you can use the SSH public key.

1. Open the Git bash CLI and run the following command to generate an SSH public key. During command execution, perform operations as prompted. Set **username** and **ip** to the user name and IP address you use for connecting to the Ubuntu system.
E
ester.zhou 已提交
222
   
E
ester.zhou 已提交
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
   ```
   ssh-keygen -t rsa
   ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
   ```

   ![en-us_image_0000001271532317](figures/en-us_image_0000001271532317.png)

2. In Visual Studio Code, click the remote connection setting button and open the **config** file.

   ![en-us_image_0000001226034634](figures/en-us_image_0000001226034634.png)

3. In the **config** file, add the SSK key file information, as shown below. Then save the file.

   ![en-us_image_0000001270356233](figures/en-us_image_0000001270356233.png)


## Obtaining Source Code

In the Ubuntu environment, perform the following steps to obtain the OpenHarmony source code:


### Preparations

1. Register your account with Gitee.

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

3. Install the git client and git-lfs. (Skip this step if these tools have been installed in Installing Required Libraries and Tools. )

     Update the software source:
     
   ```
   sudo apt-get update
   ```

     Run the following command to install the tools:
E
ester.zhou 已提交
259
   
E
ester.zhou 已提交
260 261 262 263 264
   ```
   sudo apt-get install git git-lfs
   ```

4. Configure user information.
E
ester.zhou 已提交
265
   
E
ester.zhou 已提交
266 267 268 269 270 271 272
   ```
   git config --global user.name "yourname"
   git config --global user.email "your-email-address"
   git config --global credential.helper store
   ```

5. Run the following commands to install the **repo** tool:
E
ester.zhou 已提交
273
   
E
ester.zhou 已提交
274 275 276 277 278 279 280
   ```
   curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /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.
   chmod a+x /usr/local/bin/repo
   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
   ```


E
ester.zhou 已提交
281
### Procedure
E
ester.zhou 已提交
282

E
ester.zhou 已提交
283
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
284 285 286 287 288 289 290 291 292 293 294 295 296 297
> 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.

E
ester.zhou 已提交
298
  
E
ester.zhou 已提交
299 300 301 302 303 304 305 306 307 308 309 310 311
  ```
  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](../../release-notes/Readme.md).


### Running prebuilts

E
ester.zhou 已提交
312
Go to the root directory of the source code and run the following script to install the compiler and binary tool:
E
ester.zhou 已提交
313

E
ester.zhou 已提交
314 315 316 317 318 319 320 321 322 323 324 325 326 327
```
bash build/prebuilts_download.sh
```


## Installing the Compilation Tool

For details about the functions of the OpenHarmony compilation and building module, see [Compilation and Building Guidelines](https://gitee.com/openharmony/docs/blob/master/en/device-dev/subsystems/subsys-build.md).

Perform the following steps in Ubuntu:


### Install hb.

E
ester.zhou 已提交
328
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
329
> To install a proxy, see [Configuring the Proxy](../quick-start/quickstart-lite-reference.md#section6204129143010).
E
ester.zhou 已提交
330 331

1. Run the following command to install hb and update it to the latest version:
E
ester.zhou 已提交
332
   
E
ester.zhou 已提交
333 334 335 336 337
   ```
   pip3 install --user build/lite
   ```

2. Set the environment variable.
E
ester.zhou 已提交
338
   
E
ester.zhou 已提交
339 340 341 342 343
   ```
   vim ~/.bashrc
   ```

     Copy the following command to the last line of the .bashrc file, save the file, and exit.
E
ester.zhou 已提交
344
   
E
ester.zhou 已提交
345 346 347 348 349
   ```
   export PATH=~/.local/bin:$PATH
   ```

     Update the environment variable.
E
ester.zhou 已提交
350
   
E
ester.zhou 已提交
351 352 353 354 355
   ```
   source ~/.bashrc
   ```

3. Run the **hb -h** command in the source code directory. If the following information is displayed, the installation is successful:
E
ester.zhou 已提交
356
   
E
ester.zhou 已提交
357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
   ```
   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
   ```

E
ester.zhou 已提交
373
> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **NOTICE**<br>
E
ester.zhou 已提交
374
> - Run the following command to uninstall hb:
E
ester.zhou 已提交
375
>    
E
ester.zhou 已提交
376 377 378 379 380 381 382 383 384
>   ```
>   pip3 uninstall ohos-build
>   ```
> 
> - If any issue occurs during the hb installation, see [FAQs](../quick-start/quickstart-lite-faq-hb.md) to troubleshoot.


### Install LLVM. This step is only required for OpenHarmony_v1.x.

E
ester.zhou 已提交
385
> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **NOTICE**<br>
E
ester.zhou 已提交
386 387 388 389 390 391 392 393 394
> When downloading source code under the OpenHarmony_v1.x branches or tags, perform the operation procedure described in this section to install LLVM 9.0.0.
> 
> When downloading source code under the Master or non-OpenHarmony_v1.x branches or tags, skip this section. hb will automatically download the latest version of LLVM.

1. Start a Linux server.

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

3. Decompress the LLVM installation package to **~/llvm**.
E
ester.zhou 已提交
395
   
E
ester.zhou 已提交
396 397 398 399 400
   ```
   tar -zxvf llvm.tar -C ~/
   ```

4. Set the environment variable.
E
ester.zhou 已提交
401
   
E
ester.zhou 已提交
402 403 404 405 406 407
   ```
   vim ~/.bashrc
   ```

   Copy the following command to the last line of the .bashrc file, save the file, and exit.

E
ester.zhou 已提交
408
   
E
ester.zhou 已提交
409 410 411 412 413
   ```
   export PATH=~/llvm/bin:$PATH
   ```

5. Validate the environment variable.
E
ester.zhou 已提交
414
   
E
ester.zhou 已提交
415 416 417
   ```
   source ~/.bashrc
   ```