xdaにて公開されていたzdzihu氏(通称マユゲさん)作のFreeX10 AlphaがSDカード上に置いたext2イメージファイルから起動していたのを見て、xRecoveryでバックアップしたイメージをSDカードに置いて同じように起動してみよう、というものです。
利点と欠点を踏まえた上であなたのスタイルに合わせて利用してください。
Special thanks to zdzihu!
- 複数のROMをまとめて持ち歩ける
- 文鎮化リスクの回避
- バックアップが容易(SD上のファイルをコピーするだけ)
- 本体FlashMemoryの延命
- system領域、data領域のサイズが変更可能
- USB接続でSDカードに書き込みできない(しないほうがよい)
- SDカードが遅いと動作がモッサリ
概要としては、xRecoveryでバックアップしたイメージはyaffs2イメージなので、ext2のイメージファイルを作成し、内容を移すだけです。
- RootedなXperia
- FreeX10 alpha付属のchargemon
- MicroSDHC (高速な物がGood.)
- あなたがsuなLinux環境
- xRecoveryでバックアップしたイメージファイル
- unyaffs
あなたのLinuxマシンで実行してください。./backup内がxRecoveryで生成したイメージとします。
mkdir temp
dd if=/dev/zero of=system.img bs=1M count=256
mkfs.ext2 system.img
mount -o loop system.img temp
cd temp
../unyaffs ../backup/system.img
cd ..
umount temp
dd if=/dev/zero of=data.img bs=1M count=512
mkfs.ext2 data.img
mount -o loop data.img temp
cd temp
../unyaffs ../backup/data.img
cd ..
umount temp
- mkfs.ext2の代わりにmke2fsでも大丈夫です。
- ddのcount数を変えればイメージサイズを可変できます。
- CustumROMだったらsystemは192くらいでも大丈夫。アプリを沢山入れたければdataを512以上取ることも可能。
- SDカードの空きと相談して決めて下さい。
- SDカードから起動したらSDカードをアンマウントできません。できたらむしろ、まずいですが。
- /cacheは本体Flashを利用しているようなので、
切り換える度に生成し直すのがもったいないです。cache.imgも用意しようか考え中。
- zdzihu氏謹製のchargemonはSDカードマウント時にオプションにutf8を付け忘れているのでSDカード上の日本語ファイル名が化けます。utf8付けておいてあげてください。
- Q: winなんですができますか?
- A: 残念ながら、auの端末には対応しておりません。
- Q: Cygwinでできませんか?
- A:パーミッションが維持されないのでできないと思います。
- Q: 実用で使えますか?
- Q: xRecoveryは使えなくなるんですか?
- A: chargemon次第です。トリプルブートもできますし、本体Flashは完全にほっといてSDカード上の独立した複数のイメージに割り当てることも可能。ヒント:シェルスクリプトの条件分けで実行されるのはif〜fiの間。
- Q: Bluetoothのペアリングが別々でめんどくさいんですが。
- A: 一つの環境で必要なデバイス全部ペアリングさせて、TitaniumでBluetoothペアリングをバックアップ、他で復元。
- Q: ドコモROMをSDから起動したらSDカードのファイルが見えないんですが。
- A: # mount -o rw,noatime,nodiratime,utf8 -t vfat /dev/blk/mmcblk0p1 /mnt/sdcard
- ramdisk.tarの内容を、通常にドコロムを起動したときのそれらからmount周りだけ修正したものに置き換るべきかもしれない。
FreeX10b1_hfx4_ext2.zip(0)
TripNRaVeR_v045_ext2.zip(1)
chargemon.txt(2) (無:本体、画面:SD、ボタン:xRecovery)
empty_ext2.zip(0) (32,64,96,128Mの空イメージ詰め合わせ)
FreeX10b2_ext2.zip(0)(不動?system小さすぎたかも^^;)