feat(S89): 服务名统一 meow_*(用户定案)——S89 迁移旧 audiod.conf/mdnsd.conf 为 meow_audiod.conf/meow_mdns.conf(stop+rm+预置);SPEC_REF/meow_svcd.md 同步。launcher main_menu.c 的 svcd start audiod 调用待 286 交还后改(避让同目录)

This commit is contained in:
MeowOS committed 2026-09-01 22:08:29 +08:00
1 parent b37dc23cd9
commit cd4e2c247f
4 files changed
+35 -18

No files matched your search

+29 -13
View File
@@ -7,10 +7,10 @@
# --fork` 会阻塞 rcS(选单后 exec meow_launcherd 或 fork 播放器监督),故任何 S90
# 之后的 init.d(如 S91/S92)**都不会执行**——svcd 必须排在 S90 之前。
# * 本脚本只装「稳定框架/KB级设置」:主机名 + 板载服务配置
# (/usr/data/meow/services.d/,Data 区,首启预置 mdnsd.conf + meow_svc_perf.conf +
# (/usr/data/meow/services.d/,Data 区,首启预置 meow_mdns.conf + meow_svc_perf.conf +
# meow_svc_power.conf —— 后者为框架专项服务,trigger=boot 恒存在即启动)。
# * **svcd 拉起权**:若 meow_sysui(系统进程总监)已运行 → svcd 由 sysui 监管拉起
# (sysui.d/svcd.conf),本脚本仅在其已运行时 `meow_svcd reload` 让 svcd 补载 mdnsd.conf,
# (sysui.d/svcd.conf),本脚本仅在其已运行时 `meow_svcd reload` 让 svcd 补载 meow_mdns.conf,
# 不重复拉起、不重挂(避免与 sysui 双重监护 svcd)。仅当 **sysui 未运行**时才回退到
# 现网的「重挂循环」自监护(旧固件/无 sysui 场景,向后兼容)。
#
@@ -35,13 +35,21 @@ case "$1" in
sethostname "$host" 2>/dev/null || hostname "$host" 2>/dev/null
echo -n "host=$host "
# 2) 首启预置板载 mdnsd.conf(Data 区可写才建;已存在不覆盖)
# 2) 首启预置板载 meow_mdns.conf(Data 区可写才建;已存在不覆盖)
if [ -d /usr/data/meow ] && [ -w /usr/data/meow ]; then
mkdir -p /usr/data/meow/services.d
# 服务名统一 meow_*(M6.1 用户定案):旧 mdnsd.conf 迁移 → meow_mdns.conf
if [ -f /usr/data/meow/services.d/mdnsd.conf ]; then
echo -n "mdnsd.conf exists "
if [ -x /usr/bin/meow_svcd ]; then
/usr/bin/meow_svcd stop mdnsd 2>/dev/null
fi
rm -f /usr/data/meow/services.d/mdnsd.conf
echo -n "renamed mdnsd.conf->meow_mdns.conf "
fi
if [ -f /usr/data/meow/services.d/meow_mdns.conf ]; then
echo -n "meow_mdns.conf exists "
else
cat > /usr/data/meow/services.d/mdnsd.conf <<'EOF'
cat > /usr/data/meow/services.d/meow_mdns.conf <<'EOF'
exec=/usr/bin/meow_mdns
args=
enabled=1
@@ -51,11 +59,11 @@ max_restart=5
trigger=boot
cap=
EOF
chmod 644 /usr/data/meow/services.d/mdnsd.conf
echo -n "provisioned mdnsd.conf "
chmod 644 /usr/data/meow/services.d/meow_mdns.conf
echo -n "provisioned meow_mdns.conf "
fi
else
echo -n "skip mdnsd.conf (/usr/data/meow not writable) "
echo -n "skip meow_mdns.conf (/usr/data/meow not writable) "
fi
# 2b) 首启预置板载**专项服务**配置(性能/电源;trigger=boot 恒存在即启动,拔卡保留)。
@@ -110,10 +118,18 @@ EOF
chmod 644 /usr/data/meow/services.d/meow_crash.conf
echo -n "provisioned crash.conf "
fi
# 服务名统一 meow_*(M6.1 用户定案):旧 audiod.conf 迁移 → meow_audiod.conf
if [ -f /usr/data/meow/services.d/audiod.conf ]; then
echo -n "audiod.conf exists "
if [ -x /usr/bin/meow_svcd ]; then
/usr/bin/meow_svcd stop audiod 2>/dev/null
fi
rm -f /usr/data/meow/services.d/audiod.conf
echo -n "renamed audiod.conf->meow_audiod.conf "
fi
if [ -f /usr/data/meow/services.d/meow_audiod.conf ]; then
echo -n "meow_audiod.conf exists "
else
cat > /usr/data/meow/services.d/audiod.conf <<'EOF2'
cat > /usr/data/meow/services.d/meow_audiod.conf <<'EOF2'
exec=/usr/bin/meow_audiod
args=
enabled=1
@@ -123,8 +139,8 @@ max_restart=5
trigger=manual
cap=
EOF2
chmod 644 /usr/data/meow/services.d/audiod.conf
echo -n "provisioned audiod.conf "
chmod 644 /usr/data/meow/services.d/meow_audiod.conf
echo -n "provisioned meow_audiod.conf "
fi
# meow_route 退役(并入 meow_audiod,AUDIOD_DESIGN.md §5):清理旧固件遗留的
# meow_route.conf(trigger=boot 会拉起已被固件移除的 /usr/bin/meow_route → 重启循环)。
@@ -208,7 +224,7 @@ EOF
sysui_alive=1
fi
if [ "$sysui_alive" = "1" ]; then
# svcd 由 meow_sysui 监管拉起;此处仅补载刚预置的 mdnsd.conf(若 svcd 已在跑)
# svcd 由 meow_sysui 监管拉起;此处仅补载刚预置的 meow_mdns.conf(若 svcd 已在跑)
if [ -x /usr/bin/meow_svcd ]; then
if [ -f /tmp/meow_svcd.pid ] && kill -0 "$(cat /tmp/meow_svcd.pid 2>/dev/null)" 2>/dev/null; then
/usr/bin/meow_svcd reload 2>/dev/null
+2 -2
View File
@@ -36,7 +36,7 @@
服务配置**两处都读**,一个服务一个 `<name>.conf`:
- **板载** `/usr/data/meow/services.d/<name>.conf`:Data 区,恒定存在、权威优先;
首启由固件 `S89meow_svcd` 预置(如 `mdnsd.conf`)。拔卡不丢。
首启由固件 `S89meow_svcd` 预置(如 `meow_mdns.conf`)。拔卡不丢。
- **TF** `<card>/MeowOS/services.d/<name>.conf`:随卡存在/消失。
**同名遮蔽规则**:先扫板载(权威),再扫 TF;若 TF 出现与板载同名服务 → **跳过 +
@@ -82,7 +82,7 @@ trigger = card-mount
# cap = cap_net_bind_service,cap_net_raw
```
**板载 mDNS 应答器示例**(固件预置 `/usr/data/meow/services.d/mdnsd.conf`,首启建):
**板载 mDNS 应答器示例**(固件预置 `/usr/data/meow/services.d/meow_mdns.conf`,首启建):
```ini
# 自研 IPv4-only mDNS 应答器(固件 /usr/bin/meow_mdns;板载服务,拔卡不丢)