AndroidStick(6)
復帰したのはいいのだが、なんだかbootが遅くなったような。
人間って贅沢なものだ。
それとは関係なくバックアップとリカバーを考えてみる。
もともと書き換える前にやるべきだったのだが...。
普通に考えると(普通は考えないけど)RomManagerあたりが順当に思われる。有料版ではないのではっきりとはわからないが、AndroidStickのcx-01は対象外機種のようだ。
悩んでいるよりできる方法を考える。
<バックアップの手順>
1)root化する。
http://www.pandawillforum.com/showthread.php?12688-How-To-Root-CX-01
にある。2つ方法があるが2番目の以下が簡単そう。
1 - Download the root patch: http://www.4shared.com/zip/Q-ggIAHo/Root_-_CX-01.html
2 - Un compress it
3 - Plug your cx-01 (using mini usb) to the USB from your pc
4 - it will pop up a windows an will try to install a driver, select the location were you un compressed the files and select the directory drivers
5 - The usb cx-01 driver will be installed
6 - Run the Root patch and follow the instructions.
ドライバがうまく入らない場合は、AndroidSDKのドライバにinfだけ名前を変えてCopyし、それを指定すると多分うまくいく。
busyboxが古いようなのでGooglePlayでUpDateした方がいいかもしれない。
ここまでは割りと簡単にできる。
2)NANDのバックアップ
GooglePlayから
Online Nandroid Backup * ROOT
をインストールしておく。
バックアップだけならOnline Nandroid Backup * ROOTだけでOK。
次にFAT32などでフォーマットしたUSBメモリを用意する。HUBも必要。
普通ならSDなのだが、これは入らないので。
でOnline Nandroid BackupでUSBにバックアップする。Onlineといってもクラウドではない。
3分ぐらいでバックアップできる。
アプリなども入れたい場合はAndroidAssistantなどでやはりUSBにバックアップしておく。
この場合はUSBにバックアップできないのでESファイルエクスプローラなどで移動することになる。
これも簡単。
<ファームのリカバーの手順>
実はここからがよくわからない。
1)リカバーツールでやる場合
Nandroid Manager * ROOT
これはOnline Nandroid Backup と相性はいいが、全部をリカバーするものではないらしい。
どうも「RcoverBoot」するか「Rcoverimageを入れるか」みたいなツールらしい。
clockworkmod\backup以下などに自分のBackupと似たようにして作っておくと動作はする。
ただ全部書き換えてくれるわけではなさそう。
まあアプリなので自分が消させると動作できないのはわかる。RAM上ででも動作すれば...。
実際にやってみたが、どこまでリカバーできたのかわからなかった。そもそも元は同じなわけで。
ただ「軽症」ならこれで復旧できるかもしれない。やってみる価値は大きい。
2)PCでやる場合:その1
FWDN_V7_v2.22.exeでやる。というかそれしかない。
bootの通信が生きていれば可能。cx-01にはボタンがあるが、これを押しながら挿入するとVtcDrvで接続されWinからは操作できる。
ここが生きていて、バックアップがあれば復活の道はある...と思う。
例えば
Plain Nandroid (4GB Device): http://ul.to/kfctrf1e
からbackup.tar.gzをとってきて展開するとこれは上のバックアップと似た形式になる。(これをとってくるのが一番時間がかかるかも。)
この段階でFWDN_V7_v2.22.exeで書けるのだが、この場合NANDの配置を知っていないといけない。
多分
A)cat /proc/mtd で配置を知る(走らないとわからないので事前に)
自分のマシンだが、以下のようになる。(要root+busybox)
# cat /proc/mtd
cat /proc/mtd
dev: size erasesize name
mtd0: 00a00000 00100000 "boot"
mtd1: 00500000 00100000 "kpanic"
mtd2: 12c00000 00100000 "system"
mtd3: 00400000 00100000 "splash"
mtd4: 09600000 00100000 "cache"
mtd5: 4c300000 00100000 "userdata"
mtd6: 00a00000 00100000 "recovery"
mtd7: 00100000 00100000 "misc"
mtd8: 00100000 00100000 "tcc"
B)バックアップしたonandroid.logをみると
----rwxr-x 1 2163712 May 31 07:09 .android_secure.vfat.tar
----rwxr-x 1 10485760 May 31 07:06 boot.img
----rwxr-x 1 118272 May 31 07:09 cache.yaffs2.img
----rwxr-x 1 304085760 May 31 07:09 data.yaffs2.img
----rwxr-x 1 302 May 31 07:09 nandroid.md5
----rwxr-x 1 10485760 May 31 07:06 recovery.img
----rwxr-x 1 250939392 May 31 07:07 system.yaffs2.img
などとなっているので各imgをNANDに割り付ける...のではないかと。
名前からして
dev: size erasesize name
mtd0: 00a00000 00100000 "boot" boot.img
mtd1: 00500000 00100000 "kpanic"
mtd2: 12c00000 00100000 "system" system.yaffs2.img
mtd3: 00400000 00100000 "splash"
mtd4: 09600000 00100000 "cache" cache.yaffs2.img
mtd5: 4c300000 00100000 "userdata" data.yaffs2.img
mtd6: 00a00000 00100000 "recovery" recovery.img
mtd7: 00100000 00100000 "misc"
mtd8: 00100000 00100000 "tcc"
ではないかと。
で、これをFWDN_V7_v2.22.exeで書くのだが、これも.romならぬNAND Data.faiをまず作成する。
この使い方は自分で説明すると間違があるので...
http://wm8650.com/showthread.php/51-Firmware-CX-01-Devices-ROM-with-SD-CARD
のAtai.IV-307.ROM.RARなど(多分名前で検索したほうが早い)をDLして中にあるdocを参考にしたほうがよい。(これを書いてはいけない。モデルが違うのでWiFiが動かない。)
こんな画面でやる。
でできたNAND Data.faiをlk.rom(ブートローダ)と一緒に書く...。
みたいな感じでやるのだと思うが、それでちゃんと動くのかは定かではない。(^^!
緊急事態になったらやってみることにする。
この場合はPCからUSB経由で書くことになる。
ちなみに
----rwxr-x 1 1536 Apr 26 08:28 .android_secure.vfat.tar
----rwxr-x 1 10485760 Apr 26 08:25 boot.img
----rwxr-x 1 4224 Apr 26 08:28 cache.yaffs2.img
----rwxr-x 1 202494336 Apr 26 08:28 data.yaffs2.img
----rwxr-x 1 302 Apr 26 08:29 nandroid.md5
----rwxr-x 1 10485760 Apr 26 08:25 recovery.img
----rwxr-x 1 250909824 Apr 26 08:27 system.yaffs2.img
が購入時点らしく自分のを見ると(アプリを追加で入れたもの)
----rwxr-x 1 2163712 May 31 07:09 .android_secure.vfat.tar*
----rwxr-x 1 10485760 May 31 07:06 boot.img
----rwxr-x 1 118272 May 31 07:09 cache.yaffs2.img*
----rwxr-x 1 304085760 May 31 07:09 data.yaffs2.img*
----rwxr-x 1 302 May 31 07:09 nandroid.md5
----rwxr-x 1 10485760 May 31 07:06 recovery.img
----rwxr-x 1 250939392 May 31 07:07 system.yaffs2.img
となっていた。*はサイズが違っていて、自分が入れたソフトのせいだt思われる。
次の手もあるが、リカバーはこちらのような気がする。
3)PCでやる場合:その2
これもFWDN_V7_v2.22.exeでやる。
これは.romをもってきてPCで書く。手っ取り早い。
実際にこれで動かした。
ただ、.imgを.romに変換しないといけない。
これを行うにはtccutilsでrom形式にできるらしい。
例えば
tccpack boot_new.img system_new.img recovery.img CX-01.v0.0.rom
みたいにするらしい。
もう1つmkbootimgというのがあって、これは以下になるらしい。
mkbootimg --kernel boot.img-zImage --ramdisk ramdisk_new.gz --cmdline "console=null" --base 0x80000000 --pagesize $page -o boot_new.img
みたいな。興味があれば以下に...。
http://forum.xda-developers.com/showthread.php?t=1873041
でそれはどこにあるかと言えば
https://github.com/cnxsoft/tccutils
にソースがあるので自分でコンパイルするという...。
WinのバイナリのLinkは中国サイトにあったが、変なexeが落ちてくるので断念。
mingwなどで挑戦してみるがヘッダが足りなくてうまく通らない。
それではあまりなのでLinuxのバイナリが以下にある。
http://fei-yen.jp/maya/wordpress/2010/08/30/android2-1%E7%AB%AF%E6%9C%AB%E3%82%92%E5%85%A5%E6%89%8B%EF%BC%81%EF%BC%88%E6%9B%B8%E3%81%84%E3%81%A6%E3%82%8B%E9%80%94%E4%B8%AD%E3%81%A0%E3%81%91%E3%81%A9%E5%85%AC%E9%96%8B%EF%BC%89/
ubuntuなどがあれば問題ないのかもしれない。
つまりこの方法では.romに変換するのが大変で、書くのは楽だが作るのは大変...。
.romをUPしてくれたsambartleさんが神様に思えてきた。感謝!!
(Linuxをもってない人はかなり面倒のような...。)
っていうので道筋だけしらべて中断。
コメントはありません