瑞芯微RK3568|SDK开发之Kernel编译
2023年09月26日 17:15 发布者:武汉万象奥科
1. Kernel手动编译1.1 kernel查询帮助使用./build.sh -h kernel查看kernel的详细编译命令如下所示。https://18821080.s21i.faiusr.com/4/ABUIABAEGAAgyL7KqAYos4mcGDC0BDhc.png图1.1编译内核 上图表示,单独编译kernel固件分为三步,进入kernel目录,选择默认配置文件,编译镜像。
1.2 kernel默认配置对应平台的默认配置文件由./build.shlunch操作中选择的mk文件决定,如下所示。https://18821080.s21i.faiusr.com/4/ABUIABAEGAAg177KqAYohIyJxQYwuQY4kAI.png图1.2选择SDK配置文件
配置完后,直接查看device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk文件,由RK_KERNEL_DEFCONFIG和RK_KERNEL_DEFCONFIG_FRAGMENT决定,如下所示。https://18821080.s21i.faiusr.com/4/ABUIABAEGAAg477KqAYo06HXITC5BjjNAg.png图1.3配置文件Kernel部分内容另外还有RK_KERNEL_DTS指定配置的设备树。
1.3 kernel修改配置首先导入上面指定的默认配置,操作命令如下:cd kernelmake ARCH=arm64rockchip_linux_defconfig
进入menuconfig修改内核,命令如下所示。make ARCH=arm64 menuconfig
进入配置界面如下所示。https://18821080.s21i.faiusr.com/4/ABUIABAEGAAg9r7KqAYowOHZzwUwuQY4igU.png图1.4内核配置输入“/”可以进入menuconfig的搜索功能,如下所示。https://18821080.s21i.faiusr.com/4/ABUIABAEGAAgiL-KqAYokPqmrwQwygU41gE.png图1.5内核查找配置搜索功能可在复制的配置路径中快速寻找到所需的目标配置,例如输入“dhcp”查看该选项的描述,如下所示。https://18821080.s21i.faiusr.com/4/ABUIABAEGAAgkL-KqAYo8OrgOjC5BjiOAg.png图1.6目标配置帮助选项名为IP_PNP_DHCP,在menuconfig的名称由Prompt指定,选项配置的路径由Location指定,选项的依赖关系由Depends on指定。
使用空格键可以修改配置,按ESC键可以退出menuconfig。
1.4 kernel保存默认配置
输入以下命令可以覆盖默认配置。make ARCH=arm64 savedefconfigcp defconfig arch/arm64/configs/rockchip_linux_defconfig注:建议覆盖前备份一下原始rockchip_linux_defconfig.
1.5 kernel编译固件
进入kernel目录,输入以下命令单独编译内核固件。make ARCH=arm64rk3568-evb1-ddr4-v10-linux.img -j12内核的编译结果如下所示。
https://18821080.s21i.faiusr.com/4/ABUIABAEGAAgnr-KqAYogNaGjAYwuQY4MA.png图1.7编译完成打印
由此看出,内核固件组成部件为:resource.img(由设备树文件dtb、logo图片组成的)+Image(内核代码)。
1.6 kernel编译模块
输入以下命令可独立编译ko文件。make ARCH=arm64 modules