docs(build): M63 修正 README 的 -o 归档语义/宿主路径/版本示例/入库清单

This commit is contained in:
AskaEth committed 2026-11-12 08:50:04 +08:00
1 parent f7921ba799
commit 4d39c037be
2 files changed
+27 -17

No files matched your search

+23 -13
View File
@@ -27,16 +27,18 @@
## 2. 用法
```bash
cd /home/Aska/Project/R3ProII
cd <仓库根> # 例:cd /path/to/MeowOS-For-R3P2
# 用默认配置打包,版本号 0.7.68,输出 r3proii_m2_73.upt
bash scripts/build/build_fw_apps.sh -v 0.7.68 -o r3proii_m2_73.upt
# 示例:版本号 0.8.49(以本次要发的版本为准),产物直接写进归档目录 fw_apps/out/
bash scripts/build/build_fw_apps.sh -v 0.8.49 -o fw_apps/out/r3proii_0.8.49.upt
# 用指定配置(并存多套调试/场景配置时)
bash scripts/build/build_fw_apps.sh -c scripts/build/fw_content.conf -v 0.7.68 -o r3proii_m2_73.upt
bash scripts/build/build_fw_apps.sh -c scripts/build/fw_content.conf -v 0.8.49 -o fw_apps/out/r3proii_0.8.49.upt
# 指定基线目录(默认 fw_ssh/squashfs-root)
bash scripts/build/build_fw_apps.sh -v 0.7.68 -o r3proii_m2_73.upt -b fw_ssh/squashfs-root
bash scripts/build/build_fw_apps.sh -v 0.8.49 -o fw_apps/out/r3proii_0.8.49.upt -b fw_ssh/squashfs-root
# 注意:-o 只给文件名(如 r3proii_0.8.49.upt)时产物落在**仓库根**,不会进 fw_apps/out/(见下)
```
### 参数
@@ -44,16 +46,24 @@ bash scripts/build/build_fw_apps.sh -v 0.7.68 -o r3proii_m2_73.upt -b fw_ssh/squ
| 参数 | 必填 | 说明 |
|---|---|---|
| `-c, --config` | 否 | 清单路径,默认 `scripts/build/fw_content.conf`。传别的路径即用另一套配置(互不覆盖)。 |
| `-v, --version` | **是** | 版本号(如 `0.7.68`),写入固件 `/etc/meowos_version`。 |
| `-o, --out` | **是** | 输出 `.upt` 路径(如 `r3proii_m2_73.upt`)。若指向仓库内 `fw_apps/` 下(非 `out/`),自动并入 `fw_apps/out/` 归档。 |
| `-v, --version` | **是** | 版本号(如 `0.8.49`,以本次要发的版本为准),写入固件 `/etc/meowos_version`。 |
| `-o, --out` | **是** | 输出 `.upt` 路径(如 `fw_apps/out/r3proii_0.8.49.upt`)。归档只在路径落在仓库 `fw_apps/` 下(`out/` 之外)时发生,规则见下节。 |
| `-b, --base` | 否 | 基线根文件系统目录,默认 `fw_ssh/squashfs-root`。 |
### 产物去哪
- **工作区(每次清理重建)**:`fw_apps/build/` —— 组装 squashfs-root 树,用后即弃。
- **产物归档(不受清理影响)**:`fw_apps/out/` —— 打包好的 `.upt` 固定放这,多次打包互不覆盖、不会误删。
- **产物归档(不受清理影响)**:`fw_apps/out/` —— 想归档的 `.upt` 放这,多次打包互不覆盖、不会误删。
> **重要**:`-o` 给相对路径时按"文件命名"即可(如 `-o r3proii_m2_73.upt`),脚本会自动归档到 `fw_apps/out/r3proii_m2_73.upt`。
`-o` 的实际落地位置(`build_fw_apps.sh:69-76`):
1. 相对路径先拼仓库根:`-o r3proii_0.8.49.upt` → `$ROOT/r3proii_0.8.49.upt`,即**落在仓库根,不会自动进 `out/`**。
2. 再按最终路径匹配(`case` 两条分支 + 默认原样):
- 已在 `$ROOT/fw_apps/out/` 下 → 原样保留;
- 落在 `$ROOT/fw_apps/` 下但不在 `out/` → 并入 `$ROOT/fw_apps/out/<basename>`;
- 其它路径(仓库根、仓库外的 `/tmp/x.upt` 等)→ **原地不动**。
> **所以想归档就显式写进 `out/`**(`-o fw_apps/out/<name>.upt`,或至少 `-o fw_apps/<name>.upt`)。只给文件名会留在仓库根,刷机前需自己挪到卡根。
---
@@ -160,7 +170,7 @@ timeout 5 sh -c 'sleep 100 & sleep 100 & wait' # 孙进程也必须死
- **改源码忘更新 md5**:清单里 md5 是强校验,源变了但 md5 没改 → 打包直接失败。**凡是动了清单里列的源文件,先 `md5sum` 更新对应行。**
- **SDK 库(`meow_ui.a`)不入固件**:它由 APP(如 hello)链接,走 TF 卡 `MeowAPPs/` 热更新,**不要**加进清单。
- **`fw_apps/` 被 gitignore**:固件产物与组装树都是构建产物,勿提交。
- **`scripts/build/` 根目录 gitignore**:构建产物与组装树勿提交。但本目录的 **`README.md`/`build_fw_apps.sh`/`fw_content.conf`/`build_devkit.sh`/`test_build_devkit.sh`/`DEVKIT.md`/`devkit-src/*.c` 已 `git add -f` 入库**(这几个是仓库侧应保留的脚本/配置/说明/本地源码);其余(`fw_apps/` 产物、devkit 编译树等)不入库。新增 `devkit-src/*.c` 后记得同样 `git add -f`。
- **`scripts/build/` 根目录 gitignore**:构建产物与组装树勿提交。但本目录的 **`README.md`/`build_fw_apps.sh`/`fw_content.conf`/`build_devkit.sh`/`test_build_devkit.sh`/`DEVKIT.md`/`devkit-src/*.c`/`rebuild_binaries.sh`/`verify_fingerprints.sh` 已 `git add -f` 入库**(这几个是仓库侧应保留的脚本/配置/说明/本地源码,与 `git ls-files scripts/build` 一致);其余(`fw_apps/` 产物、devkit 编译树等)不入库。新增 `devkit-src/*.c` 后记得同样 `git add -f`。
---
@@ -170,11 +180,11 @@ timeout 5 sh -c 'sleep 100 & sleep 100 & wait' # 孙进程也必须死
# 1. 确认要进的组件 md5 无变化(若改了源码先更新 fw_content.conf)
md5sum patch_v2/meow_launcherd/meow_launcherd patch_v2/meow_svc_power/meow_svc_power
# 2. 打包(版本号 + 输出名)
bash scripts/build/build_fw_apps.sh -v 0.7.68 -o r3proii_m2_73.upt
# 2. 打包(版本号 + 输出名;示例版本 0.8.49,-o 显式写进 out/ 才会归档)
bash scripts/build/build_fw_apps.sh -v 0.8.49 -o fw_apps/out/r3proii_0.8.49.upt
# 3. 看结果:0 diff、体积 ≤ 上限、最终固件 md5
# 产物在 fw_apps/out/r3proii_m2_73.upt
# 产物在 fw_apps/out/r3proii_0.8.49.upt
# 4. 推卡升级:scp 到设备卡根 /usr/data/mnt/sd_0/r3proii.upt(先备份当前为 prevNx)
```