验证主线系统从 eMMC 冷启动
v9 已在 OpenixCLI 完成整盘写入和读回校验后,连续两次完全断电启动到 Buildroot root shell。冷启动测试验证的是 BootROM、DRAM、eMMC Boot0 和主线启动链,不由烧录工具的成功提示代替。
在 shell 中执行一次 reboot 成功,只能证明“已经运行起来的系统还能重启”。OTG 仍然连接、PMIC 和部分控制器状态尚未完全消失时,板卡走过的路径并不等同于用户下一次接通电源。
这一轮要真正拔掉 OTG、让板卡完全掉电,再只保留电源和串口启动。这样 BootROM、DRAM training、eMMC 硬件分区选择和各控制器复位都会从头发生,能揭示暖重启掩盖的问题。
断开 OTG 连接
只保留两类连接:
拔掉 OTG 数据线,也不要连接可启动的 TF 卡或 USB 存储设备。这样能够排除 FEL、USB 启动和其他存储介质对结果的影响。
串口可以保留,因为它只观察 UART,不提供系统镜像。USB 转串口模块不要给板卡反向供电,否则主电源断开后某些电源域仍可能保持,测试就不再是完整冷启动。
执行断电冷启动
- 在系统中执行
poweroff,等待串口停止输出。 - 断开板卡电源至少 10 秒。
- 确认 OTG、TF 卡和 USB 存储均未连接。
- 开始保存新的串口日志。
- 接通电源,不按键干预 U-Boot。
- 登录后执行身份与挂载检查。
uname -r
findmnt -no SOURCE,FSTYPE,OPTIONS /
cat /proc/cmdline
lsblk -o NAME,SIZE,FSTYPE,LABEL,MOUNTPOINTS
重复验证冷启动
一次成功可能掩盖 eMMC 初始化时序、电源稳定性或随机重定位问题。先完成与 v9 发布验收一致的两次冷启动,并记录结果:
| 次数 | SPL → FIT | U-Boot → extlinux | Linux → rootfs | 登录成功 | 启动用时 |
|---|---|---|---|---|---|
| 1 | |||||
| 2 |
启动用时可以从串口日志的时间戳计算,不需要追求绝对性能;重点是两次结果是否一致、是否总在同一阶段出现异常。
两次通过是 v9 Release 的实机验收结果,不等同于可靠性认证。如果任一次失败,就按日志停点归类并扩大样本;两次全过也只能说明当前电源、温度和板卡样本下没有复现。
分别记录冷启动、重启与复位
| 测试 | 保留的状态 | 用途 |
|---|---|---|
reboot | 电源与部分硬件状态可能保留 | 检查正常软件重启 |
| 按复位键 | 供电保留,SoC 重新启动 | 检查复位路径 |
| 完全断电再上电 | 不依赖上次运行状态 | 证明 eMMC 独立启动 |
发布前至少要求软件重启、复位和完全断电三种路径均能进入同一主线系统。若只有 reboot 成功,应优先检查 DRAM 初始化、eMMC SPL 时钟、供电复位和 U-Boot 重定位,不能把结果归因于 Linux 用户空间。
更换电源适配器、eMMC 器件批次或提高 MMC 时钟后,应重新执行冷启动组,因为这些变化会影响上电与采样条件;仅修改用户空间工具时则通常不需要重新验证 BootROM 和 SPL 时序。