update at 2026-03-18 13:35:19

This commit is contained in:
douboer@gmail.com
2026-03-18 13:35:19 +08:00
parent 192eb1b8d1
commit f9d715157f
72 changed files with 4035 additions and 972 deletions

View File

@@ -0,0 +1,262 @@
# 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. 到 WiFi 页面时,不要真的联网
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. 第一次 `Add Content / Sideload Content` 只能点 `Done`
2. 不要在第一次导入点接 USB
3. 真正的 payload 导入点,是隐藏手势返回后,再次进入 `;demo -> Sideload Content`
这里的详细说明看:
- [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. 触发越狱并验收
完成 `Get Started` 后,设备会重启并执行越狱脚本。
验收标准:
- Kindle 用户存储根目录出现 `mkk`
- Kindle 用户存储根目录出现 `libkh`
- Kindle 用户存储根目录出现 `rp`
如果没有这三个目录,说明这轮 `WatchThis` 没真正落地,不要继续往后做。
### 6. 安装 KUAL / MRPI / USBNetwork / dashboard / KTerm
回到首页后:
1. 搜索 `;log mrpi`
2. 等 MRPI 跑完
3. 回首页确认:
-`KUAL`
- 如果本轮预置了 `KTerm`,应该已经能看到 `KTerm`
然后进入 `KUAL`,先执行:
```text
Rename OTA Binaries -> Rename
```
不要先跑 `Kindle Dashboard`
## WiFi 和 SSH 验证
### 7. 接回 WiFi
让 Kindle 连到和 Mac 同一个主 WiFi。
不要用:
- Guest WiFi
- 开了客户端隔离的网络
### 8. 在 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)
```
### 9. 在 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 闭环验证
### 10. 让 bootstrap 跑后半段
在 Mac 上执行:
```sh
sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait
```
预期结果:
- 同步当前 dashboard 运行时
- 同步主题包
- 设备立即切到 `simple / portrait`
- 屏幕出现背景与时钟
如果你还要验证后台常驻主循环,再执行:
```sh
sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait --start-dashboard
```
### 11. 抓首张验收图
在 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`、WiFi、KTerm 拉起 SSH 后,再执行:
```sh
sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait --start-dashboard
sh snapshot.sh --capture-only -b bootstrap-validation
```