请勿将编译完的刷在幽兰上,目前会刷失败。

准备环境

在幽兰上运行:

sudo apt install device-tree-compiler build-essential gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu make python3 python3-dev libssl-dev python3-pyelftools python3-setuptools swig git libgnutls28-dev

获取代码仓库

使用 git 将主线 U-Boot 代码库克隆到目录 u-boot 中:

git clone https://source.denx.de/u-boot/u-boot.git

下载rkbin代码

然后,继续使用 git 将 rockchip 固件二进制文件仓库克隆到目录 rkbin 中,前面下载的u-boot代码目录和这个rkbin是同级目录:

git clone https://github.com/rockchip-linux/rkbin.git

设置环境变量

接下来,我们需要设置两个环境变量: ROCKCHIP_TPL 用于指定 DRAM 初始化二进制文件, BL31 用于指定 ARM 可信固件二进制文件。

export ROCKCHIP_TPL="$(ls ../rkbin/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v*.bin | sort | tail -n1)"
export BL31="$(ls ../rkbin/bin/rk35/rk3588_bl31_v*.elf | sort | tail -n1)"

编译

在设置了环境变量的 u-boot 目录中,运行以下命令:

make CROSS_COMPILE=aarch64-linux-gnu- rk3588-rk3588_defconfig
make CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)

如果出现:
Define FASTBOOT buffer address (FASTBOOT_BUF_ADDR) [] (NEW)
就输入0x800800

这将生成 u-boot-rockchip.bin文件,该文件是您刚刚编译好的 SPL+U-Boot 组合镜像

作者:zuoyingying  创建时间:2025-01-10 18:00
最后编辑:zuoyingying  更新时间:2025-01-20 10:44