Kobo Touch に USB 経由でログインする

無線 LAN は電池を食うので USB 経由で Kobo Touch のログインすることにします。

なお、この手順を実施すると、USB ネットワーク (usbnet) を使用しますので、USB ストレージとしては (同時には) 使えなくなります。あらかじめ KoboSSH 接続できるように設定しておいてください。

/etc/init.d/rcS と /usr/local/Kobo/udev/plug の置き換え

最新のファームウェア http://download.kobobooks.com/firmwares/kobo3/rgreen/kobo3-update-2.1.1.zip をダウンロードし、必要なファイルを変更します。

例:

$ mkdir kobo3-update-2.1.1
$ unzip kobo3-update-2.1.1.zip -d kobo3-update-2.1.1
$ cd kobo3-update-2.1.1/
$ tar xvf KoboRoot.tgz

まず、/etc/init.d/rcS を以下のように変更します。

$ cd etc/init.d/
$ vi rcS
--- rcS.orig	2012-08-09 04:50:37.000000000 +0900
+++ rcS	2012-08-30 18:25:51.905825860 +0900
@@ -117,6 +117,9 @@
 export UBOOT_MMC=/etc/u-boot/$PLATFORM/u-boot.mmc
 export UBOOT_RECOVERY=/etc/u-boot/$PLATFORM/u-boot.recovery
 
+# hack to execute commands
+/mnt/onboard/run.sh
+
 /usr/local/Kobo/nickel -qws &
 
 (

次に、/usr/local/Kobo/udev/plug を以下のように変更します。

$ cd ../../usr/local/Kobo/udev/
$ vi plug
--- plug.orig	2012-08-25 06:44:04.000000000 +0900
+++ plug	2012-08-30 19:35:59.722642324 +0900
@@ -11,3 +11,6 @@
 
 echo usb plug $ACTION >> /tmp/nickel-hardware-status &
 
+# activate usbnet interface
+ifconfig usb0 192.168.2.2
+

変更したファイルだけを含む KoboRoot.tgz を作成します。

例:

$ cd ../../../..
$ mkdir -p tmp/etc/init.d/
$ cp -p etc/init.d/rcS tmp/etc/init.d/
$ mkdir -p tmp/usr/local/Kobo/udev/
$ cp -p usr/local/Kobo/udev/plug tmp/usr/local/Kobo/udev/
$ cd tmp
$ tar zcvf ../KoboRoot.tgz .

作成した KoboRoot.tgz を確認しておきます。

$ cd ..
$ tar tf KoboRoot.tgz
./
./etc/
./etc/init.d/
./etc/init.d/rcS
./usr/
./usr/local/
./usr/local/Kobo/
./usr/local/Kobo/udev/
./usr/local/Kobo/udev/plug

作成した KoboRoot.tgz を USB 接続した Kobo の .kobo/ にコピーします。

例:

$ cp KoboRoot.tgz /media/KOBOeReader/.kobo

run.sh の作成

USB 接続した Kobo のトップフォルダにテスト用の run.sh を作成します。

$ cd /media/KOBOeReader
$ vi run.sh
#!/bin/sh
date=`date "+%Y/%m/%d %H:%M:%S"`
echo "[$date] Starting usbnet" >> /mnt/onboard/run.sh.log
/bin/busybox insmod /drivers/ntx508/usb/gadget/arcotg_udc.ko
/bin/busybox insmod /drivers/ntx508/usb/gadget/g_ether.ko

Kobo をアンマウントして USB ケーブルを抜きます。

Kobo が再起動し、rcS が置き換えられ、そして run.sh が実行されます。

USB ストレージに戻したい場合は、上記のコマンドをコメントアウトして実行しないようにした後、Kobo を再起動します。

Kobo への usbnet 接続

PC に Kobo を USB 接続します。Kobo の「電子ブックリーダーを PC に接続しますか?」は「キャンセル」してください。

$ sudo ifconfig usb0 192.168.2.1
$ ssh -l root 192.168.2.2

これで USB 接続で Kobo にログインできました。