# Kindle Voyage 5.13.6 Bootstrap 闭环验证清单 ## 目标 用一台已经越狱过、同型号同固件的 `Kindle Voyage 5.13.6` 做一次“恢复出厂 -> 重新越狱 -> 安装 KUAL/MRPI/USBNetwork/KTerm -> 打通 SSH -> 显示 dashboard”的闭环验证,确认: - [bootstrap-new-kindle.sh](/Users/gavin/kindle-dash/bootstrap-new-kindle.sh) 现在的方案是否足够完整 - 哪些步骤已经可以自动化 - 哪些步骤仍然必须人工完成 ## 重要前提 执行前先确认: 1. 设备型号仍然是 `Kindle Voyage` 2. 固件版本仍然是 `5.13.6` 3. 你接受这是破坏性验证 4. 设备里当前的 `KUAL`、SSH、dashboard、主题配置、日志都会被清掉 如果固件版本不是 `5.13.6`,不要按这份清单执行。 ## 重置前准备 ### 1. 先备份当前设备侧用户存储 把 Kindle 通过 USB 挂载到 Mac 后,至少备份这些目录: ```text /Volumes/Kindle/dashboard /Volumes/Kindle/extensions /Volumes/Kindle/mrpackages /Volumes/Kindle/documents ``` 如果你只想做最小备份,也至少把下面这些拷走: - `dashboard/` - `extensions/` - `documents/` 里你关心的 crash 包和日志 ### 2. 在 Mac 侧准备 bootstrap 预置 推荐直接用带 KTerm 下载的版本: ```sh sh bootstrap-new-kindle.sh prepare-storage --download-kterm --kterm-version latest ``` 如果你不想拉 latest,也可以固定版本: ```sh sh bootstrap-new-kindle.sh prepare-storage --download-kterm --kterm-version v2.6 ``` 这一步的预期结果: - Kindle 根目录出现 `Update_hotfix_watchthis_custom.bin` - Kindle 根目录出现 `dashboard/` - Kindle 根目录出现 `extensions/` - Kindle 根目录出现 `mrpackages/` - Kindle 根目录出现 `ssh-force-dropbear-22.sh` - Kindle 根目录出现 `.demo/KV-5.13.6.zip` - Kindle 根目录出现 `.demo/demo.json` - Kindle 根目录出现 `.demo/goodreads/` - 如果下载了 `KTerm`,`extensions/` 里会直接出现 `kterm/` 做完后安全弹出 Kindle。 ## 设备侧执行顺序 ### 3. 恢复出厂 在 Kindle 上执行恢复出厂。 恢复后开始首启流程时: 1. 语言只选 `English (United Kingdom)` 2. 到 Wi‑Fi 页面时,不要真的联网 3. 进入 demo mode,按 [kindle-voyage-5.13.6-watchthis-zh.md](/Users/gavin/kindle-dash/dash/docs/kindle-voyage-5.13.6-watchthis-zh.md#L61) 的流程操作 ### 4. WatchThis 导入点 按这轮实机成功路径,直接记录下面这组顺序: 1. 搜索 `;demo` 2. 进入 `demo menu` 3. 选择 `Sideload Content` 4. 到这个页面后再接 USB 5. 确认 `.demo/KV-5.13.6.zip`、`.demo/demo.json`、`.demo/goodreads/` 都在 6. 弹出设备后在 Kindle 上点 `Done` 7. 退出 `demo menu` 这里的详细说明看: - [kindle-voyage-5.13.6-watchthis-zh.md](/Users/gavin/kindle-dash/dash/docs/kindle-voyage-5.13.6-watchthis-zh.md#L80) - [kindle-voyage-5.13.6-watchthis-zh.md](/Users/gavin/kindle-dash/dash/docs/kindle-voyage-5.13.6-watchthis-zh.md#L100) 因为 bootstrap 已经把 `.demo` payload 预置好了,这一轮不需要你在导入点再手工从 Mac 拷 `KV-5.13.6.zip`。 ### 5. 触发越狱脚本 接下来按这个顺序走: 1. `;dsts -> Help & User Guides -> Get Started` 2. `register this demo` 三个输入框都填 `111` 3. `Fetching available demo types` 选 `Skip` 4. demo type 选 `standard` 5. 设备重启 6. 落到 `Configure Device` 时,不要点进去,用隐藏手势回到主页 这里不要急着跑 `;log mrpi`,因为还差 custom hotfix 这一步。 ### 6. 安装 WatchThis custom hotfix 回到主页后: 1. 搜索 `;uzb` 2. 接 USB 3. 确认 Kindle 根目录存在 `Update_hotfix_watchthis_custom.bin` 4. 安全弹出 Kindle 5. 搜索 `;dsts` 6. 进入 `Device Options` 7. 点 `Update Your Kindle` 8. 等设备重启回主页 如果这里报 `Update Error 2`,第一件事先检查根目录里是否真的有: - `Update_hotfix_watchthis_custom.bin` 不要把 macOS 生成的: - `._Update_hotfix_watchthis_custom.bin` 误当成真正的 hotfix 文件。 ### 7. 安装 KUAL / MRPI / USBNetwork / dashboard / KTerm 回到首页后: 1. 搜索 `;log mrpi` 2. 等 MRPI 跑完 3. 回首页确认: - 有 `KUAL` - 如果本轮预置了 `KTerm`,应该已经能看到 `KTerm` 然后进入 `KUAL`,先执行: ```text Rename OTA Binaries -> Rename ``` 不要先跑 `Kindle Dashboard`。 ## Wi‑Fi 和 SSH 验证 ### 8. 接回 Wi‑Fi 让 Kindle 连到和 Mac 同一个主 Wi‑Fi。 不要用: - Guest Wi‑Fi - 开了客户端隔离的网络 ### 9. 在 KTerm 里拉起 DropBear 打开 `KTerm`,执行: ```sh sh /mnt/us/ssh-force-dropbear-22.sh /mnt/us/usbnet/bin/lsof -n -P -iTCP:22 ``` 验收标准: 应该看到类似: ```text dropbear... TCP *:22 (LISTEN) ``` ### 10. 在 Mac 上确认 SSH 回到 Mac: ```sh ssh kindle ``` 登录后执行: ```sh id uname -a ps -ef | grep -E 'sshd|dropbear|telnetd' | grep -v grep ``` 验收标准: - `uid=0(root)` - 存在 `dropbearmulti dropbear ... -p 22 ...` 如果这一步失败,按: - [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#L210) 继续排障,不要直接判断 bootstrap 失败。 ## Dashboard 闭环验证 ### 11. 让 bootstrap 跑后半段 在 Mac 上执行: ```sh sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait ``` 前提说明: - 这一步默认建立在第 2 步 `prepare-storage` 已成功落地的前提上 - 当前 `post-ssh` 会同步 dashboard shell 脚本、`KUAL` 菜单和主题包 - 它不会回补 `prepare-storage` 预置的原生二进制,例如 `next-wakeup`、`xh` 预期结果: - 同步当前 dashboard shell 脚本、`KUAL` 菜单和主题包 - 同步主题包 - 设备立即切到 `simple / portrait` - 屏幕出现背景与时钟 如果你还要验证后台常驻主循环,再执行: ```sh sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait --start-dashboard ``` 这一步同样默认要求设备上已经有 `prepare-storage` 预置的完整 dashboard 基础运行时。 ### 12. 抓首张验收图 在 Mac 上执行: ```sh sh snapshot.sh -t simple -o portrait ``` 或者如果你不想再切主题,只抓当前画面: ```sh sh snapshot.sh --capture-only -b bootstrap-validation ``` 验收标准: - 本地成功生成 `physical.png` - Kindle 上显示 `simple / portrait` - 时钟、天气、日历、鸡汤都正常 ## 这轮验证要回答的问题 执行完后,明确记录下面 5 个结论: 1. `prepare-storage --download-kterm` 是否足够把 USB 预置做完整 2. `WatchThis` 是否能在“已有一轮越狱历史”的同机上再次稳定跑通 3. `;log mrpi` 后,`KUAL / USBNetwork / KTerm / dashboard` 是否都能落地 4. `KTerm -> ssh-force-dropbear-22.sh -> ssh kindle` 是否仍是最稳入口 5. `post-ssh` 是否已经能把 dashboard 自动拉到“可见、可抓图”的状态 ## 失败时怎么回退 如果中途失败,按这个顺序收敛: 1. 先不要继续改 dashboard 页面代码 2. 先判断失败落在哪一层: - `WatchThis` - `MRPI` - `KTerm` - `SSH` - `post-ssh` 3. 如果已经拿到 `KTerm`,优先在本机看进程和端口 4. 如果已经拿到 `ssh kindle`,优先保留日志和 `/mnt/us/ssh-debug/` 5. 不要把 `KUAL -> Dashboard -> 再返回 KUAL` 当成验收项 ## 推荐实际执行命令 如果你要按最少分支走,直接按这个顺序: ```sh sh bootstrap-new-kindle.sh prepare-storage --download-kterm --kterm-version latest ``` 设备侧完成恢复出厂、WatchThis、`;log mrpi`、Wi‑Fi、KTerm 拉起 SSH 后,再执行: ```sh sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait --start-dashboard sh snapshot.sh --capture-only -b bootstrap-validation ```