Files
kindle-calendar/dash/docs/kindle-voyage-5.13.6-bootstrap-validation-zh.md
2026-03-21 18:44:12 +08:00

299 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. 搜索 `;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`
## WiFi 和 SSH 验证
### 8. 接回 WiFi
让 Kindle 连到和 Mac 同一个主 WiFi。
不要用:
- Guest WiFi
- 开了客户端隔离的网络
### 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`、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
```