quickstart-lite-env-setup.md 16.5 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
       > 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)

E
ester.zhou 已提交
90
5. In the dialog box shown below, click **Next** to download and install the tools.
E
ester.zhou 已提交
91 92 93

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

E
ester.zhou 已提交
94 95 96 97 98
6. Read the user agreement and privacy statement carefully, select I accept the licenses, and click **Next**.

   ![en-us_image_0000001307019009](figures/en-us_image_0000001307019009.png)
   
7. 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.
E
ester.zhou 已提交
99 100 101

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

E
ester.zhou 已提交
102
8. From Visual Studio Code, access the DevEco Device Tool page. Now you can conduct your development in DevEco Device Tool.
E
ester.zhou 已提交
103 104 105 106 107 108 109 110

   ![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 已提交
111
      
E
ester.zhou 已提交
112 113 114 115 116 117
       ```
       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 已提交
118
      
E
ester.zhou 已提交
119 120 121 122 123 124 125 126 127 128
       ```
       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 已提交
129
   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 已提交
130
      
E
ester.zhou 已提交
131
       ```
E
ester.zhou 已提交
132
       unzip devicetool-linux-tool-3.0.0.401.zip
E
ester.zhou 已提交
133
       ```
E
ester.zhou 已提交
134
   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 已提交
135
      
E
ester.zhou 已提交
136
       ```
E
ester.zhou 已提交
137
       chmod u+x devicetool-linux-tool-3.0.0.401.sh
E
ester.zhou 已提交
138 139
       ```

E
ester.zhou 已提交
140
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 已提交
141 142

   ```
E
ester.zhou 已提交
143
   sudo ./devicetool-linux-tool-3.0.0.401.sh
E
ester.zhou 已提交
144
   ```
E
ester.zhou 已提交
145 146 147 148 149 150 151
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
   > 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.
   > 
   > During the installation, the page for agreeing to the user agreement and privacy statement is displayed. Read and agree to the user agreement and privacy statement.
   > 
   > If this page is not displayed and the installation exits, run the apt-get install whiptail command, then the installation command.
   
E
ester.zhou 已提交
152 153 154 155 156
   Wait until the "Deveco Device Tool successfully installed." message is displayed.

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


E
ester.zhou 已提交
157
## Configuring Windows to Remotely Access the Ubuntu Development Environment
E
ester.zhou 已提交
158 159 160 161 162 163


### 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 已提交
164
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
165 166
   > 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 已提交
167
   
E
ester.zhou 已提交
168 169 170 171 172
   ```
   sudo apt-get install openssh-server
   ```

2. Run the following command to start the SSH service:
E
ester.zhou 已提交
173
   
E
ester.zhou 已提交
174 175 176 177 178
   ```
   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 已提交
179
   
E
ester.zhou 已提交
180 181 182 183 184 185 186 187 188
   ```
   ifconfig
   ```

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


### Installing Remote SSH

E
ester.zhou 已提交
189
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 已提交
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

   ![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.
E
ester.zhou 已提交
217 218
   > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
   > To eliminate the need for frequently entering the password for logging in to the remote computer, set an SSH public key.
E
ester.zhou 已提交
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237

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


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

E
ester.zhou 已提交
238 239
   Update the software source:
   
E
ester.zhou 已提交
240 241 242 243
   ```
   sudo apt-get update
   ```

E
ester.zhou 已提交
244
   Run the following command to install the tools:
E
ester.zhou 已提交
245
   
E
ester.zhou 已提交
246 247 248 249 250
   ```
   sudo apt-get install git git-lfs
   ```

4. Configure user information.
E
ester.zhou 已提交
251
   
E
ester.zhou 已提交
252 253 254 255 256 257 258
   ```
   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 已提交
259
   
E
ester.zhou 已提交
260 261
   In this example, **~/bin** is used as an example installation directory. You can change the directory as needed.
   
E
ester.zhou 已提交
262
   ```
E
ester.zhou 已提交
263 264 265
   mkdir ~/bin
   curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo 
   chmod a+x ~/bin/repo
E
ester.zhou 已提交
266 267
   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
   ```
E
ester.zhou 已提交
268 269 270 271 272 273 274
6. 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.
   ```
E
ester.zhou 已提交
275 276


E
ester.zhou 已提交
277
### Procedure
E
ester.zhou 已提交
278

E
ester.zhou 已提交
279
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
E
ester.zhou 已提交
280 281 282 283
> 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**

E
ester.zhou 已提交
284 285
  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.\)
  
E
ester.zhou 已提交
286 287 288 289 290 291 292 293
  ```
  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 已提交
294
  
E
ester.zhou 已提交
295 296 297 298 299 300 301 302 303 304 305 306 307
  ```
  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 已提交
308
  Go to the root directory of the source code and run the following script to install the compiler and binary tool:
E
ester.zhou 已提交
309

E
ester.zhou 已提交
310 311 312 313 314 315 316 317 318 319 320 321
```
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:


E
ester.zhou 已提交
322
### Installing hb
E
ester.zhou 已提交
323

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

1. Run the following command to install hb and update it to the latest version:
E
ester.zhou 已提交
328
   
E
ester.zhou 已提交
329 330 331 332 333
   ```
   pip3 install --user build/lite
   ```

2. Set the environment variable.
E
ester.zhou 已提交
334
   
E
ester.zhou 已提交
335 336 337 338 339
   ```
   vim ~/.bashrc
   ```

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

     Update the environment variable.
E
ester.zhou 已提交
346
   
E
ester.zhou 已提交
347 348 349 350 351
   ```
   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 已提交
352
   
E
ester.zhou 已提交
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368
   ```
   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 已提交
369
> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **NOTICE**<br>
E
ester.zhou 已提交
370
> - Run the following command to uninstall hb:
E
ester.zhou 已提交
371
>    
E
ester.zhou 已提交
372 373 374 375 376 377 378
>   ```
>   pip3 uninstall ohos-build
>   ```
> 
> - If any issue occurs during the hb installation, see [FAQs](../quick-start/quickstart-lite-faq-hb.md) to troubleshoot.


E
ester.zhou 已提交
379
### Installing LLVM (Only Required for OpenHarmony_v1.x)
E
ester.zhou 已提交
380

E
ester.zhou 已提交
381
> ![icon-notice.gif](public_sys-resources/icon-notice.gif) **NOTICE**<br>
382
> When downloading source code under the OpenHarmony_v1.x branches or tags, perform the operation procedure described in this section to install LLVM 12.0.1.
E
ester.zhou 已提交
383 384 385 386 387
> 
> 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.

388
2. [Download LLVM](https://repo.huaweicloud.com/openharmony/compiler/clang/12.0.1-530132/linux/clang-530132-linux-x86_64.tar.bz2)
E
ester.zhou 已提交
389 390

3. Decompress the LLVM installation package to **~/llvm**.
E
ester.zhou 已提交
391
   
E
ester.zhou 已提交
392
   ```
393 394
   tar -jxvf clang.tar.bz2 -C ~/
   mv ~/clang-530132/ ~/llvm
E
ester.zhou 已提交
395 396 397
   ```

4. Set the environment variable.
E
ester.zhou 已提交
398
   
E
ester.zhou 已提交
399 400 401 402 403 404
   ```
   vim ~/.bashrc
   ```

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

E
ester.zhou 已提交
405
   
E
ester.zhou 已提交
406 407 408 409 410
   ```
   export PATH=~/llvm/bin:$PATH
   ```

5. Validate the environment variable.
E
ester.zhou 已提交
411
   
E
ester.zhou 已提交
412 413 414
   ```
   source ~/.bashrc
   ```