100ASK T113S3 Pro 主线系统安装到 SPI NAND
危险操作:本章会擦除并重写 SPI NAND 的 SPL、U-Boot、boot 和 sys 区域。必须确认目标板、产物哈希和恢复路径,安装过程中不得断开电源、OTG 或 UART。
本章目标
执行一次可追溯、不可自动重试的安装,并同时取得主机 RAM 交接和板端安装/温重启证据。
前置条件
- 板卡和 NAND 与开发板与硬件基线一致;
- Ubuntu 20 开发环境已通过 USB 和串口验收;
- 已通过完整编译规程;
- Tina 恢复镜像和进入 FEL 的方法可用;
- 一条 SoC USB OTG 数据线;
- 一个独立 UART3 转串口,PB6/PB7,115200;
- 同一主机能访问 USB FEL 和串口设备;
- 当前只有一块待操作的 Allwinner 板卡,或已知明确物理位置。
输入文件
OpenixCLI/target/release/openixcli
DshanPI-T113xMainlineLinux/out/t113s3pro-mainline-fel/
开始前:
cd DshanPI-T113xMainlineLinux/out/t113s3pro-mainline-fel
sha256sum -c FEL_SHA256SUMS
cd ../..
任何一个 FAILED 都必须停止。
第一步:连接 UART3
确认串口设备存在:
test -c /dev/ttyACM0
如果设备节点不是 /dev/ttyACM0,后续命令必须显式替换。禁止同时用另一个程序打开或关闭同一串口;历史上共享串口 handle 被诊断程序关闭,导致一次安装任务误失败。
第二步:进入 BootROM FEL
让板卡进入 FEL 后检查:
lsusb | grep -i '1f3a:efe8'
虚拟机环境每次 USB 重新枚举后,都可能需要重新把 Allwinner 设备连接到 guest。
第三步:执行安装和温重启监控
在主线仓库根目录运行:
OPENIXCLI_BIN=../OpenixCLI/target/release/openixcli \
./scripts/flash-and-monitor.sh \
./out/t113s3pro-mainline-fel \
auto \
/dev/ttyACM0 \
300
参数含义:
1: artifact 目录
2: USB 位置;auto 只接受唯一 Allwinner 设备
3: UART 设备
4: UART 等待超时,单位秒
多板环境必须指定:
libusb:<bus>:<port>
零设备或多设备时 auto 会失败,不会猜测目标。
第四步:观察主机阶段
OpenixCLI JSONL 应依次出现:
endpoint_verified
opening_device
device_opened
bootstrapping_mainline_spl
mainline_spl_return_same_session
或 mainline_spl_return_device_reopened
mainline_spl_returned_to_fel
writing_artifacts
executing_entry
ram_handoff_complete
ram_handoff_complete 后继续等待 UART,不要断电。
第五步:观察板端安装阶段
UART 应出现:
T113S3 MAINLINE SPI-NAND INSTALLER
LYNX_PROGRESS phase=installer_started progress=55
...
/dev/mtd0 readback SHA-256 OK
/dev/mtd1 readback SHA-256 OK
/dev/mtd3 readback SHA-256 OK
...
LYNX_PROGRESS phase=installer_complete progress=100
MAINLINE INSTALL COMPLETE - rebooting
随后软件重启必须到达:
t113s3pro-mainline login:
脚本成功终点:
Warm reboot acceptance passed
A controlled power-off cold boot is still required for release qualification.
成功判定
本章只在以下条件同时成立时通过:
- host 端哈希全部匹配;
- SPL 返回 FEL;
- RAM artifact 全部传输;
- installer payload 和 MTD 几何检查通过;
- 三个 raw 分区读回 SHA-256 通过;
- UBI attach、UBIFS mount 和
/sbin/init检查通过; - 本次 installer complete 之后出现登录提示;
- 脚本退出码为 0。
还必须继续执行冷启动验收,才能发布为硬件验证产物。
失败处理
| 停止点 | 操作 |
|---|---|
| 找不到/多个 USB 设备 | 修正 USB 连接或显式指定物理位置 |
| SPL 返回失败 | 保存 JSONL 和 UART,重新手动进入 FEL |
| RAM handoff 后无 installer | 检查 UART3、FIT、内核和补丁构建身份 |
installer_failed | 保留 emergency shell,收集 MTD/UBI/dmesg |
| 温重启无登录 | 检查 U-Boot 读 FIT、命令行和 UBIFS |
| 脚本超时 | 不判成功,不自动重试 |
回滚
板卡无法冷启动时,重新进入 BootROM FEL,使用已验证的主线 bundle 或 Tina 恢复工具恢复。不要烧录 raw 256 MiB 逻辑镜像;SPI NAND 必须由了解坏块/OOB/ECC 的写入路径处理。
需要保存的证据
flash-and-monitor.sh 把 UART 写到 out/flash-logs/uart-<时间>.log。同时保存命令、退出码、OpenixCLI JSONL、FEL 位置、两个仓库提交和 FEL_SHA256SUMS。