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 不存在)
This commit is contained in:
tower committed 2026-11-12 08:25:04 +08:00
1 parent dd8929e2df
commit d34406ac22
8 files changed
+215 -20

No files matched your search

+12 -5
View File
@@ -23,9 +23,9 @@
# COMPAT_HOME 兼容 HOME 目录(默认 ${TMPDIR:-$HOME/tmp}/meow-build-home)
#
# 用法:
# bash scripts/build/rebuild_binaries.sh # 全部 5 组
# bash scripts/build/rebuild_binaries.sh # 全部 6 组
# bash scripts/build/rebuild_binaries.sh bootmenu # 只编指定的(可多个)
# 组件名:bootmenu netmgrd audiod audio launcherd
# 组件名:bootmenu netmgrd audiod audio launcherd watchdog
set -u
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
@@ -118,8 +118,8 @@ report() {
printf ' %-44s %8s B %s\n' "$1" "$(stat -c%s "$f")" "$(md5sum "$f" | cut -d' ' -f1)"
}
do_bootmenu=0; do_netmgrd=0; do_audiod=0; do_audio=0; do_launcherd=0
if [ $# -eq 0 ]; then do_bootmenu=1; do_netmgrd=1; do_audiod=1; do_audio=1; do_launcherd=1; fi
do_bootmenu=0; do_netmgrd=0; do_audiod=0; do_audio=0; do_launcherd=0; do_watchdog=0
if [ $# -eq 0 ]; then do_bootmenu=1; do_netmgrd=1; do_audiod=1; do_audio=1; do_launcherd=1; do_watchdog=1; fi
for a in "$@"; do
case "$a" in
bootmenu) do_bootmenu=1 ;;
@@ -127,7 +127,8 @@ for a in "$@"; do
audiod) do_audiod=1 ;;
audio) do_audio=1 ;;
launcherd) do_launcherd=1 ;;
*) die "未知组件: $a(bootmenu netmgrd audiod audio launcherd)" ;;
watchdog) do_watchdog=1 ;;
*) die "未知组件: $a(bootmenu netmgrd audiod audio launcherd watchdog)" ;;
esac
done
@@ -143,5 +144,11 @@ echo " ZIG=$ZIG ($("$ZIG" version 2>/dev/null || echo '?'))"
[ "$do_audiod" = 1 ] && { run audiod patch_v2/meow_audiod bash build_audiod.sh; report patch_v2/meow_audiod/meow_audiod; }
[ "$do_audio" = 1 ] && { run audio patch_v2/meow_audiod bash build_audiod.sh cli; report patch_v2/meow_audiod/meow_audio; }
[ "$do_launcherd" = 1 ] && { ensure_ui_a; run launcherd patch_v2/meow_launcherd bash build_launcher.sh; report patch_v2/meow_launcherd/meow_launcherd; }
# watchdog:不走 build_watchdog.sh —— 它按自身位置推 ROOT=../.. 再取 <root>/.tools/zig-mipsel-cc,
# 该符号链接只在主 checkout 里(worktree 没有),直接跑会「找不到编译器」。这里按它的同一组参数
# (-Os -Wall -Wextra -static + MEOW_TIME32_LIBC_OVERRIDES + ../sdk/meow_time32.c)显式调用 $ZIGCC。
[ "$do_watchdog" = 1 ] && { run watchdog patch_v2/meow_watchdog "$ZIGCC" -Os -Wall -Wextra -static \
-I../meow_launcherd -DMEOW_TIME32_LIBC_OVERRIDES meow_watchdog.c ../sdk/meow_time32.c -o meow_watchdog
report patch_v2/meow_watchdog/meow_watchdog; }
echo "==> 完成。产物自证:bash scripts/build/verify_fingerprints.sh"