Files
matrix-screen-controller/各种归档/20260907_OTA1.1.0软件安装节点验证/README.md
T

4.1 KiB
Raw Blame History

OTA 1.1.0 交付与一次性验证记录

交付

  • 正式包:发布更新相关/OTA数据包/1.1.0/matrix-screen-controller-1.1.0.ota
  • 字节数:27993930(约 26.7 MiB)。
  • SHA-256:379f80a30157e23d717157005ea246fa822529010c0f0295dcad5db3ceff42c5。
  • 功能时间:2026-09-07T22:00+08:00。导出成功后 VERSION 推进到 1.1.0,发布记录追加一次。
  • 软件安装节点:1.1.0;1.0.x 可直接安装本节点,同系列补丁可跳过,跨多个 minor 必须逐个安装 .0。1.1.0 包协议 v1,后续包协议 v2。
  • 固定系统组件:官方 Linux ARM64 frpc 0.71.0,摘要见源码 UPGRADE_POLICY.json;首次默认关闭,已有完整二进制跳过,缺失或损坏自动修复并保留配置和启停状态。

验证证据

  • 本机全套 Python/前端与静态 JavaScript 检查通过。
  • 复制源码、需求、测试流程及完整其他离线依赖至独立目录,在目标版本 1.1.0 下运行:406 passed、9 skipped。跳过为已登记平台条件。
  • 最后相关回归:48 passed(版本/组件事务、日志、发布导出)。
  • 从现有 1.0.3 IMG 的 rootfs 内只读提取真实 package.py 与 ota_worker.py;不修改镜像、不刷写设备。worker SHA-256:cabac4403146a2f2482a2cba5a9599b2d7542617aed949458dc2a241edfbdb56。
  • AArch64 私有 mount namespace 隔离 /opt、/var/lib、/run、/usr/local/bin、systemd unit 和 sudoers 目录;真实旧 worker 创建离线 venv、安装 wheel、编译驱动、执行 pytest:413 passed、2 skipped。原生 bitplane 与 fake safeoff 通过。
  • 真实旧 worker 从 1.0.3 完成候选安装、数据迁移、frpc 安装、程序和数据切换;systemd 命令与最终 HTTP/显示健康结果使用测试替身。专用主机检查在 namespace 外只读完成。
  • 首轮暴露账户识别遗漏,改为优先读取既有 FRP 账户、镜像首启创建的专用 sudoers,再使用唯一 sudo 普通账户。随后发现当前开发设备并非镜像首启账户布局,隔离夹具补齐与 1.0.3 首启一致的账户策略;同一候选包已通过的完整测试不重复,从失败的迁移入口继续完成验证。
  • 验证无 frp 安装、已有二进制不重写、损坏二进制和缺 drop-in 修复、开启/启用状态保留。
  • 注入安装后的失败、切换后的中断、数据两次 rename 之间的中断、服务启动失败、健康检查失败,恢复原程序、用户内容和系统组件。
  • 真实 1.0.3 包解析器确认拒绝 v2 普通补丁,防止绕过 1.1.0。
  • 最终补充脚本验证真实 ARM64 安装器保持 active.env 的 0600 权限、完整二进制 mtime 不变、启停状态保留;已有损坏组件先修复,失败后精确恢复原字节及权限。最后仅补充保留原 worker 失败简报的条件判断,并通过本机相关回归。
  • 正式包已重新解包逐文件核对与最终源码相同,含 246 个文件,只有 software/wheelhouse 顶层,恰好一个已校验 frpc;无 venv、缓存、浏览器产物、持久数据或旧镜像。包摘要、sidecar、manifest、发布记录一致。

调试设备

  • 用户确认设备 SSH 指纹后连接;凭据未归档。
  • 仅兼容修正旧 worker 的依赖目录查找和组件安装分支,未部署整个应用、未执行正式 OTA、未重启服务。
  • 原 worker 摘要:3eec0eab7b2ce2bd43f11cccb0ba3063b2c820532d78abc2e06ba3823f8c33e5。
  • 修正后摘要:219cb5eea3121e2b6b54ff06319900e3fa88199ef43945434d5af13f7aef6bc0。
  • 实际开发包解析器成功接收并解压 1.1.0,设备仍报告 1.0.6,主服务 active,frpc 摘要保持原值。
  • 原 worker 备份保存在随附原始记录归档中。必要时可恢复该单文件;不涉及用户数据。

边界与清理

真实浏览器安装、真实 systemd 组件监护、整机断电/重启与实屏结果尚未验收;上述模拟结果不代表这些项目通过。用户后续自行上传正式 1.1.0。

本目录是一次性证据,不得成为源码、日常测试或未来导出的依赖。板端临时验证目录与本机候选包/隔离副本在收集记录后清理;持久测试环境与其他任务文件保留。