验证 eMMC 冷启动
OpenixCLI 的整盘读回校验发生在 FES 仍然运行时。它能证明 eMMC 中保存的字节正确,却不能证明芯片重新上电后能够从 Boot0 读取 SPL。烧录与冷启动是两个独立的完成条件。
完全断电后重新上电
- 等待 OpenixCLI 返回
Raw disk image flashed successfully和errorCode=0。 - 断开 OTG 和板卡电源,确认板卡已经完全掉电。
- 保持 CH340 的 GND、TX、RX 连接,串口参数使用
115200 8N1。 - 恢复正常供电,保存从第一行开始的完整串口日志。
不要用软件 reboot 代替这一检查。软件重启时 DRAM、时钟或 eMMC 控制器可能保留部分状态,无法覆盖 BootROM 冷启动使用的初始条件。
检查 v9 的连续启动标志
U-Boot SPL 2026.07-dirty (Sep 01 2026 - 23:27:38 -0400)
LYNX_MMC_SAFE_IO: mmc=2 f_max=25000000 b_max=128
NOTICE: BL31: v2.12.0(debug):b5de74a68
U-Boot 2026.07-dirty (Sep 01 2026 - 23:27:38 -0400)
Found /extlinux/extlinux.conf
Starting kernel ...
Linux version 7.2.0-avaota-a1-mainline
VFS: Mounted root (ext4 filesystem) on device 179:2.
Avaota A1 mainline Linux / Buildroot 2026.05.1
avaota-a1 login:
| 启动交接 | 日志说明 | 停止时检查 |
|---|---|---|
| BootROM → SPL | Boot0 中的主线 SPL 可执行,MMC2 使用 25 MHz、4-bit、b_max=128 | Boot0 写入、TM4 初始化、FEL 恢复 |
| SPL → BL31 | SPL 已从 User Area 读取 FIT | FIT 偏移、eMMC 多块读取 |
| BL31 → U-Boot | TF-A 已进入 BL33 | FIT 入口地址和 U-Boot proper |
| U-Boot → Linux | FAT 中的 Image、DTB 和 extlinux 可读取 | 文件路径、加载地址、启动参数 |
| Linux → Buildroot | /dev/mmcblk1p2 已挂载为 ext4 根分区 | eMMC DT、root 参数和 /sbin/init |
检查根分区
登录后执行:
uname -a
cat /proc/cmdline
cat /proc/partitions
mount | grep ' on / '
free -h
实机记录中,Linux 识别到 58.2 GiB eMMC、mmcblk1p1 和 mmcblk1p2,并以读写方式挂载 ext4 根分区。free -h 显示约 3.8 GiB 可用内存。
本版本可以枚举 eth0、eth1 和 usb0,但启动脚本仍会等待网络接口超时,MDIO address 1 也尚未通过验收。网络现象应单独记录,不能影响对 eMMC 冷启动链的判断。
执行第二次冷启动
再次完全断开电源并重新上电。第二次仍应依次进入 SPL、BL31、U-Boot、Linux 和 Buildroot;ext4 日志可能出现 recovery complete,随后应正常挂载根分区。
两次冷启动都进入登录提示,才能说明写入的 v9 系统不依赖 FES、软件重启残留状态或一次性的 eMMC 初始化结果。保存实机启动记录,供后续测试与发布阶段引用。