大家好,我是拓維資訊萌新的鴻蒙開發者-廖永恒,之前在做鴻蒙項目,研究鴻蒙特性時候,就發現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。
::: hljs-center
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsAzMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xCNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwMzMyAjY0MTZ5kjNycTMyYzX3UjMzQTM0IzLcJDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
:::
::: hljs-center
:::
(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裡面還存在嬰兒階段,存在不足與不完善。在這裡,歡迎大家使用基于buildroot的ohos根檔案系統,發現問題,解決問題,不斷完善功能與細節。如有bug、建議、點子,我在群裡、社群積極聽大家的回報。ღ( ´・ᴗ・` )比心,感謝!!!
想了解更多關于鴻蒙的内容,請通路:
51CTO和華為官方合作共建的鴻蒙技術社群
https://ost.51cto.com/#bkwz