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


    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

  • 相关阅读:
    51单片机应用从零开始(六)·逻辑运算
    【C++】静态库lib和动态库dll的优缺点、使用方法
    冒泡排序详解
    Nginx安装Lua
    为何越来越多人选择进入软件测试行业?深度剖析软件测试的优势...
    中考理化生实验操作考试平台
    【边缘注意:深度多尺度特征】
    Linux命令之shred命令
    SDI-12协议与STM32 进行uart通信
    【送书活动】全网超50万粉丝的Linux大咖良许,出书了!
  • 原文地址:https://blog.csdn.net/m0_62877454/article/details/133316865