feat(font+sys): 字库内存纪律(agent-215)+sysui接管launcher监管(agent-216)
215: meow_font.c 流式分块解码(gbk峰值40→23.5MB, 逐字节校验一致) + 多字体槽5→4+16MB驻留预算; 量化: gbk稳态驻留17.3MB vs common 4.2MB(OOM主因); meow_font.a→67113c03 meow_ui.a→223d5401 216: bootmenu让位(sysui在则start launcher让位, 不在则exec兜底) + S70预置launcher.conf enabled=1(+旧设备升级迁移); launcher崩溃可自动拉起; bootmenu 4441822d / S70 e435affc / S90 e0ace111 216注: S70早启动与选单共存为真机重点观察项
This commit is contained in:
1 parent
90e28e7b7e
commit
c0f7a95719
10 files changed
+434
-92
No files matched your search
@@ -4,12 +4,13 @@
|
||||
#
|
||||
# 位置:**最早**(早于 S84ssh / S89meow_svcd / S90meow_bootmenu)。
|
||||
# * 定案启动链:meow_sysui 先起(S70)→ meow_svcd(由 sysui 拉起)→ 各项服务子进程。
|
||||
# * S90meow_bootmenu 里 `exec /usr/bin/meow_bootmenu --fork` 会阻塞 rcS,故任何 S90 之后
|
||||
# 的 init.d 都不执行——sysui 必须排在 S90 之前(S70 满足)。
|
||||
# * S90meow_bootmenu `exec /usr/bin/meow_bootmenu --fork`:HibyOS 模式 fork 播放器并转监督者,
|
||||
# 阻塞 rcS;MeowOS 模式在 sysui 托管下让位退出(rcS 推进,S92 见 mode=meow 跳过播放器)。
|
||||
# 故 sysui 必须排在 S90 之前(S70 满足)——launcher 已在 S70 由 sysui 拉起。
|
||||
#
|
||||
# 职责:监管系统进程(launcher / meow_svcd / meow_mdns / …),一个崩只拉起它、绝不级联。
|
||||
# 本脚本只做三件事:
|
||||
# 1) 预置板载监管配置 /usr/data/meow/sysui.d/*.conf(首启建,已存在不覆盖);
|
||||
# 1) 预置板载监管配置 /usr/data/meow/sysui.d/*.conf(首启建;除 launcher.conf 迁移升级外已存在不覆盖);
|
||||
# 2) 拉起 meow_sysui(默认后台 daemon);
|
||||
# 3) stop 时优雅停 sysui(其会 SIGTERM 被监管的 svcd 并收尸)。
|
||||
#
|
||||
@@ -39,24 +40,37 @@ EOF
|
||||
chmod 644 /usr/data/meow/sysui.d/svcd.conf
|
||||
echo -n "provisioned svcd.conf "
|
||||
fi
|
||||
# launcher 当前由 S90meow_bootmenu 的 exec 拥有生命周期;待 bootmenu 让位后交 sysui。
|
||||
# 此处仅登记(enabled=0),避免双重拉起。mdns 是 svcd 的服务子进程,由 svcd 负责,
|
||||
# 本阶段不直接监管(或作兜底条目,默认关)。
|
||||
# launcher 监管(M2.83 迁移):已交 sysui 托管——bootmenu 在 MeowOS 模式让位(sysui 在则
|
||||
# 不再 exec launcher,lifecycle 归 sysui:崩→sysui 按 restart=always 重启;bootmenu 仅在
|
||||
# sysui 不在时兜底 exec)。故此处 enabled=1。检测到旧版(enabled=0,bootmenu 时代)→ 升级。
|
||||
# mdns 是 svcd 的服务子进程,由 svcd 负责,本阶段不直接监管(或作兜底条目,默认关)。
|
||||
LAUNCHER_UPGRADE=''
|
||||
if [ -f /usr/data/meow/sysui.d/launcher.conf ]; then
|
||||
echo -n "launcher.conf exists "
|
||||
else
|
||||
if grep -qE '^[[:space:]]*enabled[[:space:]]*=[[:space:]]*0([[:space:]]|#|$)' /usr/data/meow/sysui.d/launcher.conf; then
|
||||
LAUNCHER_UPGRADE=1
|
||||
else
|
||||
echo -n "launcher.conf exists "
|
||||
fi
|
||||
fi
|
||||
if [ -n "$LAUNCHER_UPGRADE" ] || [ ! -f /usr/data/meow/sysui.d/launcher.conf ]; then
|
||||
cat > /usr/data/meow/sysui.d/launcher.conf <<'EOF'
|
||||
# 预留:launcher(系统 UI 渲染宿主)。现网由 S90meow_bootmenu exec 拥有 → 启用前需 bootmenu 让位。
|
||||
# 真把 launcher 交给 sysui 监管后,把 enabled=1(并停用 bootmenu 的 exec launcher 路径)。
|
||||
# meow_sysui 监管条目:launcher(系统 UI 渲染宿主)。系统进程总监 → launcher 被监管。
|
||||
# 语义同 services.d:key=value,'#'/';' 注释,未知键忽略。无 trigger——enabled=1 即常驻监护。
|
||||
# M2.83 launcher 监管迁移:bootmenu 在 MeowOS 模式让位(sysui 在则不 exec launcher),
|
||||
# launcher 生命周期归 sysui:崩→sysui 按 restart=always 重启;bootmenu 仅在 sysui 不在时兜底。
|
||||
exec=/usr/bin/meow_launcherd
|
||||
args=
|
||||
enabled=0
|
||||
enabled=1
|
||||
restart=always
|
||||
backoff_ms=3000
|
||||
max_restart=5
|
||||
EOF
|
||||
chmod 644 /usr/data/meow/sysui.d/launcher.conf
|
||||
echo -n "provisioned launcher.conf "
|
||||
if [ -n "$LAUNCHER_UPGRADE" ]; then
|
||||
echo -n "upgraded launcher.conf (enabled 0->1) "
|
||||
else
|
||||
echo -n "provisioned launcher.conf "
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo -n "skip provision (/usr/data/meow not writable) "
|
||||
|
||||
Reference in new issue
Block a user