• 全新单提交:清除含敏感信息的旧历史(sudo 口令、内网 IP、SSH 密钥路径、热点 SSID、设备 MAC) • 本地开发文档/测试记录/构建脚本全部移入 gitignored 的 devdocs/ 与 scripts/build/(不入库) • 保留:MeowOS 源码(launcher/watchdog/bootmenu/meow_svcd/SDK)、项目规范文档、mips-repo 增补组件:SDK 统一日志+通知 API、meow_svcd 服务管理器、mips-repo 软件仓库
5.0 KiB
5.0 KiB
MeowOS for HiBy R3 Pro II
把 R3 Pro II(君正 X1600E,HiBy OS / Linux 4.4)打造成可扩展的"第二系统":MeowOS 作为主控层,双系统互斥(引导选单),HibyOS 播放器由 MeowOS 托管,MeowAPPs / MeowPanel / Activity 框架持续扩展。
核心文档(先读这些)
总索引(单一来源):
docs/MEOWOS_SPEC_REF.md—— 各路径/接口/功能/约定的权威速查,含「已知矛盾/待确认」清单。
| 文档 | 内容 |
|---|---|
docs/MEOWOS_SPEC_REF.md |
权威速查总索引(首选入口;常量/路径照抄原文 + 出处 + 矛盾清单) |
ANALYSIS.md |
主技术档案:固件逆向、启动链、fb 双缓冲、HGL、一切踩坑与纪律(§ 章节持续累积) |
DEVELOPMENT_PLAN.md |
路线图与分阶段计划(阶段 0 双系统 / A 稳定化 / B 状态栏通知中心 / B2 系统设置 / C MeowPanel / D Activity 框架 / E 网易云) |
FRAMEWORK_DESIGN.md |
Activity / 通知 IPC 框架协议(IPC、路由表、导航栈、后台权限、媒体会话) |
SYSTEM_SETTINGS.md |
系统设置子系统设计(统一存储 + C API + 实体 UI + web 复用 + 导入导出) |
MEOWOS_API.md |
统一 API 蓝本(命名规范、返回码、设置 API、HTTP 映射、扩展指南) |
APPS.md |
MeowAPPs 应用规范(目录、app.json、生命周期、边界、日志、返回键) |
GESTURE_BACK_DESIGN.md / KEY_CONTROL_DESIGN.md / PERF_SCHEDULER.md |
左缘返回 / 按键契约与信号 / 帧率调度 |
一次性/阶段性设计文档(已过时或未实施)移至
docs/plan/归档(移动不删、保留历史):BOOT_SELECTOR_DESIGN、CHARGING_SCREEN、MAIN_MD3_PLAN、MD3_UI_SPEC、MEOW_TOUCH_DESIGN、MIGRATION_AC、BLUETOOTH_MANAGER_PLAN、APP_LOG_MANAGER。
文档收敛规则:不再为每个功能新增设计 md;新功能在对应权威文档(MEOW_APP_SDK.md/APPS.md/SYSTEM_SETTINGS.md 等)补小节;新增决策/检查点写 DEV_NOTES.md;过时一次性设计进 docs/plan/。
当前架构与组件(2026-08 快照)
- meow_svcd 服务管理器(
patch_v2/meow_svcd/):类 systemd/systemctl 的独立守护进程,由 supervisor(meow_launcherd/bootmenu)fork/exec托管。读 TF 卡MeowOS/services.d/<name>.conf(目录式key=value:exec/args/env/enabled/restart/backoff_ms/max_restart/trigger,未知键忽略、前向兼容);每个服务是 svcd 的独立子进程(崩溃隔离:服务挂不影响 svcd/supervisor);事件触发(boot/card-mount/wifi-up,1s 轮询);-f前台运行便于 supervisorwaitpid。mipsel 静态 ~99KB,进固件不入卡(拔卡 svcd 不消失)。 - MeowOpt/(TF 卡):板载外部工具/二进制(如
MeowOpt/mdnsd/mdnsd),由 MeowOS 启动时从卡加载,拔卡降级不崩。 - mDNS 方案A(已拍板):用完整
mdnsd(994KB,mipsel 静态)放 TFMeowOpt/mdnsd/mdnsd,由 meow_svcd 托管;SAResponder(885KB)因"单服务注册型"无法按名访问设备(ingenic.local)被排除。⚠️ 手机热点组播常在客户端间丢失 → mDNS 有风险,主机 DNS 兜底。 - SDK 已落地:统一日志
meow_log()(按 app 分目录、每次启动新文件、单文件 2MB 轮转、每 App 总量 50MB 删最旧,M2.52)+ 通知 APImeow_notify_*(4 类型×每类型 4、媒体单例,M2.53)。 - mips-repo/(宿主侧 mipsel 软件仓库):交叉编译产物 +
build.sh+manifest.md,供后续固件/TF 复用(见「目录速览」)。
目录速览
patch_v2/— meow_launcherd(MeowOS 核心)、bootmenu(引导选单)、watchdog、meow_svcd(服务管理器)、sdk(meow_ui SDK 源码/产物);源码与构建脚本mips-repo/— mipsel 交叉编译软件仓库(mdnsd 等:build.sh+manifest.md+bin/),供后续固件/TF 复用font/— 预渲染字形系统(gen 生成器、meow_font 渲染库、atlas 产物)fw_apps/— 固件组装产物(.upt不入库,由 build_fw_apps*.sh 重新打包)bootlogos/— 用户定制启动图/关机 logodevice_test/— 真机验证截图/证据(.raw不入库)ssh_keys/,.tools/— SSH 密钥、交叉工具链(不入库,按需)
构建/刷机
- 固件打包:
build_fw_apps*.sh(需交叉工具链zig-mipsel-cc+ musl.cc,见 ANALYSIS 第 10 节) - 刷机:failsafe(关机后按住 音量加+电源)从 SD 卡根
r3proii.upt升级;勿用播放器 UI 卡死的升级按钮 - 回退:官方固件 /
backups/(NAND 全量备份)重刷
关键纪律(红线)
- 严禁对
hiby_player发未注册信号(SIGUSR1 导致整机重启);不 killall;禁经hiby_player.sh - 勿远程 kill
meow_launcherd(整机重启) - 播放器不能"杀+重拉"(HGL 连续内存);双系统互斥,MeowOS→HibyOS 只能重启
- 日志/字库/媒体等大数据只写 TF 卡;板载只写 KB 级
meow/settings.conf - 绝对不对挂载点
rm -rf
详见 ANALYSIS.md 纪律章节。