Kobo用メンテナンスF/W
kobo で外部 microSD から起動できるカスタムファームウェアです。
kobo内蔵のストレージをバックアップ・リストアしたり、ファイルの編集をしたりといったことができます。
1. できること
kobo をカラ割りせずに内蔵の SD のバックアップ・リストアが可能です。
kobo の古いファームウェアを手軽にバックアップ・リストアすることが可能です。
また、root shell とある程度のコマンドを用意していますので、知識がある方は、マウントしてスクリプトの編集などを行うことも可能です。
スクリプトの編集ミスで起動しなくなっても、容易に変更することが可能です。
2. 対象機種
kobo mini は外部 microSD スロットが無いので対応不可
3. 必要なもの
- 起動用 microSD 1 枚 (1〜32GBならなんでもok)
- データ保存用 microSD 1 枚 (FATフォーマットのもの)
4. Download
5. 起動用microSDの作り方
zipファイルに入っている maintain-touch-v0.1.bin を dd (Linux) や、 DDforWindows (Windows) 等で microSD に書きこんでください。
このバイナリにパーテーション情報も含まれていますので、MBR を含めて書きこむ必要があります。
例: Linux の場合 (/dev/sdb と認識されている場合)
$ sudo umount /dev/sdb*
$ sudo dd if=maintain-touch-v0.1.bin of=/dev/sdb
$ sync
$ sudo eject /dev/sdb
最近のディストリビューションでは microSD などを認識すると自動でマウントするため、最初に必ず umount をおこなってから dd で書き込んでください。
mountしたままで書くと、正しく書き込まれません。
例: Windows の場合 (DDforWindows)
※未記述
6. 起動方法
- kobo touch/glo を microUSB で PC と接続する。
- kobo touch/glo の電源を切る。電源スイッチの長スライドで電源が切れます。画面に「電源オフ」と表示されればOKです。「スリープ」ではダメです。
- 作成した microSD を kobo touch/glo に挿入
- Kobo touch なら Homeボタン (銀色のボタン)、Kobo glo ならフロントライトボタンを押しながら電源を長スライドする。電源LEDが緑点滅になるまで、Homeボタン/ライトボタンと電源スイッチを離してはダメ。※注意※ 電源を長スライドさせずに戻してしまうとリカバリが実行されてしまうため、内蔵の書籍が消去されてしまいます。特に気をつけて操作してください。
- 電源LED が緑点滅から青点灯になり、画面に「Maintenance Firmware」と表示されれば起動完了です。この状態になったら起動用 microSD は抜いても構いません。
7. ドライバのインストール (Windows)
メンテナンスファームウェアを起動すると、Kobo touch/glo は PC から「RNDIS/Network gadget」というネットワークデバイスとして認識されます。
Linux PCの場合は、多くの場合そのまま使用可能になるのですが、Windows の場合はドライバのインストールが必要になります。
以下から .inf ファイルをダウンロードしてドライバのインストールをしてください。
実際のドライバは Windows が標準で持っているので、デバイスを認識させるだけの .inf ファイルになっています。
kobo には DHCP サーバが立ち上げてあるので、ネットワークデバイスとして認識されると、IPアドレスが自動的に割り当てられます。 Kobo の IP アドレスは 192.168.199.1 です。
8. メンテナンスファームの使い方
メニュー形式で操作する方法(初心者向け)と、root shell にログインして操作する方法(上級者向け)があります。
8.1 メニュー形式 (初心者向け)
telnet で 192.168.199.1 に接続します。
Windows の場合は、putty や teraterm などの端末ソフトが必要です。
接続するとユーザ名を聞かれるので、admin と入力します。パスワード無しでログインでき、メニューが表示されます。
8.1.1 メインメニュー
kobo login: admin
=Main menu=
1. Backup
2. Restore
----
0. Logout
r. Reboot
p. Power off
1[Enter] のように、数字 or アルファベット + [Enter] で選択します。
8.1.2 Backup メニュー
内蔵SDのデータをバックアップできます。
==Backup sub menu==
1. Backup MBR+bootloader+HWCONFIG+kernel (header.bin)
2. Backup recovery partition (recovery.tgz)
3. Backup system partition (system.tgz)
4. Backup .kobo directory (dot-kobo.tgz)
5. Backup ALL
----
0. return to main menu
それぞれ以下の内容が保存できます。
- 内蔵SDの先頭領域 9.5MB 分をそのままバックアップします
- recovery パーテーション (第2パーテーション) を tar.gz 形式でバックアップします
- system パーテーション (第1パーテーション) を tar.gz 形式でバックアップします
- KOBOeReader パーテーション (第3パーテーション) の .kobo ディレクトリを tar.gz 形式でバックアップします。
- 1〜4 を全て実行します
バックアップを実行する際には、データ保存用の microSD を Kobo にセットしてから実行してください。起動用 microSD には書き込めません。
バックアップをする分には内蔵 SD への書き込みは発生しませんので安全に実行することができます。
8.1.3 Restore メニュー
バックアップしたデータを内蔵SDにリストアする機能です。
==Restore sub menu==
1. Restore system partition (from system.tgz)
2. Restore .kobo directory (from dot-kobo.tgz)
----
x. Dangerous restore menu for expert!!
0. return to main menu
Restore メニューは比較的安全な機能と危険な機能とに分かれています。上記メニューは起動に関わる部分を書き換えないため比較的安全な機能です。
Restoreメニューでは以下のことが行えます。
- system パーテーションのリストア
- KOBOeReader パーテーションの .kobo ディレクトリのリストア
これらの操作は失敗してもリカバリ操作 (Homeキーを押しながら電源短スライド) で工場出荷状態には戻せるため、比較的安全です。
より危険な機能を使う場合ははここで x を選びます。
8.1.4 Dangerous Restore メニュー
このメニューにある機能は間違えると Kobo が起動しなくなる可能性がある危険な機能ばかりですので、機能の意味が分からない人は絶対に使わないでください。
==Dangerous restore sub menu (for expert!!)==
h. Restore bootloader+HWCONFIG (from header.bin)
k. Restore kernel (from header.bin)
r. Restore recovery partition (from recovery.tgz)
m. Restore MBR (from header.bin)
----
0. return to restore sub menu
このメニューでは以下の機能を実行できます。
- h. MBRと kernel を除く、内蔵SDの先頭部分をリストアしますこれには u-boot, u-boot の環境変数、HW CONFIG が含まれます。
- k. Linux kernel だけをリストアします
- r. Recovery パーテーションをリストアします
- m. MBR をリストアします
通常であればこれらの機能を使うことはないでしょう。
MBR, bootloader 関係が壊れると、メンテナンスFWを起動できなくなります。kobo を開けて microSD を取り出して復旧しない限り起動しなくなりますので、十分注意してください。
Linux kernel, Recovery パーテーションは壊れていても、外部 microSD からメンテナンスFWを起動できます。
8.2 root shell (上級者向け)
telnet で 192.168.199.1 に接続し、ユーザ名 root でログインします。パスワードはありません。
root権限を持っているので mount, cp, vi (機能限定版) などで自由に操作可能です。
ちなみに、内蔵SD は /dev/mmcblk0、外部microSD は /dev/mmcblk1 に認識されます。
9. 電源の切り方
何も処理をしていない状態ならいつでも電源を切ることができます。電源を長スライド(10秒くらい)してください。LED が消えれば電源が切れています。
または、メニュー形式でログイン中、メインメニューから「p」を選択しても電源を切ることができます。
メンテナンスファームウェアが起動している間はスリープしませんので、使い終わったら必ず電源を切ってください。切らないと知らない間にバッテリが空になってしまいます。
10. 注意事項
- お約束ですが、At own risk でお願いします。危険なツールですので、いかなる損害も責任は負い兼ねます。
- 内蔵SDの bootloader が壊れている状態では起動できません。このファームでは、完全に文鎮になった場合の復旧はできないことを意味します。その場合はカラ割りして microSD を復旧させてください。
- メンテナンスファームウェアが起動している状態でUSBケーブルの抜き差しをしないでください。USB Etherのドライバにバグがあるようで、抜き差しするとkernel panic でハングアップします。無反応になった場合は電源長スライドで電源を切って下さい。
履歴