系统基建线(agent-139): svcd subreaper加固 + meow_sysui总监 + 启动链

- svcd: 审计确认现网已子进程化(fork+execv+setpgid+waitpid+SIGCHLD+set_cloexec,无system()); 增量 prctl(PR_SET_CHILD_SUBREAPER) 代收孤儿孙进程 → fb2d608b
- meow_sysui(新增): 系统进程总监, 仿svcd成熟模式(信号自管道/poll/双探测kill/waitpid/subreaper/状态机), 监护自己fork+exec进程, 按sysui.d/<name>.conf逐条拉起, 无级联/有限次兜底/主循环绝不exit/空配置空转 → 173013cc
- 启动链 S70meow_sysui → S89meow_svcd → S90meow_bootmenu; svcd拉起权判归(sysui在→交监管,不在→回退现网重挂循环)
- 宿主集成测试过(常崩/稳定隔离/无级联/subreaper收尸/端到端); meow_ui.a未动
- 需加到固件打包(build_fw_apps_m267.sh): sysui→/usr/bin/meow_sysui, svcd覆盖(fb2d608b), S70+S89; 校验 svcd 762e84d0→fb2d608b, 新增 sysui 173013cc
This commit is contained in:
MeowOS committed 2026-08-30 19:07:47 +08:00
1 parent c4e648be0e
commit 2a6c4e97c5
9 files changed
+1391 -8

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
#!/bin/bash
# build_sysui.sh — meow_sysui 交叉编译(mipsel 静态)+ 宿主编译可选。
#
# 目标:R3 Pro II / MeowOS(mipsel-linux-muslsf,静态)。sysui 极简无外部依赖,
# 仅 POSIX + Linux 基础接口(同 svcd),单文件满足「固件内、不入卡」。
#
# 用法:
# ./build_sysui.sh # 交叉编译 → patch_v2/meow_sysui/meow_sysui(mipsel 静态)
# ./build_sysui.sh host # 宿主编译 → patch_v2/meow_sysui/meow_sysui_host(集成测试用)
set -e
cd "$(dirname "$0")"
ROOT="$HOME/Project/R3ProII"
CC="$ROOT/.tools/zig-mipsel-cc"
if [ "$1" = "host" ]; then
HOST_CC="${CC_HOST:-cc}"
"$HOST_CC" -Os -Wall -Wextra meow_sysui.c -o meow_sysui_host
echo "== host build =="
ls -la meow_sysui_host
file meow_sysui_host
exit 0
fi
"$CC" -Os -Wall -Wextra -static meow_sysui.c -o meow_sysui
echo "== meow_sysui (mipsel static) =="
ls -la meow_sysui
md5sum meow_sysui
file meow_sysui