OpenHarmony 5.0.1编译指南
这个指南是在我经过数天的试错之后得到的最稳定的能编译5.X代码的方法,所以我默认观看该教程的人已经知道基本的流程,但是总是报奇怪的error无法编译成功(如果明显是某个lib没有安装的请自己解决)
首先先注意两点:
- 环境必须使用Ubuntu20.04, WSL2是可以的,但是你要确保你的内存在32G以上(32G会爆内存)
- 最好用repo同步代码,不推荐直接下载ZIP
最后我选择的环境是vmware虚拟机。
首先下载相关依赖:
apt-get -f -y install apt-utils
apt-get -f -y install vim
apt-get -f -y install software-properties-common
apt-get -f -y install openssh-server
apt-get -f -y install iputils-ping
apt-get -f -y install curl
apt-get -f -y install net-tools
apt-get -f -y install bsdmainutils
apt-get -f -y install kmod
apt-get -f -y install bc
apt-get -f -y install rsync
apt-get -f -y install gawk
apt-get -f -y install ssh
apt-get -f -y install ccache
apt-get -f -y install zip
apt-get -f -y install python-dev
apt-get -f -y install make
apt-get -f -y install m4
apt-get -f -y install gcc-multilib
apt-get -f -y install ca-certificates-java
apt-get -f -y install unzip
apt-get -f -y install python3-yaml
apt-get -f -y install perl
apt-get -f -y install openssl
apt-get -f -y install libssl1.1
apt-get -f -y install gnupg
apt-get -f -y install xsltproc
apt-get -f -y install x11proto-core-dev
apt-get -f -y install tcl
apt-get -f -y install python3-crypto
apt-get -f -y install python-crypto
apt-get -f -y install libxml2-utils
apt-get -f -y install libxml2-dev
apt-get -f -y install libx11-dev
apt-get -f -y install libssl-dev
apt-get -f -y install libgl1-mesa-dev
apt-get -f -y install lib32z1-dev
apt-get -f -y install lib32ncurses5-dev
apt-get -f -y install g++-multilib
apt-get -f -y install flex
apt-get -f -y install bison
apt-get -f -y install doxygen
apt-get -f -y install git
apt-get -f -y install subversion
apt-get -f -y install tofrodos
apt-get -f -y install pigz
apt-get -f -y install expect
apt-get -f -y install python3-xlrd
apt-get -f -y install git-core
apt-get -f -y install gperf
apt-get -f -y install build-essential
apt-get -f -y install zlib1g-dev
apt-get -f -y install libc6-dev-i386
apt-get -f -y install lib32z-dev
apt-get -f -y install openjdk-8-jdk
apt-get -f -y install ruby
apt-get -f -y install mtools
apt-get -f -y install python3-pip
apt-get -f -y install gcc-arm-linux-gnueabi
apt-get -f -y install genext2fs
apt-get -f -y install liblz4-tool
apt-get -f -y install libssl-dev
apt-get -f -y install autoconf
apt-get -f -y install pkg-config
apt-get -f -y install zlib1g-dev
apt-get -f -y install libglib2.0-dev
apt-get -f -y install libmount-dev
apt-get -f -y install libpixman-1-dev
apt-get -f -y install libncurses5-dev
apt-get -f -y install exuberant-ctags
apt-get -f -y install silversearcher-ag
apt-get -f -y install libtinfo5
apt-get -f -y install device-tree-compiler
apt-get -f -y install libssl-dev
apt-get -f -y install libelf-dev
apt-get -f -y install dwarves
apt-get -f -y install gcc-arm-none-eabi
apt-get -f -y install default-jdk
apt-get -f -y install u-boot-tools
apt-get -f -y install mtd-utils
apt-get -f -y install scons
apt-get -f -y install automake
apt-get -f -y install libtinfo5
apt-get -f -y install gcc-multilib
apt-get -f -y install libtool
apt-get -f -y install libgmp-dev
apt-get -f -y install texinfo
apt-get -f -y install mpc
apt-get -f -y install autotools-dev
apt-get -f -y install libmpc-dev
apt-get -f -y install libmpfr-dev
apt-get -f -y install libgmp-dev
apt-get -f -y install patchutils
apt-get -f -y install libexpat-dev
apt-get -f -y install libfdt-dev
apt-get -f -y install libncursesw5-dev
apt-get -f -y install cmake
apt-get -f -y install wget
apt-get -f -y install libelf-dev
然后通过repo获取源代码,这里直接看文档就能解决,我不在赘述。
创建python软连接(这里是为了让你输入python的时候加载的是python3.8而不是python2.7)
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
然后进入源代码根目录,输入
bash build/prebuilts_download.sh
然后输入
./build -p rk3568 --ccache
不建议用hb那一套编译方法,我每次都没编译成功。
我的电脑配置是i7 12700h 32G,虚拟机设置是24G 512G 16核, 最后编译了17个小时。
时长供大家参考,如果还有OpenHarmony相关的问题想和我讨论的请联系我的email
xiongzile99@gmail.com
参考资料
WSL2:https://blog.csdn.net/fangye945a/article/details/121858440
环境配置:https://juejin.cn/post/7382051737362202639
官方文档:https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/quick-start/quickstart-overview.md