2012年12月11日
Kindle Paperwhiteを脱獄(Jailbreak)・スクリーンセーバーをカスタマイズする方法
ついに、日本で発売されたKindle Paperwhite(ファームウェア 5.3.x)でも脱獄(Jailbreak)が可能になったてご存知ですか?
今日はその手順と合わせてスクリーンセーバーをカスタマイズし、自分だけのKindle Paperwhiteを作ってみます。
ちなみに僕は(X)Ubuntu 12.04、Kindle Paperwhite 3G版を使って作業しますよ。
ちなみに僕は(X)Ubuntu 12.04、Kindle Paperwhite 3G版を使って作業しますよ。
まずはKindle Paperwhite(5.3.0, 5.3.1)を脱獄(Jailbreak)
Mobilereadのページへアクセスし、脱獄(Jailbreak)用実行ファイルをダウンロードします。
K5 Kindle Paperwhite Jailbreak (5.2.0 - 5.3.1) - MobileRead Forums
上記ページで少し下にスクロールすると、kpw_jb.zipファイルへのリンクがあります。
このファイルをダウンロード・解凍しておきます。
さあ、準備は出来ました。 Kinlde Paperwhiteをパソコンに接続しましょう。
Kindleがストレージ(ドライブ)として見えるので、jailbreak.sh、MOBI8_DEBUGファイルをKindleの直下にコピーします。
ここまで出来たらKindleをパソコンから取り出してみましょう。 怪しげな本がホーム画面に現れるはずです。
タップして開くと、クリックを促されるので”JAILBREAK”をタップ。
さらに何故か画面左上を2秒以上長押しするように指示されるので、言われた通りに長押しします。
すると、脱獄が始まり何度かメッセージが表示されます。
最後に”JAILBREAK SUCCEEDED”と表示されれば無事完了。 画面をタップしてホーム画面に戻りましょう。
”jailbreak-log”という名前の本がありますが、これは削除してもOK。
脱獄したKindle PaperwhiteへSSHでアクセス、スクリーンセーバー画像の保存場所を変更する
何の変哲も無いように見えますが、既に脱獄は完了しています。 ここからKindleをUSBNetworkモードに変更して、SSHでログインします。
まずは、USB接続しストレージとして認識されたKindleの直下に”ENABLE_DIAGS”という名前でファイルを作ります(中身は空)。
この状態でKindleを取り外し、本体メニューを使ってKindleを再起動します。
(メニュー > 設定 > メニューとタップし、表示されるリストから再起動を選択)
再起動したKindleはDIAGモードで動作します。
これでKindleへUSBケーブル経由でネットワーク接続できるようになります(IPアドレスは192.168.15.244)。
画面下のExitをタップして、一つ前の画面に戻っておきましょう(ここ重要)。
すると、パソコンからはKindleはUSBネットワーク・インタフェースとして見えるようになります。
僕は(X)Ubuntuで作業しているので、端末(ターミナル)からifconfigコマンドを実行するとこんな風に見えます。
$ ifcnofig usb0usb0 Link encap:イーサネット ハードウェアアドレス 42:7e:3e:xx:xx:xxinet6アドレス: fe80::407e:xxxx:xxxx:xxxx/64 範囲:リンクUP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0TXパケット:20 エラー:0 損失:0 オーバラン:0 キャリア:0衝突(Collisions):0 TXキュー長:1000RXバイト:0 (0.0 B) TXバイト:4744 (4.7 KB)
KindleにSSH接続したいので、usb0インタフェースに適当なIPアドレス(ここでは192.168.15.1)を設定し、
$ sudo ifconfig usb0 192.168.15.1 netmask 255.255.255.0
pingを送信・応答があることを確認しておきます。
$ ping 192.168.15.244PING 192.168.15.244 (192.168.15.244) 56(84) bytes of data.64 bytes from 192.168.15.244: icmp_req=1 ttl=64 time=1.51 ms64 bytes from 192.168.15.244: icmp_req=2 ttl=64 time=0.339 ms64 bytes from 192.168.15.244: icmp_req=3 ttl=64 time=0.347 ms
Macを使っている方は以前にKindle 4 NTで説明した手順を参考にして下さい。
Kindle 4(Non Touch/Touch)で脱獄無しにスクリーンセーバーを変更する方法
ここでTips。 今回の脱獄方法ではKindleとのネットワーク接続が頻繁に切断・再接続を繰り返すことがあります(少なくともUbuntuでは)。
一度切断するとPC側に設定したIPアドレスが無効になり、放っておくとSSH接続がタイムアウトになってしまいます。
↑(Page up)キーで素早く”sudo ifconfig usb0 192.168.15.1 netmask 255.255.255.0”を再入力できるよう、SSH接続は別の端末(ターミナル)で行いましょう。
話はそれましたが、早速、次のコマンドで端末(ターミナル)からKindleへSSH接続してみましょう。
$ ssh [email protected][email protected]'s password:
パスワードは mario (何時も思うんですけど何でmarioなんだろ・・・)。
$ ssh [email protected][email protected]'s password:################################################## N O T I C E * N O T I C E * N O T I C E ##################################################Rootfs is mounted read-only. Invoke mntroot rw toswitch back to a writable rootfs.#################################################[root@[192_168_15_244] root]#
よーし、ログイン完了。 ここからの作業はできるだけ急ぎましょう。 前述しましたがSSH接続がブツブツ切れることがあるからです。
1)ストレージを書き込み可能な状態に変更。
[root@[192_168_15_244] root]# mntroot rwsystem: I mntroot:def:Making root filesystem writeable
2)システム・パーテイションを利用可能(マウント)な状態へ[root@[192_168_15_244] root]# mount /dev/mmcblk0p1 /mnt/base-mmc
3)スクリーンセーバー用フォルダを普段パソコンから見える場所(/mnt/us配下)にコピー[root@[192_168_15_244] root]# cp -pr /mnt/base-mmc/usr/share/blanket/screensaver /mnt/us/screensaver
4)オリジナルのスクリーンセーバー保存先を別の名前に変更(バックアップ)# mv /mnt/base-mmc/usr/share/blanket/screensaver /mnt/base-mmc/usr/share/blanket/screensaver.org
5)代わりに先ほどコピーしたスクリーンセーバー用フォルダへのリンクを作成[root@[192_168_15_244] root]# ln -sfn /mnt/us/screensaver /mnt/base-mmc/usr/share/blanket/screensaver
6)システム・パーテイションのマウントを解除[root@[192_168_15_244] root]# umount /mnt/base-mmc
7)SSH接続を切断[root@[192_168_15_244] root]# exitConnection to 192.168.15.244 closed.
ここまで出来たら、再びKindleの画面に戻り、DIAGモードのトップ・メニュー(最初に表示された画面)に移動します(Exitで一つ前の画面に戻る)。
本来ならここでD) Exit, Reboot or Disable Diagsと移動するんですが、このままだと、Disable Diagsを実行した際に”device_info.xml not found”と怒られてしまうので、一度だけS) Device Settingsを選択・表示しておきます。
やっと終わり。 トップ・メニューからD) Exit, Reboot or Disable Diagsを選択し、次の画面でD) Disable Diagnosticsをタップ。
もし、この時点でもDisable Diagnosticsに失敗する場合は、一度R) Reboot Systemも試してみましょう。
最後にQ) To continueをタップすればKindleの再起動が始まります。
オリジナルのスクリーンセーバーを用意・作成する
ふう、ここまで長かったですね。 最後に楽しい時間が待っています。 再起動したKindleをパソコンに接続すると、screensaverというフォルダが見えるはずです。
diagnostic_logs、USBnet.xmlは削除して大丈夫。 screensaverフォルダの中には見慣れた画像がありますね。
ここに同じ名前で、758x1024サイズのpng画像を用意すればスクリーンセーバーをカスタマイズできる訳です。
例えば、このあたりから画像ファイルをダウンロードして、
Kindle Wallpapers
Gimpなどの画像加工ソフトでサイズを758x1024に変更してあげます。
もちろん、758x1024のサイズ+モノクロでオリジナルの画像を作ってもOK。
bg_medium_ss00.png~bg_medium_ss19.pngとしてscreensaverフォルダに保存しましょう。
自分だけのKindle Paperwhiteが出来るはずです!
注意事項
この方法で脱獄したKindle Paperwhiteは端末をリセット(工場出荷状態)しても完全には元には戻りません。
また、脱獄した状態では正式なサポートを受けられない可能性もあります。
クリーンな状態(DIAGモードなどが無い状態)になるには次のアップデート(5.3.2以降)まで無理と考えた方が良いでしょう。
※僕は5.3.0、5.3.1で試しましたが、5.3.0から5.3.1へアップデートした際にはクリーン(標準的)な状態に戻りました。
尚、screensaverフォルダを削除するとスクリーンセーバーが表示されなくなります。
元に戻す場合は、SSH接続後、次のコマンドを実行します。
[root@[192_168_15_244] root]# mntroot rw[root@[192_168_15_244] root]# mount /dev/mmcblk0p1 /mnt/base-mmc[root@[192_168_15_244] root]# rm /mnt/base-mmc/usr/share/blanket/screensaver[root@[192_168_15_244] root]# mv /mnt/base-mmc/usr/share/blanket/screensaver.org /mnt/base-mmc/usr/share/blanket/screensaver
[root@[192_168_15_244] root]# umount /mnt/base-mmc
あくまで自己責任ですが、Kindleをカスタマイズして楽しみたいGeekな人は是非どうぞ。
それでは、より良いKindleライフを!
MAKERS―21世紀の産業革命が始まる
posted with amazlet at 12.12.11
NHK出版 (2012-10-25)
売り上げランキング: 18
売り上げランキング: 18
世界の最強戦闘機Top45
posted with amazlet at 12.12.11
株式会社ユナイテッド・ブックス (2012-10-31)
売り上げランキング: 29
売り上げランキング: 29