tower
|
28fbc6094a
|
fix(build): M56 r1 评审三条 P2 + 一条观察(脚本权限/可复现口径注释/watchdog 参数去内联+入门禁/REPACK 显式失败)
- P2-1 repack_repro.sh 提交为 100755(scripts/build/ 下唯一非 755 的 .sh,而头注释就让人直接执行)
- P2-2 注释与事实对齐:写明 squashfs/分片/ota_update.in 可复现,但 .upt 仍有 93 字节
Rock Ridge TF backup date 差异(genisoimage 无覆盖开关),验收口径仍是 体积+unpack 0 diff+进包 md5
- P2-3 watchdog 参数不再内联复制:build_watchdog.sh 认 ZIGCC(照 build_netmgrd.sh 口径),
rebuild_binaries.sh 改成调它;meow_watchdog 加入 test_time32_abi.sh 的 BUILD_TARGETS(11 个)。
改后重编仍逐字节 25f769509a43d0f66287efd456c64281 / 100116,与内联那版一致
- 观察1:REPACK 显式指定但不存在 -> exit 1(此前会静默回退到不可复现的旧 repack.sh)
|
2026-11-12 08:44:27 +08:00 |
|
tower
|
d34406ac22
|
chore(fw): M56 重编 5 件受源码变动影响的产物 + 钉值回写 + 可复现打包器(0.8.51)
- 重编 netmgrd(M54 ACL)/audiod(M55 BT 增益 + M52 bind 失败即退)/launcherd(M52 multi_font 收口)/
watchdog(M52 资源告警);meow_audio 源码未变,重编逐字节相同(md5 不变)
- fw_content.conf:5 条 md5 回写 + meow_power desc 去掉「policy 期3桩」(已实装)
- 新增 scripts/build/repack_repro.sh:mksquashfs -repro-time + genisoimage -creation-date
+ mtime 归一化 + 半成品防护(先写暂存再 mv、体积下限自检)
- build_fw_apps.sh:优先走可复现打包器、XIMAGE/TMPDIR 可在干净 checkout/worktree 覆盖
- rebuild_binaries.sh:新增 watchdog 目标(build_watchdog.sh 的 ROOT/.tools 在 worktree 不存在)
|
2026-11-12 08:25:04 +08:00 |
|
AskaEth
|
0d1b2d4c19
|
fix(fw): M51 r2 — 重编脚本开箱可用、自证门禁不再假绿、归因与 desc 纠正
r2 评审 p2-6items 六条全部处理;**产物字节未变**(5 件 md5 与 31d4c22 完全一致)。
P2-1/P2-4 归因纠正(31d4c22 提交说明里那两行是错的,以本条为准):
- bootmenu 的 +1728 **不是**工具链代差,是 M23 源码(m2.29→m2.30)。证据:旧件
`readelf -p .comment` 已是 clang 22.1.8(与新件同代);旧件版本串 `0.1.0-m2.29-takeover`,
而钉值 commit 884d4c4 的源码已是 m2.30;用 6364498(m2.29 树)+ 今天的工具链重编得
157108/0507739d,与旧钉值件逐字节相同。
- launcherd 的 −512 也不是编译器:新旧 .comment 集合一致(那道 21.1.8 来自 meow_ui.a 里的
meow_font.o),真实原因是 SDK 静态库从 86800633 换成 cc0ed49b——用 58cdb73 源码 +
86800633 的 .a 重编得 894940/cea0a735,与旧钉值件逐字节相同。
- 因此**只有 meow_audiod 真有工具链代差**(旧 clang/LLD 21.1.8 → 新 22.1.8)。
P2-2 主 checkout 定位:`git rev-parse --git-common-dir` 给的是主仓库 .git 的**绝对**路径,
父目录才是主 checkout;旧版把绝对路径当相对路径拼到 $ROOT 下,`cd` 失败被 `set -e`
直接终止 → 干净 worktree 里静默 exit 1。现为 `cd "$_gcd/.."` + 全部 `|| true`,
找不到 meow_ui.a 时**先**打印诊断(缺什么、试过哪些路径、怎么覆盖)再退出。
P2-3 .tools 兜底层级:旧版把 $COMPAT_HOME/Project/R3ProII 指向 ROOT,脚本里的
`$HOME/Project/R3ProII/.tools` 就落到 `<checkout>/.tools`(干净 worktree 不存在 → 127)。
现在造一个真目录,只放 `.tools -> ~/.tools` 与 `patch_v2 -> $ROOT/patch_v2`;
零手工准备即可开箱重编。README 措辞同步改准。
P2-5 门禁假绿:test_time32_abi.sh 的退出码现计入 FAIL,脚本缺失也记 FAIL。
失败桩自证:`PASS=33 FAIL=1`、exit 1(原为 PASS=33 FAIL=0 / exit 0)。
P2-6 desc:meow_audio 的 `volume` → 真实子命令 `status / tone / route / vol / output / monitor`
(并避开 `|`,否则破坏清单 4 字段格式);bootmenu 的读取键改为 display.brightness
(display.brightness_min 只是下限 clamp);netmgrd 去掉「以太网连接」的夸大说法。
|
2026-11-11 21:02:09 +08:00 |
|
AskaEth
|
31d4c22806
|
fix(fw): M51 刷机前批次 — 5 组二进制从最新 main 重编 + 钉值回写 + 语义指纹自证
本轮终结「二进制与源码两条轨道各走各的」:M23/M43/M47/M49/M50 只交源码,产物统一由本单
从 main 5a06a8c 一次重编。重编后 md5 全变(旧钉值来自另一代工具链/另一份源码),语义由
scripts/build/verify_fingerprints.sh 逐条自证。
- meow_bootmenu 157108 → 158836 8bce6558 (源码与 884d4c4 一致,变化全部来自工具链代差)
- meow_netmgrd 212740 → 222068 e62e7512 (M49 蓝牙控制面 + WiFi 连接修复,+9328 全为源码)
- meow_audiod 153484 → 68604 9f58b219 (musl 静态 → glibc-2.22 动态,链 libasound.so.2;M50)
- meow_audio 88888 → 88888 3909c8d2 (与钉值逐字节一致,重编即复现)
- meow_launcherd 894940 → 901020 e21450ff (M47 蓝牙/WiFi 三态开关 +6592)
fw_content.conf:上述 6 行(netmgrd 双路径)md5 回写;desc 改为中性描述(文件是什么/什么形态),
不再写未进产物的功能版本号(M48 查出 bootmenu/netmgrd/audiod 三处 desc 撑谎)。
30/30 行 md5 与磁盘一致、全部 4 字段。
新增 scripts/build/rebuild_binaries.sh:干净 checkout / worktree 里的重编驱动(兼容 HOME +
.tools/meow_ui.a 兜底,不改各组件 build_*.sh 的本机硬编码路径)。
新增 scripts/build/verify_fingerprints.sh:字符串/动态段/4263 反汇编判据逐条断言。
|
2026-11-11 20:29:21 +08:00 |
|