update at 2026-03-21 18:44:12

This commit is contained in:
douboer@gmail.com
2026-03-21 18:44:12 +08:00
parent f9d715157f
commit 89b1f97a6f
52 changed files with 3510 additions and 562 deletions

View File

@@ -29,7 +29,7 @@ print_usage() {
模式:
all 默认。能预置 USB 存储就先预置;能连 SSH 就继续做 SSH 后半段
prepare-storage 只做 USB 存储预置
post-ssh 只做 SSH 打通后的自动化收尾
post-ssh 只做 SSH 打通后的自动化收尾;默认要求设备上已存在 prepare-storage 预置的 dashboard 基础运行时
选项:
-v, --volume <path> Kindle 挂载目录,默认 /Volumes/Kindle
@@ -39,8 +39,8 @@ print_usage() {
--kterm-package <path> 指定 KTerm 安装包;官方 release 用 .zip也兼容外部 .bin
--download-kterm 在 Mac 侧联网下载 KTerm 到 dash/staging/kterm/,再预置到 Kindle
--kterm-version <tag> 下载指定 KTerm 版本;默认 latest
--no-background SSH 阶段同步后立即切主题出图
--start-dashboard SSH 阶段额外后台启动 dashboard 主循环
--no-background SSH 阶段同步后立即切主题出图
--start-dashboard SSH 阶段额外后台启动 dashboard 主循环;默认要求设备上已有完整 dashboard 运行时
-h, --help 查看帮助
说明:
@@ -66,6 +66,11 @@ print_usage() {
6. 对这台 Voyage 5.13.6,脚本默认优先选择“不带 armhf 后缀”的 zip。
7. 如果脚本没有检测到 KTerm 包,会明确提示“这一步仍需手工补装 KTerm”。
关于 post-ssh
1. 它当前会同步 dashboard 的 shell 脚本、KUAL 菜单和主题包。
2. 它不会回补 prepare-storage 阶段预置的原生二进制,例如 next-wakeup、xh。
3. 因此最稳的用法仍然是:先跑 prepare-storage完成设备侧步骤后再跑 post-ssh。
推荐操作顺序:
阶段 A先做 USB 预置
@@ -86,12 +91,14 @@ print_usage() {
1. 恢复出厂。
2. 语言只选 English (United Kingdom)。
3. 到 Wi-Fi 页面时,不要真的联网;先按 WatchThis 文档进入 demo mode。
4. 第一次出现 Add Content / Sideload Content 时,只点 Done不要接 USB
5. 遇到 misconfiguration / Configure Device 时,执行隐藏手势回到可操作界面
6. 再次进入 ;demo -> Sideload Content这一次才是真正导入 payload 的时机
因为阶段 A 已经预置好 .demo 内容,这里不需要再从 Mac 手工拷文件
7. 退出 demo menu 后,进入 Help & User Guides -> Get Started 触发越狱
8. 越狱成功后Kindle 根目录应出现 mkk、libkh、rp
4. 搜索 ;demo进入 demo menu -> Sideload Content
5. 到这个页面后再接 USB因为阶段 A 已经预置好 .demo 内容,这里只需确认文件存在
6. 弹出 Kindle在设备上点 Done退出 demo menu
7. 进入 ;dsts -> Help & User Guides -> Get Started
8. 按设备提示继续完成 register this demo -> Skip -> standard
9. 重启后如果看到 Configure Device用隐藏手势回到主页
10. 搜索 ;uzb再接 USB把 Update_hotfix_watchthis_custom.bin 放到根目录。
11. 弹出设备后,进入 ;dsts -> Device Options -> Update Your Kindle。
阶段 C安装 KUAL / MRPI / USBNetwork / dashboard
1. 在 Kindle 首页搜索:
@@ -119,11 +126,12 @@ print_usage() {
1. 执行:
sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait
2. 预期结果:
- 自动同步 dashboard 运行时和主题包
- 自动同步 dashboard shell 脚本、KUAL 菜单和主题包
- Kindle 立即切到 simple / portrait
- 屏幕马上显示背景和时钟
3. 如果还希望后台常驻 dashboard 主循环,再执行:
sh bootstrap-new-kindle.sh post-ssh -t simple -o portrait --start-dashboard
这一步默认建立在 prepare-storage 已经把完整 dashboard 基础运行时放进设备上的前提上。
最省事的直接用法:
1. USB 挂载时先运行:
@@ -135,11 +143,12 @@ print_usage() {
这时它会自动继续做 SSH 后半段。
最容易做错的地方:
1. 第一次 Add Content / Sideload Content 只能点 Done不能在这一步导 payload
2. 真正导 payload 的时机,是隐藏手势返回后,再次进入 ;demo -> Sideload Content
1. `Get Started` 只负责触发越狱脚本;真正退出 demo 状态还要再执行一次 `Update Your Kindle` 安装 custom hotfix
2. `Update Your Kindle` 之前,先确认根目录里是真正的 `Update_hotfix_watchthis_custom.bin`,不要把 `._Update_hotfix_watchthis_custom.bin` 误当成正确文件
3. 首次 SSH 最稳的入口是 KTerm不是 USB 直连盲试。
4. post-ssh 阶段如果不带 -t/-o会退回 themes.json 里的默认主题和方向。
5. 如果本轮没有预置 KTerm 包,阶段 C 结束后仍需你手工补装 KTerm。
6. post-ssh 不是“从零补齐 dashboard”的入口next-wakeup、xh 这类原生二进制仍来自 prepare-storage。
示例:
sh bootstrap-new-kindle.sh prepare-storage
@@ -465,7 +474,7 @@ print_post_ssh_summary() {
SSH 阶段已完成:
- 主机:$HOST_TARGET
- 已同步 dashboard 运行时与主题包
- 已同步 dashboard shell 脚本、KUAL 菜单与主题包
- 当前用于出图的主题:$RESOLVED_THEME_ID / $RESOLVED_ORIENTATION
如果你要继续验证:
@@ -477,7 +486,7 @@ EOF
post_ssh() {
if ! ssh_reachable; then
echo "当前还无法通过 SSH 连接 $HOST_TARGET" >&2
echo "当前还无法通过 SSH 连接 ${HOST_TARGET}" >&2
echo "请先在 Kindle 上连上 Wi-Fi并在 KTerm 执行 sh /mnt/us/ssh-force-dropbear-22.sh" >&2
exit 1
fi
@@ -485,7 +494,7 @@ post_ssh() {
log_step "SSH" "修复设备侧 SSH 辅助脚本权限与 authorized_keys"
prepare_remote_helpers
log_step "同步" "同步 dashboard 运行时和主题包到 Kindle"
log_step "同步" "同步 dashboard shell 脚本、KUAL 菜单和主题包到 Kindle"
sync_dashboard_runtime
if [ "$SHOW_BACKGROUND" = true ]; then