构建 T527 FES loader
主线 raw 负责板卡断电后的运行系统,FES loader 只负责让烧录主机临时取得 eMMC 访问能力。两条构建链彼此独立,因此替换主线内核或根文件系统时,不需要重新制作 loader。
检查五个固定输入
工程把 loader 的输入保存在:
loader/t527-fes/
├── image.cfg
├── sys_partition.fex
└── inputs/
├── config.fex
├── board.fex
├── sunxi.fex
├── u-boot.fex
└── fes1.fex
image.cfg 只声明这五个文件,sys_partition.fex 不声明任何分区。config.fex 和 fes1.fex 提供板卡与 DRAM 初始化数据,u-boot.fex 和 sunxi.fex 运行 FES/SRV,board.fex 保存板级配置块。
这些输入来自 Avaota A1/T527 已经完成过 FEL→FES 转换的 Tina5 启动集合。工程不复制 Tina5 的 dragon 程序,因此构建时必须提供 Tina5 SDK 根目录。
运行 loader 构建
从 AvaotaA1-T527-MainLineLinux 仓库根目录执行:
TINA_SDK_ROOT=/path/to/AvaotaA1-Tina5-SDK_V1 make loader
把 /path/to/AvaotaA1-Tina5-SDK_V1 替换为开发主机上的实际 SDK 根目录。构建脚本调用 SDK 中的 dragon,依据 image.cfg 与空分区配置生成:
out/avaota-a1-t527-fes-loader.img
检查 loader 内容
执行工程自带的结构验证:
make verify-loader
scripts/verify-loader.sh 不只检查文件是否存在,还会解析 IMAGEWTY 头、五个条目的名称与类型、每个载荷长度和 SHA-256,并确认分区数量为 0。通过时输出:
FES loader verification PASS
IMAGEWTY files: 5
image bytes: 1337344
partitions: 0 (no MBR entry)
当前 v9 loader 的完整 SHA-256 为:
867d43d12399016252a3d34c2ae50f6f362868f95c2985169d5a4b655a16417c
大小、哈希或五个条目中任何一项不匹配,都不能把文件用于后续烧录。loader 一旦换用其他板卡或 DRAM 参数,即使仍能被识别为 IMAGEWTY,也可能在 FEL→FES 阶段停止。
下一节把已经验证的 loader、主线 raw 和同版本 U-Boot 整理为发布文件。