https://harmonyos.51cto.com
大家好,我是拓维信息萌新的鸿蒙开发者-廖永恒,之前在做鸿蒙项目,研究鸿蒙特性时候,就发现ohos的系统工具很少,对南向的开发研究很是不方便,就下定决心给ohos系统增加工具。那么有没有一种傻瓜式的方法或软件,它不仅包含了 busybox 的功能,而且里面还集成了各种软件,需要什么软件就选择什么软件,不需要我们去移植。答案肯定是有的!buildroot 就是这样一种工具。
buildroot 是linux平台下的一种构建嵌入式Linux系统的框架。buildroot 不仅集成了 busybox,而且还集成了各种常见的第三方库和软件,需要什么就选择什么,就跟我们去吃自助餐一样,想吃什么就拿什么。 buildroot 极大的方便了我们嵌入式 Linux 开发人员构建实用的根文件系统。
上面的文字都是凑数字,现在直接写干货。
一、移植环境
1.buildroot版本:buildroot-2021.02.8
2.openharmony版本:openharmony3.1 Beta
3.L2级别
二、移植文件下载
文件下载链接
三、移植步骤
(1)在gitee把文件mkimages.py、dac.txt下载下来,替换掉[ohos源码根目录]/build/ohos/images/mkimage/的mkimages.py、dac.txt。把文件夹buildroot-2021.02.8下载下来,放在[ohos源码根目录]/third_party/下。
(2)关闭mesh 与toybox工具安装,在[ohos源码根目录]/third_party/mesh与toybox文件夹下BUILD.gn里面改install_enable 为fasle。
(3)编译buildroot
进入[ohos源码根目录]/third_party/buildroot-2021.02.8
sudo make
因为用sudo编译,为了防止复制文件提示权限问题,在编译buildroot成功后,sudo chmod -R 777 ./output/一次。
(4)正常编译ohos
3568:./build.sh –product-name rk3568 –ccache
3516:./build.sh –product-name Hi3516DV300 –ccache
四、启动后的效果
a.自动会配置静态网络。
b.使用busybox工具。
c.sh会显示当前路径。
d.原先ohos根文件系统不受影响。
e.自己已验证buildroot一些工具可用。
五、buildroot 使用
进入[ohos源码根目录]/third_party/buildroot-2021.02.8
make menuconfig
- 配置你需要的文件
- sudo make
- 开始编译
- 编译后记得编译一次ohos这样才打包buildroot库到ohos镜像里面。
- buildroot使用详细教程
六、不足
1.可能有些工具添加编译后,还需要改某些文件配置,视情况修改。
2.可能有些buildroot库文件会与ohos库会重名,编译ohos时候会打印出来,到时看看哪些文件重名了,把它放到别的库目录下。
3.buildroot有些工具与ohos自带的工具有冲突,注意甄别使用。
七、期望
目前buildroot移植到ohos里面还存在婴儿阶段,存在不足与不完善。