瑞芯微RK3568|SDK開發(fā)之Kernel編譯
1.?Kernel手動(dòng)編譯
1.1???????kernel查詢幫助
?
使用./build.sh?-h?kernel查看kernel的詳細(xì)編譯命令如下所示。

圖1.1編譯內(nèi)核
?
上圖表示,單獨(dú)編譯kernel固件分為三步,進(jìn)入kernel目錄,選擇默認(rèn)配置文件,編譯鏡像。
?
1.2???????kernel默認(rèn)配置
對(duì)應(yīng)平臺(tái)的默認(rèn)配置文件由./build.shlunch操作中選擇的mk文件決定,如下所示。

圖1.2選擇SDK配置文件
?
配置完后,直接查看device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk文件,由RK_KERNEL_DEFCONFIG和RK_KERNEL_DEFCONFIG_FRAGMENT決定,如下所示。

圖1.3配置文件Kernel部分內(nèi)容
另外還有RK_KERNEL_DTS指定配置的設(shè)備樹。
?
1.3???????kernel修改配置
首先導(dǎo)入上面指定的默認(rèn)配置,操作命令如下:
cd?kernel
make?ARCH=arm64rockchip_linux_defconfig
?
進(jìn)入menuconfig修改內(nèi)核,命令如下所示。
make?ARCH=arm64?menuconfig
?
進(jìn)入配置界面如下所示。

圖1.4內(nèi)核配置
輸入“/”可以進(jìn)入menuconfig的搜索功能,如下所示。

圖1.5內(nèi)核查找配置
搜索功能可在復(fù)制的配置路徑中快速尋找到所需的目標(biāo)配置,例如輸入“dhcp”查看該選項(xiàng)的描述,如下所示。

圖1.6目標(biāo)配置幫助
選項(xiàng)名為IP_PNP_DHCP,在menuconfig的名稱由Prompt指定,選項(xiàng)配置的路徑由Location指定,選項(xiàng)的依賴關(guān)系由Depends?on指定。
?
使用空格鍵可以修改配置,按ESC鍵可以退出menuconfig。
?
1.4???????kernel保存默認(rèn)配置
輸入以下命令可以覆蓋默認(rèn)配置。
make?ARCH=arm64?savedefconfig
cp?defconfig?arch/arm64/configs/rockchip_linux_defconfig
注:建議覆蓋前備份一下原始rockchip_linux_defconfig.
1.5???????kernel編譯固件
?
進(jìn)入kernel目錄,輸入以下命令單獨(dú)編譯內(nèi)核固件。
make?ARCH=arm64rk3568-evb1-ddr4-v10-linux.img?-j12
內(nèi)核的編譯結(jié)果如下所示。

圖1.7編譯完成打印
由此看出,內(nèi)核固件組成部件為:resource.img(由設(shè)備樹文件dtb、logo圖片組成的)+Image(內(nèi)核代碼)。
1.6???????kernel編譯模塊
輸入以下命令可獨(dú)立編譯ko文件。
make?ARCH=arm64?modules