スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

A2SD&Cache2SD

OpenDesire 1.6 Pre-Release 2 がリリースされています。いくつか問題があるようで、まだ pre-release 版ですが、いくつか興味深い修正も行われています。
その一つが A2SD&Cache2SD。これは追加でインストールしたアプリと、dalvik-cache の内容を SD カード上に展開するものです。これによって、/data パーティションに余裕を持たせることが可能になります。
また、Cache2SD によって /system/app 以下が deodexing されているデメリットも無くなります。

これを有効にするには、SD カードのパーティションを切るなどの準備が必要です。もし新しい SD カードを用意するなら簡単ですが、既存の SD カードを利用する場合は、一旦 PC に SD カードの内容をコピーしてパーティションを切り直してしまったほうが簡単だと思います。
ちなみに、Windows だとリムーバブルメディアの複数パーティションに対応していなかったと思います。しかも Cache2SD 用のパーティションは ext2/3/4 のいずれかでフォーマットする必要があるので、Linux で作業した方が簡単だと思います。(ext4 については私は確認していませんが、1.6 pre-release の Whats new には ext4 が tested myself となっているので、動作はすると思います)

相変わらず前置きが長いですが、A2SD&Cache2SD を有効にするための設定です。
今回は Ubuntu 10.04 を使って作業します。
また、SD カードは一旦フォーマットし、パーティションを切り直すことにします。もし既存のデータを残したまま作業したい場合は、gparted などを使ってパーティションサイズを編集してください。

まず SD カードをカードリーダー経由で PC に接続します (もちろん、Desire に SD カードを挿入して Desire と PC を USB ケーブルで接続しても構いません)。
Ubuntu の「システム」>「システム管理」>「ディスク・ユーティリティ」を選択します。
(もし以下の手順でパーミッション関連のエラーが出る場合、ターミナルから sudo palimpsest と実行してください)
makepart-01.jpg
左ペインで「周辺機器」の下の SD カードデバイスを選択すると、上のような表示になると思います (2GB の場合)。まずは既存のパーティションを削除するために、「ドライブをフォーマット」をクリックします。スキームは「マスターブートレコード」でフォーマットします。
するとボリュームが「未割り当て領域」に変わります。
続いてボリュームの下の「パーティションを作成」をクリックします。タイプを「FAT」、サイズを A2SD や Cache2SD に割り当てる容量を差し引いた値 (256MB を割り当てたい場合は最大容量から 256MB を引いた値) を入力、名前は空欄、デバイス自体を暗号化のチェックを外し、「作成」をクリックしてパーティションを作成します。
makepart-02.jpg
ディスク・ユーティリティの画面に戻るので、「ボリューム」のバーの「未使用領域」をクリックし、「パーティションを作成」をクリックします。サイズは最大まで使い、タイプを Ext2/3/4 のいずれか、名前は空欄にして「作成」をクリックします。
最終的に、このように 1.8GB の FAT と 256MB の Ext2/3/4 のふたつのパーティションが作成出来れば完了です。
makepart-03.jpg

あとはこの SD カードを Desire に接続し、普通に起動すれば OK です。特に設定は必要なく、Ext2/3/4 のパーティションが認識されれば自動的に A2SD と Cache2SD 用に使用されます。
makepart-04.png
アプリをインストールしても、端末内部メモリはほとんど減りません。マーケットからインストールしたアプリは 50 個ほどありますが、それでも 100MB 以上残っています。ちなみに、256MB で作成したパーティションはおよそ 100MB ほど使われています。単純に考えれば、A2SD&Cache2SD をしていなければ、内部メモリは使い尽くしてしまっていたかもしれないということですね。
スポンサーサイト
Date: 2010.07.11 Category: desire  Comments (3) Trackbacks (0)

この記事へのコメント:

RJ

Date2010.07.26 (月) 00:21:25

Official Froyo HTC Sense ROMで「簡単に ext2 パーティションを作成する方法」の方法でパーティションを切って本体メモリの空き容量が120MBまで増えたのですがその後GoogleEarthなどをインストールすると本体メモリが普通に減るのですがA2SDは効いているのでしょうか?
ちなみに「ModInstallLocation」で「External」にするとGoogleEarthはエラーがでてインストールすることが出来ませんでした。
もし分かるようでしたら教えてください。

SC3WO06A

Date2010.07.26 (月) 23:57:45

本体メモリが普通に減るとのことですが、例えば Google Earth ならアプリのサイズが 22MB ほどあるので、それだけ本体メモリが減ってしまうのでしょうか?
A2SD が有効であっても一部のファイルは SD カードに移動していないため、数 MB は本体メモリを消費してしまうようです。私の環境では、現在本体メモリの残量は 85.02MB と表示されています。最初は 100MB 以上あったと思いますが、ある程度は使われてしまうようです。
もし A2SD が効いているかどうかを確認したい場合は、Desire を USB ケーブルで PC に接続し、PC から adb shell で Desire のシェルに入ります。それから
ls /system/sd/apps/
と実行して、インストールしたアプリのパッケージが表示されていれば、SD カードの ext2 パーティションにアプリがインストールされていると確認できると思います。

ModInstallLocation は、多分 Froyo 公式の App2SD 機能を制御しているのだと思います。ちょっとややこしいのですが、ext2 パーティションを作る A2SD とは異なる動作をします。そして、A2SD と App2SD は重複する機能なので、両方有効にしてしまうと問題が発生する可能性があると思います。
ですので、ext2 パーティションを作成して A2SD を有効にした場合は、ModInstallLocation は Internal か Auto にして、App2SD を使わないようにしないとダメだと思います。

RJ

Date2010.07.27 (火) 01:48:29

返信有難うございます。
Google Earthですが本体の方は約16M程減っていました。ただ「ls /system/sd/app/ 」で確認したところGoggleEarthのアプリのパッケージが入っていたのでSDの方にアプリは入っているようでした。
ずっと気になっていたので解決できて良かったです。ありがとうございました。

管理人のみ通知 :

トラックバック:


最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。