-- 追記 --
FW5.6.5はシリアル接続しなくても、jailbreak可能になった。
「Kindle: 5.6.5 jailbreak方法」参照
-- 追記おしまい --
mobilereadに出ていた手順でKindle Voyageをでjailbreakできたので報告。
裏蓋開けて、ケーブルをはんだ付けしてシリアル接続、と面倒なやり方しか今のところできないので。
はんだ付けは素人といっていいが、今回のシリアル接続にかぎってはなんとかできたようだ。
やり方は
"Kindle Voyage 5.6.2.1 Serial Jailbreak Step-by-Step"
http://www.mobileread.com/forums/showthread.php?t=263113
に書かれている通り。
必要な道具:
・USB-シリアル・コンバータ: TTL-232RG-VREG1V8-WE
rs-onlineから購入。すぐ届いた。
・電線:0.26mm、ETFEの表示があるものにしたが、適切なのかはよくわからない。
・はんだ付けに必要なもの一式。はんだ付けはかなり小さい箇所に行うので、こて先は細いものにした。
慣れてないので、50円程度の安い基板で練習。
-- 追記 --
はんだ付け作業は省略できるかも。
電導ペイント/コンダクティプ・ペンとかいうものを使ったという人もいるようだ。mobilereadのこのポスト。ものはこれ。こっちのほうがずっと楽にできそう。
-- 追記おしまい --
ソフトウェア:
・linuxならminicomをインストールしておく。
windowsならTeraTermとかPuTTyとか? Macはよくわからないが何かターミナル? あとシリアル接続の設定方法なども各自で。
・Python(パスワードの生成に使う)。linuxなら標準でインストール済み。
・jailbreak(だが、いろいろ新しくなっているであろう最新のsnapshotを使用した)
・KUAL
・あと、Kindleのrootを取ってログインしたらエディタのviを使うので、viの使い方がわからない人は調べておく。できれば実際に使ってみたほうがいい。windows版もあるはず。カーソルを動かして、文字を消す、文字を入力する、ファイルを保存する、viを終了する、という操作ができればよい。知らないと、viを終了させることもできないので。
手順は上のmobilreadのページの通り。
つまり、以下はLinuxでの手順。
VMwareやVirtualBoxでLinuxをインストールしてしまえば、以下の通りにできるが・・・。(VMwareもVirtualBoxもLinuxもフリーで使える。Linux用にハードディスクのパーティション切ったりする必要がないし、削除も簡単なので、通常のLiinuxインストールよりはずっと楽なはずだが)。
Windowsその他の場合は、以下のminicomでの作業を各自の環境に合わせて読み替えて。
番号はmobilereadの記事のまま、必要に応じて補足を入れる。
1. kindle-jailbreak-1.14.Nをダウンロード・解凍。その中の"kindle-5.4-jailbreak.zip"を使う。
PCにつないだKindleのルート(ドライブの一番上)に"kindle-5.4-jailbreak.zip"を解凍する。
Update_jb_$(cd mnt && cd us && sh jb.sh).bin
bridge.conf
bridge.sh
developer.keystore
gandalf
jb.sh
json_simple-1.1.jar
がKindleにあるかどうかチェック。
2. KUAL-v2.5をダウンロード・解凍。その中の"KUAL-KDK-2.0.azw2"をKindleのdocumentsフォルダの中にコピー。
3. Kindle Voyageのシリアル番号を控えておく。
「ホーム」 > 「メニュー」 > 「設定」 > 「メニュー」 > 「端末情報」の「シリアル番号」
4. Kindle VoyageをPCからはずす。
5. Kindle Voyageを開ける。
やり方は"Kindle Voyage Teardown" や "How to Take Apart the Amazon Kindle Voyage" の動画参照。
そして、バッテリーのコネクタをはずしておく。(mobilreadに上げられている画像、TX、RX、GNDの横にある黒いパッドを張っているやつ)
6. 写真のTX、RX、GNDにはんだ付け。
mobilereadの画像参照。
慣れない作業に苦労したので、はんだ付けはTXとRXの2つにして、GNDは「Kindle Voyage 使用感とシリアル接続でのroot取得」の写真のように、ねじ経由で。
7. はんだ付けした電線をUSB-シリアルコンバータにつなぐ
・Kindleの TX > USBシリアルコンバータの RX(黄色)へ
・Kindleの RX > USBシリアルコンバータの TX(オレンジ)へ
・Kindleの GND > USBシリアルコンバータの GND(黒)へ
8. USBシリアルコンバータのUSBケーブルをPCにつなぐ。
9. Kindle Voyageのrootのパスワードを見つける。ターミナルを開いて以下のようにコマンド。
python -c 'import hashlib,sys;print "fiona%s" % hashlib.md5("%s\n" %sys.argv[1]).hexdigest()[13:16] YOUR_SERIAL_NUMBER
YOUR_SERIAL_NUMBERにはさっき調べた端末情報のシリアル番号を入れる。言うまでもないが、最後にEnterキー。
すると
fiona5f
のような文字列が出る。これがrootのパスワード。
10. ターミナルで、ttyのデバイス・ネームを調べる。
sudo dmesg | grep tty
そして、
usb 2-2.1: FTDI USB Serial Device converter now attached to ttyUSB0
のような行を探す。デバイス・ネームは"ttyUSB0"の部分。
11. minicomのセットアップ
ターミナルで、sudo minicom -s だが、これだと日本語表示でよくわからなかったので、英語で起動。
LANG=C sudo minicom -s
configurationの画面になるので、矢印キーで'Serial port setup'に移動して選択、Enter。
あとはmobilereadの画像を見ながら。
キーボードの"a"を押すと、”A - Serial device"の項目が編集できるようになる。残りの項目も画像の通りに。
終わったら、Escキーを押して、configurationの画面に戻り、
'Save setup as dfl' を選択してEnter。
さらに、
'Exit from Minicom' を選択してEnter。終了。
12. 改めてminicom起動。ターミナルで、
LANG=C sudo minicom
mobilereadの画像のような表示が出る。
13. Kindle Voyageのバッテリーのコネクタを接続する。さらに、Kindleの電源スイッチを押す(裏蓋はないが)
14. minicomのコンソールに文字が流れだすが、ここで注意。autobootを避けるために、
Hit any key to stop autoboot: 1
という表示が出たら、キーボードのキーをどれでもいいので押す。だが、1秒しか待ってくれない。
なので、とりあえずEnterあたりを連打しておく。
うまくいけば、コンソールに、
uboot>
のようなプロンプトが現れる。
これが出なかったら失敗しているので、Kindleを再起動してやり直し。Kindleの再起動は普通のやり方で(電源ボタンを長押しして、「再起動」タップ)
15. uboot>のプロンプトに、
bootm 0xE41000
と入力。そしてもちろんEnter。
16. 診断モードになるので、次はKindleのスクリーンをタップして操作。
こんな感じのスクリーンになる。
(一番下の、"Exit"が切れているが。画像はこちらのサイトのもの)
・まず、'Exit' をタップ
・次に、'Reboot or Disable Diags'
・最後に、'Exit to login prompt' をタップ
17. またminicomに戻って、Kindleが起動したらログインする。
Welcome to Kindle!
kindle login: root
password: *****
login名はroot、passwordは9.で調べたrootのパスワード(fiona.....)を入力。
以下はrootのパスワードが記載されたファイルを書き換えるための作業。
18. ファイルシステム(パーティションといったほうがわかりやすい?)をマウントするためのポイントを作成。
mkdir /tmp/main
19. マウントする。
mount /dev/mmcblk0p1 /tmp/main
20. rootのパスワードをviで書き換える。
vi /tmp/main/etc/passwd
どう書き換えるかというと、1行目が
root:!:0:0:root:/:/bin/sh
のようになっているので、
!を削除して、こうする。
root::0:0:root:/:/bin/sh
もしくは、こうなっていたら
root:x:0:0:root:/tmp/root:/bin/sh
xを削除する。
root::0:0:root:/tmp/root:/bin/sh
21. ファイルを保存して、viを終了したら、続けてKindleを再起動するコマンド。
reboot
22. Kindleが起動したらプロンプトが現れる。ログイン名rootを入力。パスワードはいらない。Enterのみでログインできる。
23. パスワードを設定するなら、
passwd
と入力して、パスワード設定を。
24. ようやくjailbreakまでこぎつけた。以下のコマンドを。
cd /mnt/us && sh jb.sh
cd /mnt/us
sh jb.sh
と2回に分けても同じこと。(jb.shは最初にKindleのルートに解凍しておいたファイル)
成功したらKindleのディスプレイの下の方に、***Jailbreak*** という表示が出る。
25. Kindleを再起動する。コンソールでコマンド。
reboot
26. jailbreakがうまくいっているか確認のため、Kindle起動後、本のリストの中にあるKUALをタップして起動するか確認。
27. あとはUSBシリアルコンバータからKindleをはずす。電線はテープで止めておく。(先を切って不用意にどこかに触れないようにテープで固定しておいた)
あとはKindleの裏蓋をつけておしまい。
ピカピカプラスチック部分、上辺の裏側に小さな爪が4箇所ある。それをフレームの穴に入れるのだが、爪が倒れてしまっていることに気づかず、時間がかかってしまった。ひょっとしたら注意が必要かも。
と、jailbreakはここまで。
jailbreakしただけでは何もできないので、あとはスクリーンセーバーやフォントをカスタマイズするためのパッケージのインストールが必要だが、それはまたいずれ。
Paperwhiteだろうが無印だろうが、基本やり方は同じだろうから参考になるはず。snapshotのほうはPW3(2015)にもとりあえずの対応はしたらしい。
作業は面倒だし、保証は受けられなくなるだろうし、やろうと思う人もそういないだろうけど、FW5.6以降はシリアル接続するしか方法はない。
欧文フォント・日本語フォントの入れ替え、フォントサイズのカスタマイズ、スクリーンセーバーの変更、バッテリー残量のパーセント表示、フロントライトのオフ、Calibreによるコレクションの自動作成など軽く試してみたが、大丈夫そう。
やっとjailbreak済みPaperwhiteと機能的に同じになった。これでもうPaperwhiteは使わなくてよさそうだ。