如何定制buildroot文件系統(tǒng)-基于TQ3568開(kāi)發(fā)板

在日常開(kāi)發(fā)中,經(jīng)常需要添加應(yīng)用軟件以及自定義的文件來(lái)輔助我們開(kāi)發(fā)。因?yàn)閎uildroot不支持apt-get命令,我們需要通過(guò)make menuconfig配置bulidroot文件系統(tǒng)來(lái)安裝應(yīng)用。
本文檔以搭建開(kāi)發(fā)板NFS環(huán)境為例,描述如何在buildroot文件系統(tǒng)中添加應(yīng)用軟件。
Buildroot添加應(yīng)用
配置開(kāi)發(fā)板NFS服務(wù)
一、首先配置buildroot?
1.1、進(jìn)入buildroot目錄 ?
cd buildroot
1.2、?輸入以下指令進(jìn)入make menuconfig界面配置buildroot ?
make menuconfig ARCH=arm64 O=output/rockchip_rk3568/

1.3、進(jìn)入“Target packages” ?

1.4、進(jìn)入“Filesystem and flashutilities” ?

1.5、按‘y’選擇以下選項(xiàng)

1.6、一直按“esc”,彈出提示框,選擇“yes”保存配置

當(dāng)然,我們要將修改后的buildroot配置文件.config拷貝回buildroot默認(rèn)配置單rockchip_rk3568_defconfig文件中。
這是因?yàn)槲募到y(tǒng)最終編譯的時(shí)候,會(huì)使用rockchip_rk3568_defconfig 配置文件。

cd ?output/rockchip_rk3568
cp?.config?../../configs/rockchip_rk3568_defconfig
接著重新編譯buildroot系統(tǒng),然后燒寫(xiě)即可。
二、配置內(nèi)核?
2.1、進(jìn)入kernel目錄??

cd kernel

2.2、進(jìn)入make menuconfig界面配置kernel
make menuconfig ARCH=arm64
2.3、選擇“File systems” ?

2.4、選擇“Network File Systems” ?

?2.5、按’y’選中紅框內(nèi)的選項(xiàng)

?2.6、一直按“esc”,按“yes”保存配置

按照以上步驟配置完NFS環(huán)境后,就可以重新編譯內(nèi)核,將生成的boot.img文件單獨(dú)燒入板子即可。
當(dāng)然,修改后的配置保存在內(nèi)核目錄下的.config文件里,我們需要將.config的配置拷貝回默認(rèn)配置單rk3568_linux_tqcoreA_defconfig文件中,這 是 因 為 內(nèi) 核 最 終 編 譯 的 時(shí) 候 , 會(huì) 使 用rk3568_linux_tqcoreA_defconfig 配置文件。值得注意的是,默認(rèn)配置單在內(nèi)核的arch/arm64/configs/目錄下
cd kernel ?
cp .config ?./arch/arm64/configs/rk3568_linux_tqcoreA_defconfig
特別說(shuō)明,此文檔部分內(nèi)容摘自《TQ3568編譯手冊(cè)》,用戶(hù)按需求瀏覽獲得更詳盡的信息。
Buildroot添加自定義文件
在日常開(kāi)發(fā)中,我們經(jīng)常會(huì)向buildroot文件系統(tǒng)里添加自定義文件。
在此,介紹buildroot/board/rockchip/rk356x/fs-overlay目錄。fs-overlay是一個(gè)相當(dāng)不錯(cuò)的功能,它能夠在目標(biāo)文件系統(tǒng)編譯完成后將指定文件覆蓋到某個(gè)目錄。
通過(guò)這種方式,我們可以方便地添加或修改一些文件到根文件系統(tǒng)。此目錄有著有則覆蓋,無(wú)則新建的特性。
比如說(shuō),在開(kāi)發(fā)板的/etc目錄下覆蓋掉原有的ppp目錄,具體步驟如下所示:
1、進(jìn)入etc目錄(值得注意的是,若fs-overlay目錄下無(wú)etc目錄,新建即可,之后放進(jìn)etc目錄的文件會(huì)覆蓋開(kāi)發(fā)板上的etc目錄,保持有則覆蓋,無(wú)則新建的特性。)
cd ./etc
2、將要更新的ppp目錄拷貝至etc目錄下,如下圖所示

3、重新編譯Buildroot燒寫(xiě)后,進(jìn)入開(kāi)發(fā)板的/etc/ppp目錄,發(fā)現(xiàn)ppp文件已更新

-END-