Files
MeowOS-For-R3P2/mips-repo/README.md
T

2.6 KiB
Raw Blame History

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                # 本文件
  <tool>/
    build.sh               # 交叉编译脚本(可重复执行)
    manifest.md            # 元信息:来源/版本/arch/校验/产物路径/安装目标
    bin/<tool>             # 交叉编译产物(静态 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 <tool>/bin,写 <tool>/build.sh(用 zig-mipsel-cc,-Os -static)。
  2. 跑 build.sh,产出放 <tool>/bin/<tool>。
  3. 写 <tool>/manifest.md:来源(如 Apple-OSS/mDNSResponder 版本)、ARCH、file 输出摘要、ls -l 大小、构建命令、安装路径(固件 or TF MeowOpt)。

部署到哪里

  • 体积小(约 <200KB)→ 可直接打进固件(/usr/bin 或由 supervisor 启动)。
  • 体积大 → 放 TF 卡 MeowOpt/<tool>/,由 MeowOS 启动时从卡加载(拔卡降级不崩)。
  • 按需取用:从 MeowOpt/<tool>/ 按需部署,不一定要全部入库;若某工具体积仍偏重(如 mdnsd 的 885~994KB),可评估更小方案(OpenWrt linkd / libmdns,或自研极简响应器——仅回 A 记录 + _ssh 服务)以塞进固件 <200KB。