瑞芯微RK3568|SDK开发之Kernel编译

发布时间 2023-09-26 17:21:31作者: 万象奥科

1. Kernel手动编译

1.1       kernel查询帮助

 

使用./build.sh -h kernel查看kernel的详细编译命令如下所示。

SDK2-1.png

图1.1编译内核

 

上图表示,单独编译kernel固件分为三步,进入kernel目录,选择默认配置文件,编译镜像。

 

1.2       kernel默认配置

对应平台的默认配置文件由./build.shlunch操作中选择的mk文件决定,如下所示。

SDK2-2.png

图1.2选择SDK配置文件

 

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

SDK2-3.png

图1.3配置文件Kernel部分内容

另外还有RK_KERNEL_DTS指定配置的设备树。

 

1.3       kernel修改配置

首先导入上面指定的默认配置,操作命令如下:

cd kernel

make ARCH=arm64rockchip_linux_defconfig

 

进入menuconfig修改内核,命令如下所示。

make ARCH=arm64 menuconfig

 

进入配置界面如下所示。

SDK2-4.png

图1.4内核配置

输入“/”可以进入menuconfig的搜索功能,如下所示。

SDK2-5.png

图1.5内核查找配置

搜索功能可在复制的配置路径中快速寻找到所需的目标配置,例如输入“dhcp”查看该选项的描述,如下所示。

SDK2-6.png

图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

内核的编译结果如下所示。

 

SDK2-7.png

图1.7编译完成打印


由此看出,内核固件组成部件为:resource.img(由设备树文件dtb、logo图片组成的)+Image(内核代码)。

1.6       kernel编译模块


输入以下命令可独立编译ko文件。

make ARCH=arm64 modules