Skip to main content

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