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

2011/05/05

[Android]Galaxy Tab root 化

galaxy tab を root 化したい

ディスク(?)イメージごとバックアップをとりたい。
カスタム ROM を入れたり、最終的には Android Framework 以下の部分に手を入れてみたかったり。
結論から言うと、下記ページをみながら作業するといいよ。で終了。
dynabookAZをSuperOneClick抜きでルート化する - D!
以下、作業記録。
作業記録
以下のツールで root 化できるらしい。
[APP]SuperOneClick v1.9.1 (Root, Unroot, Enable Non-Market App) - xda-developers
mono のインストールが必要なのでインストール。
sudo aptitude install mono-2.0-devel
(libmono の一部で良い気もするが面倒なので全部インストール。)
** (SuperOneClick.exe:24913): WARNING **: The following assembly referenced from /home/mikoto/Download/SuperOneClick1.9.1/SuperOneClick.exe could not be loaded:
     Assembly:   System.Windows.Forms    (assemblyref_index=2)
     Version:    2.0.0.0
     Public Key: b77a5c561934e089
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/mikoto/Download/SuperOneClick1.9.1/).


** (SuperOneClick.exe:24913): WARNING **: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.

** (SuperOneClick.exe:24913): WARNING **: Missing method EnableVisualStyles in assembly /home/mikoto/Download/SuperOneClick1.9.1/SuperOneClick.exe, type System.Windows.Forms.Application

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
...うーむ。Forms が無い?それっぽいパッケージを追加。
sudo aptitude install libmono-winforms2.0-cil
よし、動いた。
とおもいきやルート化中にフリーズ。 chmod で失敗している?エラーログも吐かないし原因不明。
下記ページを見て手動セットアップ。
dynabookAZをSuperOneClick抜きでルート化する - D!
取り合えすこれでルート化はできたので、イメージバックアップをとってみよう。