楽天Kobo Touch
もちろん楽天Kobo Touchを買った。ビックカメラのポイントで購入。
Kobo Touchは現在日本でサービスインしている電子書籍ビューアとしては最高なものと言える。
- ファームウェアアップデートは.tgzを展開するだけで、一切の認証は無い
- GPLコードはGitHubで配布 : https://github.com/kobolabs/Kobo-Reader
- U-bootで起動し、シリアルポートにも容易にアクセスできる
素晴らしい。欠点は楽天しかない。
前回のKindle2( http://d.hatena.ne.jp/mjt/20110501/p2 )のようにnmoshも移植したい。
罠
Koboは起動にアクティベーションを必要とする。つまり、WindowsかMacのどちらかを持っていないと使用できない。
もちろん不正なテクニックで回避できるが、基本的にはPCと一緒に使うデバイスと考えるべきだろう。
telnet / ftpの有効化
標準のファームウェアでは一般的なdropbear ssh/scpは使用できないようなので、busyboxによるtelnet/ftpがよく用いられている。手順はいつものmobilereadから:
Koboのファームウェアアップデートは非常に男らしいプロトコルになっており、"起動時に特定のファイル名で.tgzが置いてあればそれを展開する"。ファームウェアイメージはアクティベーションの際にダウンロードされKoboにコピーされるので、PCから外す前にPCにコピーし、内容を書き換えて戻せば基本的にrootファイルシステムの全てを自由に変更できる。
↑のページに書かれている内容でだいたい便利に使うことができるが、個人的には以下の2点をオススメする。
- run.shを標準シェルより前に起動する
/etc/init.d/rcSを編集することで、起動時に起動するスクリプトを設置できるが、↓のようにnickel(標準GUIシェル)よりも前に起動することをオススメしたい。これで、RNDIS(USBネットワーク)カーネルモジュールの組み込みをrun.shの中に書ける。
- snip - export UBOOT_MMC=/etc/u-boot/$PLATFORM/u-boot.mmc export UBOOT_RECOVERY=/etc/u-boot/$PLATFORM/u-boot.recovery /mnt/onboard/run.sh /usr/local/Kobo/nickel -qws & ( - snip -
- USBネットワークの有効化
Wi-Fiネットワークは放置しているとすぐ切れるし、いちいちブラウザを立ち上げるのも面倒なので、開発目的にはUSBネットワークを勧める。
nickelよりも前に(= run.shで)
# Start usbnet
/bin/busybox insmod /drivers/ntx508/usb/gadget/arcotg_udc.ko
/bin/busybox insmod /drivers/ntx508/usb/gadget/g_ether.ko
のようにしてカーネルモジュールを入れ、/usr/local/Kobo/udev/plugの最後に
ifconfig usb0 192.168.2.2
のようにしてifconfigする。
USBネットワークを有効化するとKoboはUSBマスストレージとしては認識されなくなる。もとに戻すには、insmodを行わないように編集して再起動する。
もちろん、telnetやftpを有効にせずにUSBネットワークに移行してしまうと、元に戻す手段がなくなってしまう。。
このようにして作ったUSBネットワークデバイスをWindowsマシンに繋ぐには、MSのRNDISドライバを使用すれば良い:
スケッチブックの使い途 = ftpで転送したファイルを認識させる
USBネットワークでも、ftpを使用してファイルを転送することができる。しかし、通常の手段では、/mnt/onboardにftpでファイルを転送しても認識されない。KoboはUSBマスストレージモードから抜けた時にライブラリの更新を行う事に因る。
無理やりライブラリを更新させるためには、お試し機能のスケッチブックが使える。設定→その他→スケッチブック でスケッチブックを起動し、↓アイコンをタップしてカラのイメージを保存すれば、ftpで転送したファイルもついでに認識される。便利。
もうちょっと直接的な方法を見つけたいところだが。。