2011年6月18日土曜日

recovery_kitで/system /dataを元に戻す

結構いじってた私のIS01。とりあえず、
  ・boot: nvsoft殿のrecoverkit1.3
・recovery: 仙石浩明殿のhackedkernel001?
の環境まで戻しました。

再起動をかけると無事recoveryから1.6が起動してきましたが、
よく見るとwifiが動かなかったり、微妙によくわからない状態になっていました。

そこで本題。
nvsoft殿のrecovery_kit 1.3を利用して環境を元に戻そう♪

<注意>
事前に、systemとdataのフォルダをバックアップしておく必要があります。
systemやdataをまるごとtarやtgz保存です。
http://jackov.blog98.fc2.com/blog-entry-28.html

ざっと読んでみて、意味が分からない場合はやらない方が吉です。
そして、すべては自己責任です(・ω・)ノ

<手順>
1.recoverykitを起動する。

2.adb shellで接続

3.systemとdataをマウントする。
mount_system
mount_data

4.systemとdataをからっぽにする←勇気がいる
#必要そうなファイルがある場合はexitして、adb pullして退避させる。
#まぁ、影響なさそうなファイルはそのままでも平気だけれど。

<注意>rm -rf は指定したフォルダの中身をすべて消します。
/system/bin/busybox rm -rf /system2
/system/bin/busybox rm -rf /data

5.一応空になっていることを確認
/system/bin/toolbox ls /system2
/system/bin/toolbox ls /data

/system/lost+foundが消えなかったが気にしない。。
それ以外を全部削除する。

6/19追記
Devrenax殿の記事より
https://sites.google.com/site/cm4is01wiki/sosu-rom

> busybox mkdir /data/ro
> /system/bin/toolbox mount -t yaffs2 /dev/block/mtdblock7 /data/ro
> busybox rm -rf /data/ro/*
これを忘れました。。
なるほど、xrecoveryなどでformat cache partitonってこれのことだったかな。

5.いったん/adbを抜ける
exit

6.system, dataのバックアップファイルを転送する
adb push (イメージのパス+イメージ名) /data

7.解凍とか移動とかして、/system, /dataを同じ構成に戻す

本来/systemのところが、recoverykitだと/system2になってます。
そのため、以下のような感じの対応で中身を配置します。
system.tar  → /system2
data.tar   → /data

tarとかcpとかは、/system/bin/busyboxから利用可能。
コマンドオプションなどは調べてください。

解凍例: data.tarファイルを、カレントフォルダ直下に解凍する(カレントフォルダ確認:pwd)
/system/bin/busybox tar xvf data.tar

移動例:
/system/bin/busybox cp -a /data/system/* /system2

解凍後に移動する場合は、cp -aを利用して、オーナーなど変更しないよう注意が必要です。


8.祈りながら再起動する。

exit
adb reboot recovery

うまくいくと、バックアップ前の状態で起動します。
私の場合、/dataのバックアップdata.tarの中の
・/dalvik-cacheの中身
   ・/cacheの中身
   ・アプリケーションのcacheフォルダ(webとyoutubeだったか?)
を7zipで開いて削除しておいたため、
起動までに5分ぐらい「IS01」ロゴが表示された停止したようになってました。
冷や汗をかきながら待ってましたが、少し心臓に悪いです・・・。



実はIS01の2台持ちで、片方開発遊び用、片方相方のWeb閲覧用になっています。
Web閲覧用からデータを取り出して、開発遊び用に移したのですが、きれいに環境が移せました。

さて、明日はaregeなツールを入れてみようかな・・・

0 件のコメント:

コメントを投稿