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)配置 對應(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)核代碼)。 輸入以下命令可獨(dú)立編譯ko文件。 make ARCH=arm64 modules |