编译 Buildroot 固件

本章介绍 Buildroot 固件的编译流程,推荐在 Ubuntu 18.04 系统环境下进行开发,若使用其它系统版本,可能需要对编译环境做相应调整。

本教程的编译部分适用于 v1.0.6e 以上 SDK 版本

$ readlink -f .repo/manifest.xml
/home/daijh/p/rk3588/.repo/manifests/rk3588/rk3588_linux_release_20230301_v1.0.6e.xml

准备工作

搭建编译环境

sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \
expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib \
unzip \
device-tree-compiler ncurses-dev \

编译 SDK

编译前配置

device/rockchip/rk3588/ 目录下,有不同板型的配置文件,选择配置文件:

./build.sh roc-rk3588s-pc-buildroot.mk

or

./build.sh roc-rk3588s-pc-BE45-A1-buildroot.mk # MIPI 屏幕

编译

全自动编译

全自动编译会执行上述编译、打包操作,生成 RK 固件。

./build.sh

打包固件,生成的完整固件会保存到 rockdev/pack/ 目录。

部分编译

  • 编译 u-boot

./build.sh uboot
  • 编译 kernel

./build.sh extboot
  • 编译 recovery

./build.sh recovery
  • 编译 buildroot

./build.sh rootfs
  • 更新各部分镜像链接到 rockdev/ 目录:

./mkfirmware.sh
  • 打包固件,生成的完整固件会保存到 rockdev/pack/ 目录。

./build.sh updateimg