openharmony的移植推荐使用Ubuntu18.04,需要安装的依赖库文件。
sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flexbison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multiliblibc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccachelibgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8python3-pip ruby
获取openharmony官方源码。
repo init --repo-url=/firefly-linux/git-repo -u /openharmony/manifest.git -b refs/tags/$(cat .tag_release) --no-clone-bundle.repo/repo/repo sync -c --no-tags.repo/repo/repo forall -c 'git lfs pull'
下载完成后,可以改一下调试口的波特率,因为默认的是1500000,串口工具会有乱码,或者出现无法输入的问题,修改为115200。可以直接修改脚本文件。脚本文件有规则限制,只改一下波特率,其它的包括换行之类的操作千万不能做,否则打补丁时会出现错误。
/home/xu/openharmony/kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch
找到rk3568-linux.dtsi文件,修改波特率。
fiq-debugger {compatible = "rockchip,fiq-debugger";rockchip,serial-id = <2>;rockchip,wake-irq = <0>;/* If enable uart uses irq instead of fiq */rockchip,irq-mode-enable = <1>;rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;pinctrl-names = "default";pinctrl-0 = <&uart2m0_xfer>;status = "okay";};
接下来就可以编译了。
# 第一次编译需要下载工具链,以后可以跳过bash build/prebuilts_download.sh./build.sh --product-name rk3568 --ccache
编译完之后,在如下目录下产生系统文件。
/home/xu/openharmony/out/rk3568/packages/phone/images
之后就可以下载到自己的板子上了。