概要
kobo電子書籍リーダーをファクトリーリセットすると,工場出荷状態に戻すことができます.
この工場出荷状態は,ファームウエアのバージョンが非常に古いです.これまでの状態で使用を再開するにはファームウエアのバージョンを更新する必要があり,手間になります.
しかしファクトリーリセット時に使用されるファイルに細工を施すことで,任意のファームウエアバージョンで直ちに使用可能にできます.
これを実現するには,やや専門的な知識が必要になります.microSD改装経験者であることと,UnixライクOSのコマンドを理解して扱えるレベルであることが目安になります.
そうでない方々にはおすすめできません.
大雑把な手順
kobo本体のmicroSDにはファクトリーリセット時に用いられる,ファイルシステムを tar + gz でまとめられたアーカイブファイルが格納されています.
一方で,ファームウエアが更新されるたびに,差分内容が tar + gz でまとめられたアーカイブファイルがkobo社から公開されています.
この2つのアーカイブファイルをくっつけて新たな1つのアーカイブファイルを作成し,kobo本体のものと差し替えます.
こうすることで,ファクトリーリセット時にアーカイブファイル2つ分の内容が順番にファイルシステムに展開され,1回の操作で任意のバージョンが再現できます.
ちょっと細かい手順
いちどザーッと読んでいただき「ああ,なるほど」と思う方だけ,実際にやってください.そうでない方は,もとに戻せるよう前準備してからやるか,危険なのでやめるかしましょう.
kobo本体内の以下の場所から,ファクトリーリセット時に用いられるファイルシステムのアーカイブを取得します.
- kobo上のデバイスファイル名
/dev/mmcblk0p2
- フルパスのファイル名
/upgrade/fs.tgz
さらに以下のペイジを参考に,リセット後直ちに使用開始したいバージョンのアップデートファイル(kobo-update-X.X.X.zip
)を入手します.このとき使用中のkobo本体の世代を確認し,それに合ったものを入手するよう留意します.zipファイル内に含まれているKoboRoot.tgz
を取り出しておいてください.
2つのアーカイブファイルfs.tgz
とKoboRoot.tgz
を一旦gzip伸長し,tarファイルにします.
% gunzip fs.tgz KoboRoot.tgz
これで非圧縮のtarアーカイブができます.
次にfs.tar
にKoboRoot.tar
をくっつけます.tarにはGNU tarを使ってください.
% tar --concatenate --file=fs.tar KoboRoot.tar
これでもともとあったfs.tar
の末尾にKoboRoot.tar
の内容が追加されます.
出来上がったfs.tar
をgzip圧縮します.
% gzip --best fs.tar
% mv fs.tar.gz fs.tgz
これで任意のバージョンを再現できるfs.tgz
ができます.
あとは,このfs.tgz
をkobo本体内の元あった場所に書き戻して完成です.
おわりに
基本的には殻割りしてmicroSDを取り出し,ext4が読み書きできる母艦で作業することをおすすめします.わたしはこの方法でしか作業したことがりません.
恐らくtelnetdやsshd,ftpdを有効にしたkobo本体だけでも/mnt/onboard
にマウントされるFAT32領域をワークにすれば作業は可能だと思います.
また,わたしは遭遇したことがないですが,fs.tgz
のサイズが大きくなりすぎて/dev/mmcblk0p2
に入らなくなることが考えられます.その時はgzip圧縮ではなくbzip2圧縮やxz圧縮を用いれば良いでしょう.
ただしこの場合は/dev/mmcblk0p2
の/etc/init.d/rcS
を書き換える必要があります.遭遇したことがないので変更内容は割愛しますが,要望があれば追記します.