rk3568 OpenHarmony-3.2-Release 编译-总结
折腾后,踩过坑,并成功编译的总结
系统使用LinuxMint-20.3或者LinuxMint-21.1。由于LinuxMint-20.3不支持我主板的网卡型号,不支持我使用的某型号pcie wifi6和蓝牙5,只好转投LinuxMint-21.1。LinuxMint-20.3(内核版本5.4.xx)能否升级内核实现对这些硬件的支持?没折腾测试过。
系统推荐CPU 32线程,核心多多益善。
内存64GB,编译过程发现有时内存占用超过32GB,如果内存容量小,交换空间(SWAP)要设置比较大。踩坑时发现16GB内存编译错误,但重新执行编译又可以通过,不知是否跟交换空间大小有关?
硬盘建议nvme固态盘,存放和编译源码的分区容量大小100GB应该够。
- 安装依赖工具
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 lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3-pip ruby openjdk-8-jdk genext2fs libtinfo5 libssl-dev libfl-dev liblz4-tool
-
配置git账号和邮箱(根据自己的账号配置)
git config --global user.name “xxx”
git config --global user.email “xxx” -
创建源码目录
/home/ufo/openharmony/rk3568
可根据自己需要的目录创建。 -
添加python命令链接(否则可能提示找不到python命令)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
LinuxMint-21.1的系统默认python版本是3.10,python3.8的安装参考另一篇文章。使用python3.10编译也是可以的,经过测试编译成功。 -
安装码云repo工具
cd /home/ufo/openharmony/
mkdir bin
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o bin/repo
chmod a+x bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
将repo添加到环境变量
export PATH=/home/ufo/openharmony/bin:$PATH -
通过repo + https 下载源码
cd /home/ufo/openharmony/rk3568
从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c
repo forall -c ‘git lfs pull’ -
设置dash
sudo dpkg-reconfigure dash
选择no -
编译源码
bash build/prebuilts_download.sh
./build.sh --product-name rk3568 --ccache