1.Kernel手動編譯
1.1 kernel查詢幫助
使用./build.sh-hkernel查看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修改配置
首先導入上面指定的默認配置,操作命令如下:
cdkernel
makeARCH=arm64rockchip_linux_defconfig
進入menuconfig修改內核,命令如下所示。
makeARCH=arm64menuconfig
進入配置界面如下所示。
圖1.4內核配置
輸入“/”可以進入menuconfig的搜索功能,如下所示。
圖1.5內核查找配置
搜索功能可在復制的配置路徑中快速尋找到所需的目標配置,例如輸入“dhcp”查看該選項的描述,如下所示。
圖1.6目標配置幫助
選項名為IP_PNP_DHCP,在menuconfig的名稱由Prompt指定,選項配置的路徑由Location指定,選項的依賴關系由Dependson指定。
使用空格鍵可以修改配置,按ESC鍵可以退出menuconfig。
1.4 kernel保存默認配置
輸入以下命令可以覆蓋默認配置。
makeARCH=arm64savedefconfig
cpdefconfigarch/arm64/configs/rockchip_linux_defconfig
注:建議覆蓋前備份一下原始rockchip_linux_defconfig.
1.5 kernel編譯固件
進入kernel目錄,輸入以下命令單獨編譯內核固件。
makeARCH=arm64rk3568-evb1-ddr4-v10-linux.img-j12
內核的編譯結果如下所示。
圖1.7編譯完成打印
由此看出,內核固件組成部件為:resource.img(由設備樹文件dtb、logo圖片組成的)+Image(內核代碼)。
1.6 kernel編譯模塊
輸入以下命令可獨立編譯ko文件。
makeARCH=arm64modules
-
瑞芯微
+關注
關注
23文章
402瀏覽量
51243 -
編譯
+關注
關注
0文章
654瀏覽量
32806 -
SDK
+關注
關注
3文章
1026瀏覽量
45779 -
RK3568
+關注
關注
4文章
498瀏覽量
4934
發布評論請先 登錄
相關推薦
評論