谷动谷力

 找回密码
 立即注册
查看: 1108|回复: 0
打印 上一主题 下一主题
收起左侧

OpenHarmony 3.1 Release docker编译指南

[复制链接]
跳转到指定楼层
楼主
发表于 2022-4-26 09:07:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OpenHarmony 3.1 Release docker编译指南
收录于合集#OpenHarmony[color=rgba(0, 0, 0, 0.5)]109个
说明:
  • 作者环境:主机MacBook Pro 2015(16G),Docker Desktop for Mac(官方)
  • 以下所有操作过程,经过实测验证;
  • 只要启用了docker环境,那么与主机是什么系统就没有关系,确保docker内的操作按照以下文档来即可
  • 涉及设备和验证:

  • HiSpark Wi-Fi IoT:一次全新建立docker环境编译轻量版成功
  • HiSpark AI Camera:一次全新建立docker环境编译小型版和标准版均成功
  • DAYU200:二次全新建立docker环境编译标准版均均成功


感谢:
  • 李工做小白鼠反复测试验证,提供建议
  • 连志安老师提供帮助指导


一、编译环境创建:使用docker

docker环境准备:
  • 核心:至少分配4核,更多更好
  • 内存:至少分配4G,更大更好
  • 磁盘:至少分配100g

运行镜像:【耗时较长,请耐心等待】
# 根据实际情况,切换到主目录,并使用openharmony目录作为工作目录cd ~mkdir openharmonycd openharmony
# 拉取最新openharmony编译环境docker镜像,镜像较大,拉取时间较长,请耐心等待docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
# 启动镜像docker run --name ohos_build -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
# 启动成功后,显示如下:root@4464960a58ab:/home/openharmony#
#输入 cat /etc/issue,回车,显示如下:root@4464960a58ab:/home/openharmony# cat /etc/issue Ubuntu 18.04.5 LTS \n \lroot@4464960a58ab:/home/openharmony#
(左右移动查看全部内容)

后续操作,都在docker环境内执行
  • 如退出或者重启过docker服务,可通过如下方式重新进入:

# 进入对应docker的bash环境:  docker exec -it ohos_build bash#如上一步执行没有进入,那执行下一步:  docker start ohos_build -i
(左右移动查看全部内容)

二、准备环境并获取源码:以下操作在docker环境内执行

设置时间:
apt updateapt-get install -y tzdata iputils-ping# 安装完成后,根据提示,设置为6.Asia、70.Shanghai
(左右移动查看全部内容)

设置ssh秘钥:
方式1:已在gitee设置过公钥【不清楚或者找不到个人私钥那就直接用方式2】
#方式1:如果你已经在主机上访问 https://gitee.com/profile/sshkeys 并设置过公钥#请将主机上该公钥对应的个人私钥(通常为用户根目录下的.ssh/id_rsa)的全部内容复制到docker中来#该个人私钥以-----BEGIN RSA PRIVATE KEY-----开头,以-----END RSA PRIVATE KEY-----结尾
#此处为docker环境内操作mkdir ~/.sshvim ~/.ssh/idrsa # 打开文件后,直接输入i,然后将复制的内容粘贴进来,再按ESC,再输入:wq!回车保存即可-----BEGIN RSA PRIVATE KEY-----【请将该公钥对应的个人秘钥idrsa的全部内容复制粘贴到~/.ssh/id_rsa这里】-----END RSA PRIVATE KEY-----
#保存后,设置其权限:chmod 0400 ~/.ssh/id_rsachmod 0600 ~/.ssh
(左右移动查看全部内容)

方式2:生成一个新的秘钥,可参考 生成/添加SSH公钥 - Gitee官方指导
#方式2:你也可以直接生成一个新的秘钥生成#新的秘钥:用如下的rsa或者按照官方指导用ed25519均可,不用纠结ssh-keygen -t rsa
#生成后,设置其权限:chmod 0400 ~/.ssh/id_rsachmod 0600 ~/.ssh
请拷贝以下内容,将公钥(~/.sss/id_rsa.pub)给设置到 https://gitee.com/profile/sshkeys 这个页面cat ~/.ssh/id_rsa.pub
(左右移动查看全部内容)

验证ssh账户状态:
# 测试git账户:没错,就是 git@gitee.com ,不用改,也不能改ssh -T git@gitee.com
# 执行上述命令后,应显示如下信息,表示可以使用git@ssh;如提示yes/no,直接输入yes回车Hi 你在gitee的姓名! You\'ve successfully authenticated, but GITEE.COM does not provide shell access.
(左右移动查看全部内容)

设置git:
# 设置gitapt-get install -y git git-lfsgit config --global user.name "你在gitee的用户名"git config --global user.email "你在gitee的邮箱名"git config --global credential.helper store
(左右移动查看全部内容)

安装repo:
# 安装repocurl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repochmod a+x /usr/local/bin/repopip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
(左右移动查看全部内容)

下载源码:【耗时较长,请耐心等待】
# 使用 /home.dist 为源码和编译工作目录,加快编译速度mkdir -p /home/dist/OpenHarmony-v3.1-Releasecd /home/dist/OpenHarmony-v3.1-Release
# 获取3.1 Release分支代码:拉取时间教程,请耐心等待repo init -u git@gitee.compenharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
# 重复一遍,确保执行成功,没有失败repo sync -crepo forall -c 'git lfs pull'
(左右移动查看全部内容)

预编译工具包:【耗时较长,请耐心等待】
# 预编译工具包:下载和编译时间较长,请耐心等待./build/prebuilts_download.sh
(左右移动查看全部内容)

三、编译代码:以下操作在docker环境内执行【耗时较长,请耐心等待】

编译轻量版:
  • WiFi-IoT(Hi3861)- hispark_pegasus:
  • wifiiot_hispark_pegasus

# 执行后,上下按键,选择wifiiot_hispark_pegasushb set
# 执行编译:加 -f 参数,表示强制重新编译所有hb build
# 编译完成,显示如下信息:[OHOS INFO] wifiiot_hispark_pegasus build success[OHOS INFO] cost time: 编译时间很短
# 编译完成后,刷机镜像文件位于:# out/hispark_pegasus/wifiiot_hispark_pegasus/      
(左右移动查看全部内容)

编译小型版:
  • Hi3516DV300-hispark_taurus:
  • ipcamera_hispark_taurus

# 执行后,上下按键,选择ipcamera_hispark_taurushb set
# 执行编译:加 -f 参数,表示强制重新编译所有hb build
# 编译完成,显示如下信息:[OHOS INFO] ipcamera_hispark_taurus build success[OHOS INFO] cost time: 编译时间不长
# 编译完成后,刷机镜像文件位于:# out/hispark_taurus/ipcamera_hispark_taurus/
# TODO:初次刷机后,需要设置启动参数# https://www.openharmony.cn:7780/ ... %E8%BF%90%E8%A1%8C/
(左右移动查看全部内容)

  • ipcamera_hispark_taurus_linux

# 执行后,上下按键,选择ipcamera_hispark_taurus_linuxhb set
# 执行编译:加 -f 参数,表示强制重新编译所有hb build
# 编译完成,显示如下信息:[OHOS INFO] ipcamera_hispark_taurus_linux build success[OHOS INFO] cost time: 编译时间不长
# 编译完成后,刷机镜像文件位于:# out/hispark_taurus/ipcamera_hispark_taurus_linux/      
(左右移动查看全部内容)

编译标准版:编译过程较长,可能长达数小时
  • Hi3516dv300:
  • Hi3516DV300

# 执行编译脚本:如首次编译不成功,且不是下述错误,如出现MkImages类似错误,可考虑多次运行编译脚本(李工经验3~4次)./build.sh --product-name Hi3516DV300 --ccache
# 如编译失败,提示curl目录下的问题,则可以如下处理,然后继续编译:cd third_party/curl/ git stashcd ../../
# 编译完成,显示如下信息:[OHOS INFO] Hi3516DV300 build success[OHOS INFO] cost time: 编译时间很长
# 编译完成后,刷机镜像文件位于:# out/hi3516dv300/packages/phone/images/
(左右移动查看全部内容)

  • DAYU200:
  • rk3568:

# 执行编译脚本:如首次编译不成功,且不是下述错误,可考虑再次运行./build.sh --product-name rk3568 --ccache
# 如编译失败,提示curl目录下的问题,则可以如下处理,然后继续编译:cd third_party/curl/ git stashcd ../../
# 编译完成,显示如下信息:[OHOS INFO] rk3568 build success[OHOS INFO] cost time: 编译时间很长,作者环境初次4小时以上
# 编译完成后,刷机镜像文件位于:# out/rk3568/packages/phone/images/
(左右移动查看全部内容)

未完待续:后面的文章将会为大家详细讲解烧录过程以及体验过程~


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-5-25 07:06 , Processed in 0.072607 second(s), 39 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表