五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像( 二 )

??

五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
步驟二:下載解壓uboot-kernel,ubuntu??下載解壓,做這個開發確實很需要磁盤大小,而且傳輸也費時間,加上用虛擬機,專門加裝了1024GBSSD作為專門開發的 。??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??然后傳送到ubuntu上,使用samba服務,參考博文《linux實用技巧:ubuntu18.04安裝samba服務器實現局域網文件共享》
步驟三:移動解壓uboot-kernel??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
tar xvf uboot_kernel_20220512.tar.gz??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??(疑問:只用了3分鐘 , 因為之前是系統ssd,這次是專門配的1024ssd單獨盤么?)??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
步驟四:使用ubuntu系統??注意:rk3568支撐多個系統,按照SDK文檔指定系統是相似的操作 。??我們使用ubuntu文件系統,將ubuntu_20220511.tar.gz直接解壓到rk356x_linux的文件夾:
cd ~/work/sdktar xvf buildroot_20220510.tar.gz -Ca rk356x_linux/??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??很快,如下圖:??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
步驟五:查看編譯命令單獨編譯uboot,kernel和ubuntu?? 
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??編譯uboot:??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??編譯kernel:??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??編譯文件系統ubuntu , 這里要先選擇廠商的配置:
./build.sh BoardConfig-rk3568-evb1-ddr4-v10.mk./build.sh ubuntu?? 
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??然后錯誤:??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??具體查看“入坑一”,這里可以看出方案上先基于buildroot做的,然后再buildroot下去做其他的打包 。??編譯好buildroot后,繼續使用ubuntu
./build.sh ubuntu??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??至此,ubuntu的固件編譯完成,但是我們沒有適配屏幕的 。
步驟六:適配屏幕??屏幕,筆者使用的是廠家提供的lvds10.1寸屏幕,已經做好了驅動在sdk中,但是需要配置設備樹:
cd /home/topeet/Linux/rk356x_linux/gedit kernel/arch/arm64/boot/dts/rockchip/topeet_screen_choose.dtsi??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??知識點:適配屏幕是修改了內核的設備樹,而沒有修改文件系統 。??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
步驟七:編譯整體??由于uboot,kernel是沒有爭議的,但是文件系統是由好幾個參數,所以要根據開發文檔來,有個環境變量RK_ROOTFS_SYSTEM,他是什么則是什么系統,由此可見 , 他實際上是build編譯文件系統的參數:??編譯:
export RK_ROOTFS_SYSTEM=ubuntu./build.sh all??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??5分鐘編完 。
步驟八:打包mkfirmware.sh./mkfirmware.sh??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
 入坑入坑一:編譯ubuntu鏡像打包錯誤問題??找不到buildroot下的一個腳本 。??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
原因??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??要先編譯buildroot
解決??先走buildroot編譯流程,再走編譯ubuntu流程??
五 RK3568開發筆記:在虛擬機上使用SDK編譯制作uboot、kernel和ubuntu鏡像

文章插圖
??具體的編譯buildroot問題,需要看《RK3568開發筆記(四):在虛擬機上使用SDK編譯制作uboot、kernel和buildroot鏡像》 。

推薦閱讀