# Kindle Voyage 5.13.6 新机 Bootstrap 说明 ## 目标 把“同型号新机拉齐能力”收敛成一个单入口脚本: - 预置 `WatchThis` payload - 预置 `KUAL / MRPI / USBNetwork / kindle-dash` - 可选预置 `KTerm` - 预置 SSH 恢复脚本 - SSH 打通后自动同步 dashboard shell 脚本 / KUAL 菜单 / 主题包,切主题并立即出图 对应脚本: - [bootstrap-new-kindle.sh](/Users/gavin/kindle-dash/bootstrap-new-kindle.sh) ## 先说结论 这个脚本不是“100% 零交互刷机”。 当前仍然不能完全自动化的部分有: 1. `WatchThis` demo 流程本身需要设备端手势与点击 2. `;log mrpi` 需要在 Kindle 搜索栏手工触发 3. 首次 SSH 最稳的方式仍然是在 `KTerm` 里执行: ```sh sh /mnt/us/ssh-force-dropbear-22.sh ``` 所以这套 bootstrap 的真实定位是: - 尽量把 Mac 侧和文件预置自动化 - 把设备侧必须手工的动作压到最少 ## KTerm 说明 当前仓库默认不自带 `KTerm` 安装包。 脚本支持两种方式把 `KTerm` 纳入预置: 1. 直接把官方 `KTerm` release 的 `.zip` 放到: ```text dash/staging/kterm/kterm-kindle-*.zip ``` 2. 或执行脚本时显式传入: ```sh sh bootstrap-new-kindle.sh prepare-storage --kterm-package /绝对路径/kterm-kindle-*.zip ``` 3. 或直接让脚本在 Mac 侧联网下载: ```sh sh bootstrap-new-kindle.sh prepare-storage --download-kterm --kterm-version latest ``` 也可以固定版本: ```sh sh bootstrap-new-kindle.sh prepare-storage --download-kterm --kterm-version v2.6 ``` 如果脚本没有找到 `KTerm` 安装包,它不会报错退出,但会明确提示: - 本轮只预置 SSH 恢复脚本 - `KTerm` 仍需手工补装 下载逻辑说明: - 下载发生在 Mac 侧,不在 Kindle 设备侧进行 - 下载后的 `.zip` 会缓存到 `dash/staging/kterm/` - 对 `Kindle Voyage 5.13.6`,脚本默认优先选择不带 `armhf` 后缀的 `.zip` - 预置时会直接解压到 Kindle 的 `extensions/` ## 脚本模式 ### 1. `prepare-storage` 当 Kindle 以 USB 存储方式挂载到 Mac 后执行: ```sh sh bootstrap-new-kindle.sh prepare-storage ``` 它会自动: - 把 `KV-5.13.6.zip`、`demo.json` 放到 `.demo/` - 创建 `.demo/goodreads/` - 把 `Update_hotfix_watchthis_custom.bin` 放到 Kindle 根目录 - 把 `extensions/`、`mrpackages/`、`dashboard/` 预置到 Kindle - 把 `scripts/kindle/*.sh` 拷到 Kindle 根目录,供 `KTerm` 使用 - 如果检测到 `KTerm` zip,也会一并解压到 `extensions/` ### 2. `post-ssh` 当 Kindle 已连上 Wi‑Fi,且你已经在 `KTerm` 拉起 `dropbear` 后执行: ```sh sh bootstrap-new-kindle.sh post-ssh ``` 它会自动: - 修复设备侧 SSH 辅助脚本权限 - 尝试同步 `authorized_keys` - 同步 dashboard shell 脚本、KUAL 菜单和主题包 - 立即切到指定主题并把背景画到屏幕上 当前边界: - `post-ssh` 不会回补 `prepare-storage` 阶段预置的原生二进制,例如 `next-wakeup`、`xh` - 所以它的默认前提仍然是:这台设备之前已经执行过 `prepare-storage`,或设备上本来就已有完整 dashboard 基础运行时 可选: ```sh sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait sh bootstrap-new-kindle.sh post-ssh --start-dashboard ``` 其中 `--start-dashboard` 的稳定前提也是一样:设备上必须已经具备完整 dashboard 基础运行时。 ### 3. `all` 默认模式: ```sh sh bootstrap-new-kindle.sh ``` 逻辑是: - 如果检测到 `/Volumes/Kindle`,先做 `prepare-storage` - 如果同时检测到 `ssh kindle` 可用,再继续做 `post-ssh` - 哪一段当前做不了,就明确打印下一步人工动作 ## 设备侧最短人工步骤 1. 恢复出厂并进入 demo mode 2. 到真正的 `Sideload Content` 时机 3. 让脚本已预置好的 `.demo` payload 生效 4. `;dsts -> Help & User Guides -> Get Started` 5. 继续完成 demo 流程里的 `register this demo -> Skip -> standard` 6. 重启后遇到 `Configure Device`,用隐藏手势回到主页 7. 搜索 `;uzb` 挂载 USB,把 `Update_hotfix_watchthis_custom.bin` 放到根目录 8. `;dsts -> Device Options -> Update Your Kindle` 9. 回到主页后搜索 `;log mrpi` 10. 在 `KUAL` 中先执行 `Rename OTA Binaries -> Rename` 11. 如果本轮没有预置 `KTerm`,这里先手工补装 `KTerm` 12. 连上 Wi‑Fi 13. 打开 `KTerm`,执行: ```sh sh /mnt/us/ssh-force-dropbear-22.sh ``` 14. 回到 Mac,执行: ```sh sh bootstrap-new-kindle.sh post-ssh ``` 这里默认仍然建立在第 1 步已经成功做过 `prepare-storage` 的前提上。 ## 相关文档 - WatchThis 越狱路径: [kindle-voyage-5.13.6-watchthis-zh.md](/Users/gavin/kindle-dash/dash/docs/kindle-voyage-5.13.6-watchthis-zh.md) - SSH 打通与 KTerm 兜底: [kindle-voyage-5.13.6-dual-ssh-playbook-zh.md](/Users/gavin/kindle-dash/dash/docs/kindle-voyage-5.13.6-dual-ssh-playbook-zh.md) - 恢复出厂后的 bootstrap 闭环验证: [kindle-voyage-5.13.6-bootstrap-validation-zh.md](/Users/gavin/kindle-dash/dash/docs/kindle-voyage-5.13.6-bootstrap-validation-zh.md)