Kindle 固件通用降级教程:支持所有已越狱 Kindle 设备

之前书伴曾在《Kindle 固件降级教程:支持部分已越狱 Kindle 设备》这篇文章中介绍过一种将 Kindle 降级到低版本固件的方法,但是仅适用于部分已越狱的 Kindle 设备,有的需要额外安装急救包插件,有的需要使用特制固件才能降级,而对于型号更新的 Kindle 设备如 Kindle Oasis 3 和 Kindle Paperwhite 5,既不能安装急救包插件也没有适用的特制固件的,就无法降级了。

目录

小伙伴 xwcoco 在书伴的留言区提供了一个好消息,MobileRead 论坛的网友 katadelos 发现了一种新的降级方法[1],只要你的 Kindle 已经成功越狱,通过简单的修改 Kindle 系统中的一个文件,即可直接使用低版本的官方固件进行降级,无需额外安装插件,也不需要使用特制固件。

一、降级原理

Kindle 系统中存在一个名为 /etc/version.txt 的文件,其内容中含有“系统软件版本”,Kindle 设备的固件升级程序会将待更新固件的版本与这个版本进行比对,如果要更新的版本大于等于这个版本就允许更新,否则就拒绝。因此,我们可以通过将文本文件中的“系统软件版本”替换成比当前固件版本更小的“系统软件版本”,以达到欺骗固件升级程序、实现降级固件的目的。

那该怎么获取比 Kindle 设备当前固件版本更小的“系统软件版本”呢?亚马逊为每一个公开发布的 Kindle 固件提供了源代码压缩包,该压缩包的文件名除了带有固件版本号,还带有一串数字,这一串数字与文本文件中“系统软件版本”的数字是一一对应的,只是存在形式上的差异,我们可以通过简单的规则就可以将其转换成 Kindle 升级程序所需要的“系统软件版本”。

通过 SSH 登录 Kindle 系统,打开文件 /etc/version.txt 可看到类似如下所示的内容:

System Software Version: 059-juno_1402_moonshine_rex-380714 
Tue Feb  1 02:50:02 UTC 2022 
com.lab126.eink.moonshine.os

找出第一行“System Software Version”(这也就是前面所提到的“系统软件版本”)后面那一串由横杠分割成三部分的字符,取出第一部分数字和最后一部分数字,比如上面这个示例中的 059380714,将其按照这样一种规则 380714 + 0 + 059 重新拼接成这样一组数字 3807140059

然后前往 亚马逊 Kindle 设备固件源代码页面,利用网页浏览器的页面查找功能搜索组合后的数值,就可以找到与 Kindle 设备当前固件相对应的源代码压缩包文件,该压缩包中的固件版本号也与 Kindle 当前固件版本号一致,比如本例是 Kindle_src_5.14.2_3807140059.tar.gz

根据这个规律,我们可以反其道而行,先确定要降级的固件版本,然后找到与该版本固件相对应的源代码压缩包,并通过文件名中的数字重新组合成固件升级程序所需要的“系统软件版本”。

假设,想要将已越狱的当前版本号为 5.14.3.0.1 的 Kindle Paperwhie 4 降级到 5.13.3 版本固件,可以先找相应的源代码压缩文件的文件名 Kindle_src_5.13.3_3676000033.tar.gz,取出里面的 3676000033 这一串数字,将其拆分成 033367600,替换 /etc/version.txt 中“System Software Version”后面那一串字符的第一部分数字和最后一部分数字,替换后的内容如下所示:

System Software Version: 033-juno_1402_moonshine_rex-367600 
Tue Feb  1 02:50:02 UTC 2022 
com.lab126.eink.moonshine.os

最后就可以下载 5.13.3 版本的官方固件,按照常规手动升级官方固件的方式进行降级了。

二、降级步骤

为了简化操作,书伴将涉及修改 Kindle 系统文件的操作写成了自动化的 Shell 脚本,免除了手动登录 Kindle 系统及修改相关文件的繁琐步骤。你可以遵循以下步骤方便快捷地降级固件:

  1. 使用下方的选项菜单选择你的 Kindle 设备型号,在出现的列表中确定要降级的固件版本;
  2. 将与固件版本相对应的 Shell 脚本文件“RUNME.sh”和“官方固件”文件下载到本地;
  3. 用 USB 数据线将 Kindle 设备连接至电脑,将“RUNME.sh”拷贝到 Kindle 根目录;
  4. 弹出磁盘,在 Kindle 的搜索框中输入 ;log runme 并按回车,自动修改“系统软件版本”;
  5. 再次用 USB 数据线将 Kindle 设备连接至电脑,将“官方固件文件”拷贝到 Kindle 根目录。
  6. 弹出磁盘,进入 Kindle 界面,依次点击菜单【设置 → 设备选项 → 重启】或【设置 → 设备选项 → 高级选项 → 重启】重启 Kindle(或长按 Kindle 按钮重启),并完成自动降级。

* 提示:脚本会将原始的 /etc/version.txt 文件备份到你的 Kindle 根目录,如不需要可以删除。

选择 Kindle 设备型号Kindle Oasis 3(KO3,第10代)Kindle Oasis 2(KO2,第9代)Kindle Oasis 1(KO1,第8代)Kindle Paperwhite 5(KPW5,第11代)Kindle Paperwhite 4(KPW4,第10代)Kindle Paperwhite 3(KPW3,第7代)Kindle Paperwhite 2(KPW2,第6代)Kindle 10(K10,第10代)Kindle 8(K8,第8代)Kindle 7(K7,第7代)Kindle Voyage(KV,第7代)
↑ 选择 Kindle 设备型号后,这里会显示自动化脚本与官方固件下载链接 ↑

目前已验证过的通过本文提供的方法成功降级的 Kindle 设备型号有 Kindle Paperwhite 5(含 Signature 版)、Kindle Paperwhite 4、Kindle Paperwhite 3、Kindle Oasis 3、Kindle Oasis 2。如果你的 Kindle 设备也通过本文提供的方法成功降级,欢迎留言反馈。

三、常见问答

如果你在降级的过程中遇到如下所示的问题,可尝试给出的解决方案。

1、降级后白屏怎么办?

如果在白屏的状态下,通过 USB 数据线将 Kindle 连电脑可以出现磁盘,备份重要的文件,可以在 Kindle 根目录创建一个名为 DO_FACTORY_RESTORE 的空文件(不带扩展名),按 Kindle 的按钮 40 秒重启,Kindle 会自动恢复出厂设置,一般情况下可解决白屏的问题。

2、如何禁止自动更新?

禁止自动更新体可参考《如何禁止 Kindle 自动更新(四招阻止固件升级)》这篇文章。

  1. [1] Possible new downgrade method

本文转自: https://bookfere.com/post/979.html
仅做个人收藏,版权归原作者所有