update at 2026-03-18 13:35:19
This commit is contained in:
262
dash/docs/kindle-voyage-5.13.6-bootstrap-validation-zh.md
Normal file
262
dash/docs/kindle-voyage-5.13.6-bootstrap-validation-zh.md
Normal 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. 到 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. 第一次 `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`。
|
||||
|
||||
## Wi‑Fi 和 SSH 验证
|
||||
|
||||
### 7. 接回 Wi‑Fi
|
||||
|
||||
让 Kindle 连到和 Mac 同一个主 Wi‑Fi。
|
||||
|
||||
不要用:
|
||||
|
||||
- Guest Wi‑Fi
|
||||
- 开了客户端隔离的网络
|
||||
|
||||
### 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`、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
|
||||
```
|
||||
Reference in New Issue
Block a user