MENU

Kindle7 拆机硬件调试串口越狱教程

2019 年 07 月 16 日 • 技术

旧的Kindle 7th(KT2)已经被我拆机过一次来练手,正面外条没有贴回去,因此成色也极差。后升级到最新系统(5.11.2)、登录美区亚马逊并准备越狱当备用机时,突然发现可以软越狱的系统版本早已停到了5.8年代——情有可原,毕竟这已经是一款有年代的Kindle了,关注维护它的开发者越来越少。细细研究发现理论上所有机子所有系统版本均支持拆机越狱,一不做二不休,过程便记录下来。这或许是中文互联网唯三的拆机越狱教程。

写在前面:

Quick tips:

  1. PW3 with 5.12.1、KT3 with 5.11.2、KV with 5.9都被笔者或者小伙伴证实可以硬件越狱,。目前最新的5.12.1版本依旧可以越狱。
  2. 一定要注意不同机型RX、TX触点的顺序可能不同,假如终端没有收到信息可以试一下交换连接线。
  3. 一定要在下文给出的链接中下载最新的越狱用文件,再不济也要验证一下文件哈希值。因为修补类更新,文件名可能不会变化,但是更新日期和哈希值会变,单独看文件名无法知道是否有最新的越狱文件,而旧的文件可能会出一些问题。
  4. 最新的 5.12 系统版本会“激进”地进行 OTA 更新,如果要避免被更新,建议断网使用。
  5. Kindle Paperwhite4和KOA2应该不可以通过此方法越狱,因为其分区和其他旧机型不太同。
  6. 若系统版本>=5.12.2,在安装KUAL时若;log mrpi无效,考虑下可以在串口运行sh /mnt/us/extensions/MRInstaller/bin/mrinstaller.sh launch_installer以安装KUAL 或者 这一篇帖子(英文)的做法。感谢评论区的小伙伴~

什么时候才需要拆机越狱?

当你手中的Kindle系统版本新于支持越狱的版本时。
——由于Kindle越狱一直是由民间爱好者钻研攻克的,而越新发售的Kindle相较于旧机型更被人所关注,因此往往旧机型可供越狱的系统版本较低。又因为Kindle不支持降级更新,因此当手误更新到较新版本、又需要越狱带来的便利时,只能拆机越狱了。请注意,理论上而言,拆机越狱适用于任何系统版本(5.12版本较难控制OTA更新,建议越狱后断网使用)。

拆机越狱和非拆机越狱的最终效果会不同么?会对硬件造成伤害么?

完全相同。取决于你的手艺。
——拆机越狱的原理是通过_串口调试_接口来绕过系统的限制,直接刷写越狱相关的文件;而非拆机越狱则是通过发现的系统漏洞,来刷写文件。
刷机越狱仅需接触到主板两个空焊点,无论是采用电烙铁或者胶带,理论上都可以完美还原,但这对操作人的手艺是有要求的。

    • *

本文基于混沌小鳄鱼的KPW3教程发呆蛋糕的KPW3教程以及grant2的KPW2教程以及作者自身尝试写成~

No.1 拆前准备工作

购买或下载:

  • USB to TTL转换器(推荐1.8V,3.3V也可)及杜邦线3根或以上->华强北¥5
  • Kindle数据线
  • 拆解套装(螺丝刀套装及撬棒,卡片等)->淘宝南旗24合1+附赠工具¥113
  • 尖端电烙铁(35W上下)->笔者不会用就没有买
  • 胶带剪刀若干
  • SecureCRT(推荐8.5.4或更新)->30天试用,安装时可自定义仅安装Serial功能
  • K5 JailBreak
  • K5 JailBreak Hotfix
  • MR Package Installer
  • KUAL(以上4项于mobileread.com论坛下载,机型为Kindle 5(Touch/PW1/PW2/KT2/KV/PW3/KOA/KT3/KOA2/PW4/KT4及其他)

查看Kindle序列号(仅由数字及大写英文字母组成)并在sven.de/kindle处填写计算出可能的root密码并全部保存记录下来。(这个是天坑,不要用其他教程的python算法,因为部分机器是mario这个固定密码,并不是通过S/N码计算出来的……笔者吃了这个亏,研究了半个小时。)

    • *

_(修改root密码的Plan B第一步,未经实验)_将以下文本转存名为cp.sh的文件。请注意必须使用*nix行尾符而不是Windows行尾符(用Notepad++)。

#!/bin/sh

# Disable passwd for 'root'
cp /etc/passwd /mnt/us/passwd-frm
sed "s/^root:[^:]*:/root::/" </mnt/us/passwd-frm >/mnt/us/passwd-to

mntroot rw
cp /mnt/us/passwd-to /etc/passwd
mntroot ro

之后将文件复制到 Kindle “根”目录备用。

No.2 拆机进行时

请在iFixit网站查看不同Kindle拆机教程。以下以题设为演示。

首先用撬棒翘起移除正面外条(略)并拧去暴露出来的T5螺丝,最终拆卸后盖。注意,后盖和前板间有卡扣固定,请借巧力。

主板右下方写有_SERIAL DEBUG_的区域为串口调试区域,即为我们今天的重头戏。

主板上白色方框标识处的上方有三个空焊点。左、中两个较饱满的空焊点为TX、RX中的某一个。笔者的Kindle 7th分别为TX、RX,好像Kindle Paperwhite 3分别为RX、TX。

根据
主板RX<->转换器TXD
主板TX<->转换器RXD
主板GND<->转换器GND(接地用,可以接在主板上面的大螺丝口或者芯片表面)
的原则,将转换器和主板通过一端杜邦线母口、一端裸露导线焊接或黏贴到主板对应空焊点处。之后请将Kindle数据线插入Kindle,但暂时不连接到计算机,以备之后使用。最后将转换器插入计算机并安装驱动(Win10可于硬件管理器自动搜索安装对应驱动并自行重启)。请注意,之后Kindle仍需触屏交互,因此一定要确保屏幕朝上时接触也良好。笔者由于技术不佳,耗时一个多小时才想到一个绝妙的方法来确保接触良好——上面放一本牛津高阶词典来施压,下面用橡皮和红外发射器形成一个突起顶到黏贴处,perfect!

蓝线接主板左 TX,黄线接主板中 RX,绿线接在随便一个芯片表面接地用

“绝妙”的固定方法

特别强调,倘若转换器有RXD、TXD工作指示灯,在搭接过程中并不能以指示灯是否亮作为判断连接成功与否的依据。事实上,指示灯常亮说明RXD、TXD可能误接到了接地处,真正连接好时由于Debug口并没有数据交换,RXD、TXD指示灯并不会亮,只有在后面重启开机时才会因为有数据交换而闪烁。

No.3 进入diagnostics启动模式

将Kindle与计算机通过转换器连接后,打开SecureCRT,进入Quick Connect页面,选择正确的COM口并如下图设置

看到下图所示的这个小绿勾只能说明转换器正常工作。连接是否正常还要等接下来重启。

一切就绪后,在Kindle上进入设置-重新启动,重启Kindle并紧盯软件信息接受区域,看到Hit any key to stop autoboot:开头文字时(此时Kindle屏幕还处于没有进度条的大树图,还没有闪屏进入有进度条的大树图。假如Kindle已经有进度条了,而你仍然没有看到任何文本,恭喜你,接触不良/装反了),马上马上马上敲击计算机键盘任意键,确保下一行为**uboot**开头文字
倘若慢了错过了,只能等Kindle启动完后再重启。

uboot >之后键入bootm 0xE41000然后回车,观察Kindle页面是否变成下图。若没有,再输入并回车一次。(笔者就遇到了这样的情况)
若出现,先点击Kindle屏幕上显示的Exit(或者在终端输入d

再点击Reboot or Disable Diags(或者在终端输入l

最后同理,Exit to login prompt(或者在终端输入q),后等待。

No.4 以root账户登录

当Kindle出现下图(DIAGS EXIT, Please use serial port)时

并且终端显示如下图的登录页面时

输入root并回车
在接下来的password: 行输入准备阶段算出的密码,输入一个完成后按下回车。若出现登录失败字样,重新输入root账户回车,再输入下一个算出的密码后回车,依次尝试。
注意:在你输入密码的时候,密码不会显示在屏幕上。如果4个密码均不正确,你可能是在准备阶段输错了序列号,你可以在终端搜索S/N字样并复制其后的序列号重新计算。

出现上图字样后,恭喜你登录成功~

No.5 编辑密码文件以去除root密码

_(修改root密码的Plan B第二步,未经实验)_在以#开头的终端行依次输入以下命令,一次一行,一行一回车。

cd /mnt/us
sh cp.sh

运行完后,应该修改完成了,之后在#之后输入reboot并回车,等待Kindle正常重启,进入正常页面,跳到本教程下一步即可。

    • *

_(修改root密码的Plan A)_使用Vi软件以编辑文本文件,这需要一点点Linux使用经验。假如你不熟悉,不用怕!你只是需要一点勇气。

在以#开头的终端行依次输入以下命令,一次一行,一行一回车。

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

此时你的终端应该如上图所示,打开了这一个文本文件。第一行红色处有一个x(也可能是!),我们需要做的就说把这个字符去掉,来让之后登录root账户时无需输入密码。

使用键盘上的方向键把光标移动到x(也可能是!)之上,然后按下键盘上的X来去掉文件中的x字符。
注意:“delete”按键在Vi中并不充当删除字符的功能。

现在终端应如上图所示。按下键盘上的Esc键,之后输入:wq以保存并退出编辑。此时root账户已不受密码保护。

之后在#之后输入reboot并回车,等待Kindle正常重启,进入正常页面。

No.6 Jailbreak now!

还记得No.2步骤让你事先插上的Kindle数据线么,现在把它连接到计算机。将预先下载好的K5 JailBreak压缩包内的kindle-*.*-jailbreak.zip内的内容解压缩到与Documents同级的Kindle“根”目录。现在Kindle内的文件应该大致如下图:

回到终端,按下回车键之后输入root并回车,直接登录。
如之前一样依次键入如下命令

cd /mnt/us
sh jb.sh

此时留心Kindle屏幕,Kindle上下部会有_**** JAILBREAK ****_字样。

当终端输出稳定时,键入reboot并回车,让Kindle正常重启。之后如之前步骤将预先下载的K5 JailBreak Hotfix压缩包内的.bin文件复制到Kindle“根”目录,在Kindle设置中“更新”。重启后,大功告成!

No.7 最后收尾

去除美亚等特惠:仍然在终端登录root账户,后依次输入以下代码,最后等待重启。

rm /mnt/us/system/.assets/*
rm /mnt/us/system/.mrch/*
cd /var/local/
rm adunits/*
rm merchant/*
sqlite3 appreg.db "update properties set value='false' where handlerid='dcc' and name='adunit.viewable'"
sqlite3 appreg.db "update properties set value='false' where handlerid='dcc' and name='dtcp_pref_ShowBannerPref'"
sqlite3 appreg.db "update properties set value='false' where handlerid='dcc' and name='dtcp_pref_ShowRecsPref'"
sqlite3 appreg.db "update properties set value='false' where handlerid='dcc' and name='dtcp_pref_ShowScreensaverPref'"
reboot

现在你可以拔掉转换器以及Debug区的导线,复原Kindle了。

之后,去bookfere.com的这一篇文章来安装MR Package Installer和KUAL,以及更多的插件。

最后编辑于: 2020 年 05 月 18 日
返回文章列表 文章二维码
本页链接的二维码
打赏二维码