tuku(os.meow.picbrowser)打包与签名
图库 App(系统包名 os.meow.picbrowser)。构建与打包:
./build_tuku.sh # 交叉编译 picbrowser(MIPS32r2 静态)
./pack_tuku.sh # 打包 → os.meow.picbrowser.mpk(根布局;未签名)
一键签名出包
MEOW_SIGN_KEY=/path/to/signing.key ./pack_tuku.sh
- 工具查找顺序:
$MEOW_SIGN→PATH里的meow_sign→$HOME/Proj/MeowOS-For-R3P2/patch_v2/meow_sign/meow_sign。 - 私钥:
$MEOW_SIGN_KEY。未设置时脚本警告并仍产出未签名包(退出码 0);但os.meow.*系统包无签名会被设备拒装。 - 有工具 + 密钥时执行
meow_sign sign <mpk> <key>;若存在<key>.pub再执行meow_sign verify <mpk> <key>.pub。 - 私钥不入库、不随包分发;本仓不包含任何密钥材料。
mpk 布局
.mpk = tar.gz,条目直接在根层:
os.meow.picbrowser.mpk
├── app.json
├── picbrowser
└── <signature footer> # 仅签名包有(Ed25519,尾部追加)
即 tar -C build/os.meow.picbrowser -czf os.meow.picbrowser.mpk app.json picbrowser——
不带 os.meow.picbrowser/ 目录前缀,也不带 ./ 前缀。脚本在签名前用 tar -tzf 断言这一点。
签名是往 tar.gz 尾部追加 footer,签名后的 mpk 不要再跑 tar -t / gzip 之类的命令:
gzip 会报 trailing garbage ignored,属预期现象,不是包损坏。要检查布局请在签名前做。
安装
把 .mpk 放到设备 TF 卡,执行 nyai install os.meow.picbrowser.mpk;
os.meow.* 包必须验签通过(footer.package == 文件名茎 == app.json.package)。