# mips-repo — MeowOS 板载 mipsel 软件仓库(宿主侧) 目标设备:R3 Pro II / MeowOS 固件(**mipsel-linux-muslsf**,静态,无 glibc 依赖)。 用途:存放针对该设备的交叉编译二进制与构建信息,便于**复用**到后续固件 / TF 卡 (MeowOpt 目录;`MeowLib` 未定义/未用——`MeowOpt` 与 `MeowOS/opt` 命名需归一:代码用 `MeowOS/opt`,文档 `MeowOpt` 指卡上外部工具目录。[源:审计 2026-08-30])。 ## 仓库结构(每工具一个目录) ``` mips-repo/ README.md # 本文件 / build.sh # 交叉编译脚本(可重复执行) manifest.md # 元信息:来源/版本/arch/校验/产物路径/安装目标 bin/ # 交叉编译产物(静态 mipsel,如存在) ``` ## 当前已入库工具 - **mdnsd/**:Apple mDNSResponder-2881.0.25 交叉编译产物(`mipsel-linux-muslsf` 静态)。两种变体同在 `bin/`: - `bin/mdnsd` = **SAResponder**(mDNSResponderPosix,单服务注册型,`-n/-f` 只发布/回指定服务)strip 后 **885.6 KB**; - `bin/mdnsd.bin` = **完整 mdnsd** 守护进程(通用宿主响应器,回任意 `.local` 查询)strip 后 **994 KB**。 均远超固件 <200KB 阈值 → 按 mDNS 方案A 用**完整版**部署到 TF `MeowOpt/mdnsd/mdnsd`,由 meow_svcd 托管(需 root / setcap `cap_net_bind_service,cap_net_raw`)。详见 `mdnsd/manifest.md`。 ## 目标架构与工具链 - 架构:`mipsel`(MIPS32r2, little-endian) - 运行库:`musl`(静态链接,避免 libc 版本/动态加载差异) - 交叉编译器:`~/.tools/zig-mipsel-cc`(zig 目标 mips-linux-musl) - 目标静态库 sysroot:`~/.tools/mipsel-linux-muslsf-cross/mipsel-linux-muslsf` ## 新增一个工具的流程 1. `mkdir -p /bin`,写 `/build.sh`(用 zig-mipsel-cc,`-Os -static`)。 2. 跑 `build.sh`,产出放 `/bin/`。 3. 写 `/manifest.md`:来源(如 Apple-OSS/mDNSResponder 版本)、ARCH、`file` 输出摘要、`ls -l` 大小、构建命令、安装路径(固件 or TF MeowOpt)。 ## 部署到哪里 - 体积小(约 <200KB)→ 可直接打进固件(/usr/bin 或由 supervisor 启动)。 - 体积大 → 放 TF 卡 `MeowOpt//`,由 MeowOS 启动时从卡加载(拔卡降级不崩)。 - **按需取用**:从 `MeowOpt//` 按需部署,不一定要全部入库;若某工具体积仍偏重(如 mdnsd 的 885~994KB),可评估更小方案(OpenWrt linkd / libmdns,或自研极简响应器——仅回 A 记录 + `_ssh` 服务)以塞进固件 <200KB。