U-Boot 二进制文件可能太大,无法直接由 Boot ROM 加载。这是将 U-Boot 拆分为多个引导阶段的原始驱动程序。
TPL
Tertiary Program Loader,最早初始化,程序尽可能小。这将加载SPL(或VPL,如果启用)。
VPL
Verifying Program Loader,可选的验证步骤,如果启用了 A/B 验证引导,则可以选择几个 SPL 二进制文件中的一个。VPL逻辑的实现正在进行中。目前,它刚刚进入 SPL。
SPL
Secondary Program Loader,设置SDRAM并正确加载U-Boot。它也可能加载其他固件组件。
U-Boot
U-Boot 本体,这是唯一包含命令的阶段。它还实现了加载操作系统的逻辑,例如 UEFI。
PowerPC 体系结构的命名约定与其他架构有所不同。这里的引导顺序是SPL->TPL->U-boot。
Boot order
一般启动顺序:TPL->VPL->SPL->U-Boot
注意在一些术语,SPL 为 first-stage bootloader,你可能会很疑惑为什么一会儿 secondary 一会儿 first,因为 first-stage bootloader 是一种通用术语,而 Secondary Program Loader 是 U-Boot 特有的。
引用:
[1] https://docs.u-boot.org/en/latest/usage/spl_boot.html
[2] https://stackoverflow.com/questions/31244862/what-is-the-use-of-spl-secondary-program-loader