1. Kernel手動編譯 1.1 kernel查詢幫助使用./build.sh -h kernel查看kernel的詳細編譯命令如下所示。 圖1.1編譯內核 上圖表示,單獨編譯kernel固件分為三步,進入kernel目錄,選擇默認配置文件,編譯鏡像。 1.2 kernel默認配置 對應平臺的默認配置文件由./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部分內容 另外還有RK_KERNEL_DTS指定配置的設備樹。 1.3 kernel修改配置 首先導入上面指定的默認配置,操作命令如下: cd kernel make ARCH=arm64rockchip_linux_defconfig 進入menuconfig修改內核,命令如下所示。 make ARCH=arm64 menuconfig 進入配置界面如下所示。 圖1.4內核配置 輸入“/”可以進入menuconfig的搜索功能,如下所示。 圖1.5內核查找配置 搜索功能可在復制的配置路徑中快速尋找到所需的目標配置,例如輸入“dhcp”查看該選項的描述,如下所示。 圖1.6目標配置幫助 選項名為IP_PNP_DHCP,在menuconfig的名稱由Prompt指定,選項配置的路徑由Location指定,選項的依賴關系由Depends on指定。 使用空格鍵可以修改配置,按ESC鍵可以退出menuconfig。 1.4 kernel保存默認配置 輸入以下命令可以覆蓋默認配置。 make ARCH=arm64 savedefconfig cp defconfig arch/arm64/configs/rockchip_linux_defconfig 注:建議覆蓋前備份一下原始rockchip_linux_defconfig. 1.5 kernel編譯固件進入kernel目錄,輸入以下命令單獨編譯內核固件。 make ARCH=arm64rk3568-evb1-ddr4-v10-linux.img -j12 內核的編譯結果如下所示。 圖1.7編譯完成打印 由此看出,內核固件組成部件為:resource.img(由設備樹文件dtb、logo圖片組成的)+Image(內核代碼)。 輸入以下命令可獨立編譯ko文件。 make ARCH=arm64 modules |