20240122更新:这个方法只适合旧版uboot的kindle,简单的说就是KO2和PW4和K10开始这个方法均不适用,以及老机器全停更了,最新系统已经可以直接完美越狱了

由于kindle自动更新到5.12.3,我之前的越狱被覆盖掉了,于是我就得再搞一次,因此记录一下

本教程可以用于任何系统版本,Kindle各种触屏型号的越狱没有区别,可以直接参考操作

视频教程:av89177622

需要准备的东西

  1. 螺丝刀
  2. 指甲或撬棒等能翘塑料的东西
  3. 一个1.8v的ttl小板(看别人帖子3.3v的其实也可以,不过我建议是随便买个便宜的1.8v的比较保险)
  4. 烙铁和几条线
  5. 一条能连接Kindle Usb 的数据线

软件准备

  1. 一个能连串口的软件(比如MobaXterm)
  2. 这个页面 把kindle的序列号填进去算出root密码
  3. 这个页面 找到Kindle 5标签下面的,下载 K5 JailBreak、K5 JailBreak Hotfix、MR Package Installer、KUAL(有几个cdn文件被可能打开巨慢)

另外我做了个插件用的挺爽 Kindle Web 文件管理器

 

连接串口线

Kindle Voyage超级容易拆,只需要把背面顶部的塑料盖板从下往上扣出来,拧掉螺丝,再把背板往下一滑就可以打开了

先拔掉电池,然后找到这个地方

从左往右顺序是 TX  RX  GND 与小板交叉连接(TX接小板RX,RX接小板TX,GND接GND)

用线焊接好透明胶贴一下以防不测(带线的小板一般绿色是TX白色是RX)

ttl

接好之后电池接口按回去,反过来,屏幕朝上(待会会用到触摸屏)

 

删除root密码

插好小板,打开串口工具,选好usb小板的串口,速度设置为115200

kindle按电源键开机,同时在黑框窗口中按连续按回车,看到显示 uboot > 时你就成功了

输入

bootm 0xE41000

回车等待启动,进入一个文字界面

  1. <o> REBOOT...
  2. <EXIT LOGIN> EXIT...

这时kindle会显示大树和DIAGS EXIT的提示,在串口工具操作

mkdir /tmp/sparkle
mount /dev/mmcblk0p1 /tmp/sparkle
vi /tmp/sparkle/etc/passwd

按i进入编辑模式

root:x:0:0:root:/tmp/root:/bin/sh

中的x删掉,也就是改为

root::0:0:root:/tmp/root:/bin/sh

按esc,然后输入 :wq 保存退出,然后重启

reboot

 

安装JailBreak

(如果更新出现007错误,请从这里开始做)

将K5 JailBreak中的JailBreak\kindle-5.4-jailbreak.zip解压,扔到KindleU盘的根目录,并在串口处输入

cd /mnt/us
./jb.sh

别按回车,拔掉连接Kindle的数据线,一秒之后,按下回车,此时看到屏幕底部显示 JAILBREAK 那就成功一半了

将K5 JailBreak Hotfix解压,里面有一个bin文件,扔到KindleU盘的根目录,拔掉连接Kindle的数据线,在Kindle设置中点右上角的菜单更新

如果错误007,请从上面开始重新做,直到这里提示更新成功

 

安装KUAL

首先需要mrpi,只要把下载的MR Package Installer解压扔到kindleU盘的根目录就可以了

然后把下载的KUAL里的那个没有hotfix的install的bin文件扔到KindleU盘的mrpackages 目录(为了使用更多shell命令我还扔了usbnet),将KUAL-KDK-2.0.azw2扔到KindleU盘的documents目录

拔掉连接Kindle的数据线,在Kindle的搜索框输入

;log mrpi

然后按回车搜索,这时候屏幕底部会显示提示,然后安装完自动重启

如果显示的是搜索无结果,那就需要继续往下看了

 

修复;log mrpi命令

升级到5.12.2以及以上的版本会丢失log命令

下载 这个文件 并解压

将 emergency.sh 扔到KindleU盘的根目录,拔掉连接Kindle的数据线,重启Kindle

正常情况下KindleU盘的根目录应该会出现 done_emergency.sh、old_debug_cmds.json、new_debug_cmds.json 这三个文件

如果没有,那请重新安装hotfix(将K5 JailBreak Hotfix解压,里面有一个bin文件,扔到KindleU盘的根目录,拔掉连接Kindle的数据线,在Kindle设置中点右上角的菜单更新)

此时再重启,;log mrpi就可以用了

如果出了什么差错,比如 new_debug_cmds.json 看起来不正常,可以将 emergency_revert.sh 扔到KindleU盘的根目录,并将名字改为 emergency.sh 并重启Kindle即可还原

 

后话

在上面软件准备的第3,还有一些其他的环境可以下载,强烈推荐安装USBNetwork,可以提供Linux下很多常用命令和ssh的功能,fbdepth -H toggle可以反转屏幕颜色(夜间模式)

每次更新系统前,一定要记得下载一个最新版本的Hotfix安装一下再更新系统,避免越狱丢失

 

以下内容来自书伴,证明只要曾经安装过 2019 年 10 月 7 日发布的或更新的版本的Hotfix,在系统更新时会执行kindle的u盘根目录的emergency.sh,kindle允许同版本固件多次更新,因此可以使用此方法来恢复越狱(上面的jb.sh)以及;log命令

亚马逊刚刚发布了 5.12.4 版本固件,在例行升级固件的过程中,偶然瞥见 Kindle 屏幕上显示了一些原生系统不会出现的提示信息字符(想必越狱过的小伙伴都熟悉安装越狱文件或插件的时候屏幕上出现的字符),这让书伴忽然意识到,之前为了测试把 Shell 文件 emergency.sh 遗留在了 Kindle 根目录,难道更新固件时因为某种原因把它执行了?升级完成后,发现果然如此,脚本文件的确被成功执行了。
按照 MobileRead 论坛上那个方案的步骤,成功执行 Shell 脚本后需要再次重启 Kindle 让脚本的修改生效,然后书伴把恢复越狱教程提供的 RUNME.sh 文件放入 Kindle 根目录,在搜索框中输入 ;log runme 命令,左上角出现了预期的 “Hello World!”字符,这证明 ;log 命令确实恢复了,越狱也没失效。
为了验证这不是一个巧合,书伴又拿另外一台因为升级 5.12.2 版本固件导致无法正常使用越狱的 Kindle Paperwhite 3(当前固件版本 5.12.3)用同样的方法测试了一遍,结果同样恢复了 ;log 命令,并能正常安装越狱插件。这的确是个巧合,虽然不知道是什么机制导致的,但重要的是能让越狱恢复正常了。