Skip to main content

SDK 开发指南

本章节深入讲解如何在 Rockchip Linux 5.10 SDK 中对 U-BootKernelBuildroot 进行独立的配置与编译。

前置条件
  • 所有操作默认在 Ubuntu 虚拟机 中执行。
  • 假设您已经完成了 SDK 的下载和基础环境搭建(参考 Buildroot系统构建)。
  • 默认已执行过板级配置文件选择 (./build.sh lunch)。

U-Boot 开发

U-Boot 是嵌入式系统的引导加载程序。虽然 Rockchip 原生 U-Boot 对硬件支持已非常完善,但有时我们仍需进行定制。

修改 U-Boot 配置

如果需要修改 U-Boot 的功能(如启动延时、命令支持等),请按以下步骤操作:

  1. 进入 U-Boot 目录并加载默认配置

    cd /home/ubuntu/100ask-rk3568_linux5.1_sdk/u-boot/
    make rk3568_defconfig
  2. 打开图形化配置菜单

    make menuconfig

    U-Boot Menuconfig

  3. 保存配置: 在菜单中修改完成后,选择 <Save> 保存并 <Exit> 退出。

    注意

    仅退出菜单不会永久保存更改到源码中。必须执行以下命令更新 defconfig 文件:

    make savedefconfig
    cp defconfig configs/rk3568_defconfig

修改设备树 (Device Tree)

U-Boot 的设备树文件位于 u-boot/arch/arm/dts/ 目录下。RK3568 的设备树包含关系如下:

  • rk3568-evb.dts: 主板级设备树
  • rk3568.dtsi: 芯片级通用配置
  • rk3568-u-boot.dtsi: U-Boot 特有配置

Kernel 开发

内核开发主要涉及驱动程序的增减和设备树的修改,以适配特定的板载硬件。

修改内核配置

如果需要将某个驱动编译进内核(Built-in)或编译成模块(Module):

  1. 进入 Kernel 目录

    cd /home/ubuntu/100ask-rk3568_linux5.1_sdk/kernel/
  2. 打开图形化配置菜单

    make ARCH=arm64 menuconfig

    Kernel Menuconfig

  3. 保存配置: 修改完成后,需将配置保存回 defconfig 文件,防止下次编译时丢失:

    make ARCH=arm64 savedefconfig
    cp defconfig arch/arm64/configs/rockchip_dshanpi-r1_linux_defconfig

修改设备树

DshanPi-R1 的内核设备树文件路径为:

SDK/kernel/arch/arm64/boot/dts/rockchip/rk3568-dshanpi-r1-linux.dts

ls kernel/arch/arm64/boot/dts/rockchip/rk3568-dshanpi-r1-linux.dts

Buildroot 开发

Buildroot 用于构建根文件系统(RootFS)。DshanPi-R1 SDK 默认使用 Buildroot 进行系统构建。

Buildroot 源码位于 SDK/buildroot/ 目录下。核心目录说明如下:

目录说明
configs/存放预定义的板级配置文件 (*_defconfig)
board/存放特定硬件平台的板级支持文件 (脚本、补丁等)
package/包含所有可用软件包的定义和构建规则 (如 ffmpeg, qt5 等)
output/存放构建产物 (镜像、文件系统、工具链)
dl/存放下载的源码包 (Download)