Files
MeowOS-For-R3P2/README.md
T
MeowOS Dev 245bee2946 MeowOS for HiBy R3 Pro II — 公共发布版本(历史已重置)
• 全新单提交:清除含敏感信息的旧历史(sudo 口令、内网 IP、SSH 密钥路径、热点 SSID、设备 MAC)
• 本地开发文档/测试记录/构建脚本全部移入 gitignored 的 devdocs/ 与 scripts/build/(不入库)
• 保留:MeowOS 源码(launcher/watchdog/bootmenu/meow_svcd/SDK)、项目规范文档、mips-repo
增补组件:SDK 统一日志+通知 API、meow_svcd 服务管理器、mips-repo 软件仓库
2026-08-30 01:12:34 +08:00

57 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` 前台运行便于 supervisor `waitpid`。mipsel 静态 ~99KB,进固件不入卡(拔卡 svcd 不消失)。
- **MeowOpt/(TF 卡)**:板载外部工具/二进制(如 `MeowOpt/mdnsd/mdnsd`),由 MeowOS 启动时从卡加载,拔卡降级不崩。
- **mDNS 方案A(已拍板)**:用**完整 `mdnsd`**(994KB,mipsel 静态)放 TF `MeowOpt/mdnsd/mdnsd`,由 meow_svcd 托管;SAResponder(885KB)因"单服务注册型"无法按名访问设备(`ingenic.local`)被排除。⚠️ 手机热点组播常在客户端间丢失 → mDNS 有风险,主机 DNS 兜底。
- **SDK 已落地**:统一日志 `meow_log()`(按 app 分目录、每次启动新文件、单文件 2MB 轮转、每 App 总量 50MB 删最旧,M2.52)+ 通知 API `meow_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/` — 用户定制启动图/关机 logo
- `device_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` 纪律章节。