2011/05/16

[Android]Galaxy Tab のバックアップとリストア

前提条件

Galaxy Tab の root を取得していること。

カーネルイメージを転送するツール(Heimdall)の入手

Heimdall – Glass Echidna
上記ページから deb パッケージをダウンロードする。
フロントエンドは、 libqtcore4 が必要らしいのでそれもインストール
sudo aptitude install libqtcore4
sudo dpkg -i heimdall_1.1.1-1_amd64.deb heimdall-frontend_1.1.1-1_amd64.deb
squeez では libqtcore4.6 までしか提供されていない。
heimdall が依存しているのは 4.7。
一時的に aptline を sid にして対応する。
...と思ったが、qtcore4 依存のものが多くて不安になったのでフロントエンドは保留。

イメージのバックアップ

dd if=/dev/block/bml1 of=/sdcard/boot.bin bs=4096
dd if=/dev/block/bml2 of=/sdcard/pit.pit bs=4096
dd if=/dev/block/stl3 of=/sdcard/efs.rfs bs=4096
dd if=/dev/block/bml4 of=/sdcard/Sbl.bin bs=4096
dd if=/dev/block/stl6 of=/sdcard/param.lfs bs=4096
dd if=/dev/block/bml7 of=/sdcard/zImage bs=4096
dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
dd if=/dev/block/stl10 of=/sdcard/dbdata.rfs bs=4096
dd if=/dev/block/stl11 of=/sdcard/cache.rfs bs=4096
dd if=/dev/block/bml12 of=/sdcard/modem.bin bs=4096 
/data/bin/busybox tar -czvf /sdcard/data.tar.gz /data

adb pull /sdcard/param.lfs .
adb pull /sdcard/zImage .
adb pull /sdcard/factoryfs.rfs .
adb pull /sdcard/dbdata.rfs .
adb pull /sdcard/cache.rfs .
adb pull /sdcard/modem.bin .
adb pull /sdcard/efs.rfs .
adb pull /sdcard/boot.bin .
adb pull /sdcard/Sbl.bin .
adb pull /sdcard/pit.pit .
adb pull /sdcard/data.tar.gz .

バックアップのリストア

データ領域のリストア
adb push data.tar.gz /sdcard/data.tar.gz
adb shell su -c "tar -zxvf /sdcard/data.tar.gz"
その他領域のリストア
adb reboot download
heimdall flash --kernel zImage --factoryfs factoryfs.rfs --modem modem.bin --cache cache.rfs --dbdata dbdata.rfs --param param.lfs

参考文献

後で見る

カスタム ROM 作成のための足がかりになるか?
HOWTO: Unpack, Edit, and Re-Pack Boot Images - Android Wiki

0 件のコメント: