quickstart-standard-running-rk3568-build.md 4.3 KB
Newer Older
D
duangavin123 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
# 源码编译<a name="ZH-CN_TOPIC_0000001188207862"></a>

-   [使用Docker方式获取编译工具链](#section181431248132513)
    -   [执行prebuilts](#section111934551605)
    -   [安装Docker](#section1466184743915)
    -   [获取Docker环境](#section615912103552)

-   [使用安装包方式获取编译工具链](#section65647482593)
    -   [安装依赖工具](#section83441888010)
    -   [执行prebuilts](#section6389714142011)

-   [编译](#section92391739152318)

安装编译工具链后,即可对源码进行编译。在Linux环境下获取编译工具链有以下两种方式,二者选其一即可:

1.  Docker方式

    OpenHarmony标准系统为开发者提供的Docker环境已经将对应的编译工具链进行了封装,开发者可省略对应工具的安装。

2.  安装包方式

    使用安装包方式获取编译工具链时,开发者需自行安装相应的依赖工具。


## 使用Docker方式获取编译工具链<a name="section181431248132513"></a>

### 执行prebuilts<a name="section111934551605"></a>

在源码根目录下执行脚本,安装编译器及二进制工具。

```
bash build/prebuilts_download.sh
```

### 安装Docker<a name="section1466184743915"></a>

请参考[官方指导](https://docs.docker.com/engine/install/)

### 获取Docker环境<a name="section615912103552"></a>

**方式一:从HuaweiCloud SWR上直接获取Docker镜像进行构建:**

1.  获取Docker镜像。

    ```
    docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.5
    ```

2.  进入源码根目录执行如下命令,从而进入Docker构建环境。

    ```
    docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.5
    ```


**方式二:通过Dockerfile 构建本地Docker镜像进行构建**

1.  获取Dockerfile脚本文件,用来构建本地Docker镜像。

    ```
    git clone https://gitee.com/openharmony/docs.git
    ```

2.  进入Dockerfile代码目录路径执行Docker镜像构建命令。

    ```
    cd docs/docker/standard
    ./build.sh
    ```

3.  进入源码根目录执行如下命令,从而进入Docker构建环境。

    ```
    docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.5
    ```


## 使用安装包方式获取编译工具链<a name="section65647482593"></a>

### 安装依赖工具<a name="section83441888010"></a>

请在终端中输入如下命令安装编译相关的依赖工具:

```
sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 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
```

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

### 执行prebuilts<a name="section6389714142011"></a>

在源码根目录下执行脚本,安装编译器及二进制工具。

```
bash build/prebuilts_download.sh
```

## 编译<a name="section92391739152318"></a>

1.  进入源码根目录,执行如下命令进行版本编译。

    >![](../public_sys-resources/icon-note.gif) **说明:** 
    >使用Docker方式获取编译工具链的,请直接通过[获取Docker环境](#section615912103552)最后一步进入的Docker构建环境执行如下命令。

    ```
    ./build.sh --product-name rk3568 --ccache
    ```

2.  检查编译结果。编译完成后,log中显示如下:

    ```
    post_process
    =====build rk3568 successful.
    ```

    编译所生成的文件都归档在out/\{device\_name\}/目录下,结果镜像输出在out/\{device\_name\}/packages/phone/images/ 目录下。

    >![](../public_sys-resources/icon-note.gif) **说明:** 
    >其他模块化编译操作,可参见[编译构建指导](../subsystems/subsys-build-standard-large.md)。

3.  编译源码完成,请进行镜像烧录,具体请参见[镜像烧录](quickstart-standard-running-hi3516-burn.md)

>![](../public_sys-resources/icon-note.gif) **说明:** 
>若使用Docker环境进行编译,执行exit命令即可退出Docker。