一:开源项目
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
官网:OpenAtom OpenHarmony
二:开发环境
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
三:获取源码
(1)注册gitee,添加公钥
(2)配置git
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
(3)安装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
(4)获取源码
源码地址:zh-cn/release-notes/Readme.md · OpenHarmony/docs - Gitee.com
1) 通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。
repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
2) 通过repo + https 下载。
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
四:安装编译器
(1)执行prebuilts
在源码根目录下执行脚本,安装编译器和二进制工具
下载的prebuilts二进制默认存放在与OpenHarmony同目录OpenHarmony_2.0_canary_prebuilts下
bash build/prebuilts_download.sh
(2)安装nb
对于4.0 Beta1以上版本、master分支,在代码根目录下执行 pip install build/hb
低版本的,在代码根目录下执行 pip install build/lite
五:编译
1、hb方式
(1)设置系统类型和产品
输入 hb set 选择standard,之后选择hihope中的rk3568
(2)设置系统位数
默认情况下是32位系统,若不需要调整跳过此步骤即可。
如需编译为64位系统,请执行如下命令:
hb build --target-cpu arm64
(3)执行编译
单独编译一个部件(例如hello),可使用“hb build -T 目标名称”进行编译。
增量编译整个产品,可使用“hb build”进行编译。
完整编译整个产品,可使用“hb build -f”进行编译。
此处以完整编译整个产品为例进行说明
hb build -f
编译结束后,出现“rk3568 build success”字样,则证明构建成功。
2、sh方式
./build.sh --product-name rk3568 --ccache
编译所生成的文件都归档在out/{device_name}/目录下,结果镜像输出在out/{device_name}/packages/phone/images/ 目录下。