之前书伴曾在《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”(这也就是前面所提到的“系统软件版本”)后面那一串由横杠分割成三部分的字符,取出第一部分数字和最后一部分数字,比如上面这个示例中的 059 和 380714,将其按照这样一种规则 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 这一串数字,将其拆分成 033 和 367600,替换 /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 系统及修改相关文件的繁琐步骤。你可以遵循以下步骤方便快捷地降级固件:
- 使用下方的选项菜单选择你的 Kindle 设备型号,在出现的列表中确定要降级的固件版本;
- 将与固件版本相对应的 Shell 脚本文件“RUNME.sh”和“官方固件”文件下载到本地;
- 用 USB 数据线将 Kindle 设备连接至电脑,将“RUNME.sh”拷贝到 Kindle 根目录;
- 弹出磁盘,在 Kindle 的搜索框中输入
;log runme
并按回车,自动修改“系统软件版本”; - 再次用 USB 数据线将 Kindle 设备连接至电脑,将“官方固件文件”拷贝到 Kindle 根目录。
- 弹出磁盘,进入 Kindle 界面,依次点击菜单【设置 → 设备选项 → 重启】或【设置 → 设备选项 → 高级选项 → 重启】重启 Kindle(或长按 Kindle 按钮重启),并完成自动降级。
* 提示:脚本会将原始的 /etc/version.txt 文件备份到你的 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 自动更新(四招阻止固件升级)》这篇文章。
本文转自: https://bookfere.com/post/979.html
仅做个人收藏,版权归原作者所有