OpenHarmony开发之系统源码编译 原创 精华

软通动力HOS
发布于 2022-5-27 10:44
浏览
8收藏

背景

随着OpenHarmony3.1的发布,越来越多的开发者将目光聚焦到OpenHarmony系统开发上。对于首次接触OpenHarmony的开发者来说,如何进行源码编译是一个大难题,本文将详细介绍源码拉取到编译成功的过程,希望对开发小伙伴有所帮助。

开发环境准备

我们将使用官方推荐的Ubuntu20作为编译环境,开发板使用Hi3516DV300,由于整个编译工具链过于庞大,手动搭建编译环境非常复杂,并且容易出错,这里将使用docker搭建编译环境,可以事半功倍

安装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是否安装成功

OpenHarmony开发之系统源码编译-鸿蒙开发者社区

拉取源码

源码拉取流程如下:
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
操作命令如下:
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’

开发环境

Visual Studio Code进行远程开发方式,需要安装Remote Development插件,步骤如下:

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

② 安装Remote Development插件
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
③ 点击左下角绿色图标
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
④ 选择连接主机
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
⑤ 选择增加远程主机
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
⑥ 输入ssh 用户名@IP
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
⑦ 输入账号密码
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
⑧ 选择远程主机代码目录
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
⑨ 成功后会展示代码目录
OpenHarmony开发之系统源码编译-鸿蒙开发者社区

源码编译

OpenHarmony开发之系统源码编译-鸿蒙开发者社区
注意:
不要重复执行sudo docker run -it …,
这样会导致重复创新多个容器,第一次编译执行完后,容器会停止,那么就需要启动容器
$ sudo docker start ohosc
// 这里ohosc是上一步 --name ohosc 给容器起的别名

进入容器内部执行编译
$ sudo docker exec -it ohosc /bin/bash

./build.sh --product-name Hi3516DV300 --ccache

编译过程输出日志如下:
OpenHarmony开发之系统源码编译-鸿蒙开发者社区
编译成功提示:
OpenHarmony开发之系统源码编译-鸿蒙开发者社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-5-27 10:44:21修改
8
收藏 8
回复
举报
7条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

赞,非常详细的教程

回复
2022-5-27 14:50:55
陈浩南xxx
陈浩南xxx

复制上面安装docker出现了点问题,  可以参考官网 在 Ubuntu |上安装 Docker 引擎Docker 文档 

已于2022-6-7 19:23:43修改
回复
2022-6-7 19:18:11
陈浩南xxx
陈浩南xxx 回复了 陈浩南xxx
复制上面安装docker出现了点问题, 可以参考官网 在 Ubuntu |上安装 Docker 引擎Docker 文档

https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository

2
回复
2022-6-7 19:18:27
芳芳爱学习
芳芳爱学习

感谢老师分享

回复
2022-6-15 14:15:40
可可学鸿蒙
可可学鸿蒙

干货满满,感谢分享

回复
2022-6-15 14:16:52
wx59a94bf8bd256
wx59a94bf8bd256

老师,bash: ./build/prebuilts_download.sh: No such file or directory,这个是什么原因?有哪位大哥知道,帮忙解答下,谢谢

1
回复
2024-4-11 19:40:02
wx59a94bf8bd256
wx59a94bf8bd256 回复了 wx59a94bf8bd256
老师,bash: ./build/prebuilts_download.sh: No such file or directory,这个是什么原因?有哪位大哥知道,帮忙解答下,谢谢

已解决,目录挂载错了

回复
2024-4-11 19:56:19
回复
    相关推荐