« ドイツ語多読本:Karina Schaapman: Das Mäusehaus. Komm, wir spielen! | トップページ | ドイツ語多読本:Flix: Das Schalf (Aladin Verlag Bildbücherei) »

2015年8月 3日 (月)

Kindle Voyage: シリアル接続でjailbreakする方法

-- 追記 --
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のスクリーンをタップして操作。
こんな感じのスクリーンになる。
Kindle_diags
(一番下の、"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は使わなくてよさそうだ。

|

« ドイツ語多読本:Karina Schaapman: Das Mäusehaus. Komm, wir spielen! | トップページ | ドイツ語多読本:Flix: Das Schalf (Aladin Verlag Bildbücherei) »

Kindle」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Kindle Voyage: シリアル接続でjailbreakする方法:

« ドイツ語多読本:Karina Schaapman: Das Mäusehaus. Komm, wir spielen! | トップページ | ドイツ語多読本:Flix: Das Schalf (Aladin Verlag Bildbücherei) »