关于openharmony:OpenHarmony开发之系统源码编译

5次阅读

共计 2918 个字符,预计需要花费 8 分钟才能阅读完成。

背景

随着 OpenHarmony-v3.1 的公布,越来越多的开发者将眼光聚焦到 OpenHarmony 零碎开发上。对于首次接触 OpenHarmony 的开发者来说,如何进行源码编译是一个大难题,本文将具体介绍源码拉取到编译胜利的过程,心愿对开发小伙伴有所帮忙。

1 开发环境筹备

咱们将应用官网举荐的 Ubuntu20 作为编译环境,开发板应用 Hi3516DV300,因为整个编译工具链过于宏大,手动搭建编译环境非常复杂,并且容易出错,这里将应用 docker 搭建编译环境,能够事倍功半

2 装置 Docker

1. 首先删除可能已有的 docker
$ sudo apt-get remove docker docker-engine docker.io containerd runc

2. 更新 apt,装置根底工具
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg lsb-release

3. 增加 docker 官网 GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 增加稳定版 docker 源到 apt
$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 装置 docker
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

6. 测试 docker
$ sudo docker run hello-world

7. 拉取 docker 编译环境
$ sudo docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

验证 docker 是否装置胜利

3 拉取源码

源码拉取流程如下:

操作命令如下:

1. 更新 apt
$ sudo apt update

2. 装置 git
$ sudo apt install git-all

3. 注册 gitee 账号,配置 git ssh-key
$ git config --global user.name "yourname"
$ git config --global user.email "your-email-address"
$ git config --global credential.helper store

4. 装置 python3.8,须要留神,ubuntu 有可能自带有 python2.7,可能引发抵触,ubuntu20
$ sudo apt-get install python3.8

设置 python 和 python3 软链接为 python3.8
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
5. 装置码云 repo 工具
$ curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  
#如果没有权限,可下载至其余目录,并将其配置到环境变量中
$ chmod a+x /usr/local/bin/repo
$ pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

6. 拉取代码
创立代码文件夹
$ mkdir /home/openharmony3.0
$ cd /home/openharmony3.0
拉取代码
$ repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0.1-LTS --no-repo-verify
$ repo sync -c
$ repo forall -c 'git lfs pull'

4 开发环境

Visual Studio Code 进行近程开发方式,须要装置 Remote Development 插件,步骤如下:

① 下载 Visual Studio Code 并装置,官网链接:https://code.visualstudio.com/

② 装置 Remote Development 插件

③ 点击左下角绿色图标

④ 抉择连贯主机

⑤ 抉择减少近程主机

⑥ 输出 ssh 用户名 @IP

⑦ 输出账号密码

⑧ 抉择近程主机代码目录

⑨ 胜利后会展现代码目录

5 源码编译

1. 在 vscode 中关上控制台,按 ctrl+` 能够关上,创立并启动 docker 容器,上一步执行结束就间接进入容器外部了
$ sudo docker run -it -v $(pwd):/home/openharmony --name ohosc swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

2. 批改容器外部的 apt 源为华为镜像
# sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
# sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list

3. 更新 apt
# apt update

4. 装置 ruby、ccache
# apt install ruby
# apt install ccache

5. 装置编译依赖工具包
# ./build/prebuilts_download.sh

6. 执行编译命令,编译耗时较久,首次编译预计 1.5 小时左右
# ./build.sh --product-name Hi3516DV300 --ccache

留神:
不要反复执行 sudo docker run -it …,
这样会导致反复翻新多个容器,第一次编译执行完后,容器会进行,那么就须要启动容器
$ sudo docker start ohosc
// 这里 ohosc 是上一步 –name ohosc 给容器起的别名

进入容器外部执行编译
$ sudo docker exec -it ohosc /bin/bash
./build.sh –product-name Hi3516DV300 –ccache

编译过程输入日志如下:

编译胜利提醒:

正文完
 0