Xperia X10 mini pro (Eclair)でApp2sd

割と今更なネタ。
1.6の時もやろうと思ったけど、sdカードのパーティション分割が面倒だったので。
やっとEASEUS Partition MasterのHome Editionが64bitに対応したのでやってみた。

XDAのスレッドにあったものを自分用に解釈した覚え書き。 要ROOT。
/data/appと/data/app-privateをSDカードのext2パーティションにリンクするだけなんだけど、
mountのタイミングが面倒なのだそうだ。

0.準備
これ(mount_sd.shとsh.sh)をダウンロードして、解凍後にSDカードのルートに配置しておく。

1.SDカードのパーティション分割
microSDにext2パーティーションの作成する。 方法についてはここ→XDA

キャプチャ
↑こんな感じ

3GBで作成するとクラッシュするらしく、最大1.4GBを推奨とのこと。
そんなわけで、1.0GBのext2パーティーションの作成した。

2.busyboxの配置とインストール
z4rootあたりでrootedなら、/system/binにbusybixがあると思うので、

> adb shell
$ su
# mount -o remount,rw /dev/block/mtdblock0 /system
# busybox –install -s /system/xbin

3.app2sdのインストール

# mkdir /system/sd; chmod 777 /system/sd
# mount -t ext2 -o noatime,nodiratime /dev/block//vold/179:2 /system/sd
# cp -a /data/app /system/sd/app
# cp -a /data/app-private /system/sd/app-private
# mv /data/app /data/appbak; ln -s /data/appbak /data/app
# mv /data/app-private /data/app-privatebak; ln -s /data/app-privatebak /data/app-private;
# mv /system/bin/sh /system/bin/sh_bak; cp /sdcard/sh.sh /system/bin/sh; chmod 755 /system/bin/sh
# cp /sdcard/mount_sd.sh /etc/mount_sd.sh
# chmod 644 /etc/mount_sd.sh
# sync
# reboot

以上。
再起動後に、

ls –l /data/app

としてやって、

app –> /system/sd/app

と表示されていれば成功。
アンインストールは面倒なので再Flashを推奨

XDAのapp2sdには/data/app-private が無かったけど、一応リンクの対象に追加してみた。
app-privateもリンクしてやらないとプロテクトなアプリをインストール時に失敗してしまうからだ。
たぶん、プロテクトなアプリは/data/appにzip、/data/app-privateにapkがあるのから判断して、
圧縮後のmv時にcross-device linkになって失敗してるんだろうな。

mount_sd.shに書き加えれば起動時に実行してくれるようだから、swapしてみようかな。

「Xperia X10 mini pro (Eclair)でApp2sd」への3件のフィードバック

  1. 非常に参考になりました。
    おかげさまで、xperiaにapp2sd環境を設定できました。
    ありがとうございます!

  2. うまくいかないんですけど、どこのSDカード使っていますか?

  3. ピンバック: ソニエリXperia X10 miniでApp2SDが動いたと思ったら、無限再起動ループ | 心にうつりゆくよしなしごと

コメントは受け付けていません。