最近また手持ちの古い端末を触るのが面白くなってきました。
先日
CM11(Android 4.4.4)をXperia arcに入れたのですが、Link2SDが無料版ではデータは1GBの
内部eMMCにしか作ることが出来ないとか、細かい制約が有るので結局面戸が起きるという事。
そのせいなのかどうかは不明ですが、動作が微妙な所も有り、結局CM12.1に入れ替える事にしました。
CM12.1だとMicroSD内に切ったext4の第二パーティションは自動的に/dataに結びつけてくれる
との事だったのも大きな理由です。Link2SDが要らなくなる。
というか完全にXperia arcの問題点だったeMMCが1GB問題から解放されるという事が大きい。
というわけでどうなるのかとりあえず実験です。
Xperia arcは今触っているGXやZとは違って国内版でもBLがアンロックできる端末です。
二台あるarcの内、以前Firefox OSを入れていた一つだけアンロックしてあるのでそれに入れました。
焼いたのは
arc向けにCMをビルドして下さっている方のここで配布されているやつです。
/LX12.1_UBERTC_6.0_5.2/cm-12.1-20151213-UNOFFICIAL-LegacyXperia-anzu.zip (2015/12/13 20:36)
を焼きました。
urusiとanzuが有るので注意です。
urushiはXperia Ray(SO-03C)で別の端末なので。
焼くにはまず、Firstbootモードでboot領域をboot.imgで書き換えます。
PC側のコマンドラインで下記のように打ち込むだけですね。
>fastboot flash boot boot.img
勿論boot.imgのファイルを準備済みでなくっちゃいけませんが。
これでboot領域が書き換えられて同時にboot領域に埋め込まれているCWMも書き込まれます。
BLアンロックされている端末はこういった所が楽ちんでいいですね。
ちなみにboot.imgを書きこむ前にMicroSDに上記のCM12.1本体を転送しておかないとちょっと
面倒な事になります。やりたい方は先に転送を済ませてから始めましょうね。
準備忘れが無いか、しつこいほど確認するのがROM焼きの鉄則です。
忘れていたら後のフォローが面倒くさくなるので。
boot.imgさえ焼ければCWMを立ち上げてCM本体のzipを焼いて、5.1用のgappsも焼けば完了です。
私はopen gappsのpicoを焼いています。
電源オンで「ぶるっ」としたら、ボリュームの↓をポチポチしていたらCWMが立ち上がります。
MicroSDからzipを選んで二つをインストール後、ブート後にアプリ等のプリコンパイルが入ります。
5分ぐらい(適当w)したら無事CM12.1が立ち上がりました。

Androidセキュリティーパッチレベルが2015/12/1でかなり新しいです。
GX用が2015/12/29のソースコードですが、セキュリティーパッチ的には同じ12/1のものです。
というわけで、当然安全な状態になりました。
左はCM12.1(Android 5.1.1)で、右は先まで入れていたCM11(Android 4.4.4)の時のです。

そんなわけで各ブラウザでのStageflightのサイトでのチェックはこんな感じです。

全部パスして安全になりました。
SO-01Cは2011年3月24日発売で、Android 2.3.2 → 2.3.3 → 2.3.4とバージョンアップされ、
4.0 ICSはリリースされなかったAndroid 2.3で終了した端末です。
プロセッサはSnapdragon MSM8255 1GHzのシングルコア。
クロックアップ耐性が強く、1.7GHz辺りまでクロックを上げている人もいるようです。
私は1.2GHz程度で使っていますけど。CM12.1だと1.4GHzまで上げられますね。
クロックアップした分、CPUへ供給する電圧を下げていますのでバッテリーの持ちは変わらず。
その時期のiPhoneの状況は、4が2010年6月24日発売で4Sが2011年10月14日発売でarcは
丁度その間に発売されました。4sはiOS9が来ていますが4はiOS 7.1.2でサポートが終了しており、
iPhone 4が売られている時期に発売されたXperia arcが最新に近いというか、現行の製品に
主力で搭載されている5.1.1までアップされた事はすごい事だと思います。
ではarc向けのCM12.1の何がスゴイかというと、arcの内蔵eMMCが1GBしかないので、
Linuxカーネルやらアプリやら/data以下アプリ関係で使う全てのストレージメモリが
1GBで賄われており、アプリ向けが400MB程度しかなかった事。その問題を解決しました。
このストレージの狭さがarcの使い勝手の悪さに繋がり、この端末の寿命を極端に短くしました。
それをCM12.1ではMicroSDカードに第二パーティションを切り、ext4でフォーマットしていれば、
自動的にそこに/dataを割り当てる事でストレージ問題を解決しています。
私はたまたまGXの内蔵ストレージで似た様な事をするのを思いついて無駄なあがきをして
いましたが、arcでは既にそれを解決してビルドしたROMがリリースされていた事に驚きました。
インストールしたarcのCM12.1を触ってみると、確かに快適。
利用してるMicroSDでは内蔵eMMCよりも遅いと思われますので、動作の足を引っ張るかなと
思いましたが、それよりもストレージの狭さで整理が頻繁に入るマイナスが無くなったので、
その快適性のメリットの方が遥かに大きく、アクセスの速度差は大して問題になりません。
もちろん最低Class 10のカードを使うぐらいは必要ですが、それ以下のカードを持っている
人の方が少ないでしょう。
これ完全にarcのストレージ1GB関連の問題を克服しちゃいましたね。
もしかして実用レベルに届いてしまったかもしれません。
でもそんなに簡単に全ての問題が解決したとは言えません。
ストレージ問題が終わってやってきたのはRAM問題。
arcの搭載RAM容量は512MBです。
ここにカーネルやHALが載り、その上にAndroid OSが走っています。
DalvikでしたらRAMはそう食わないのですが、ARTは結構RAM食いです。
私の普段のアプリのセットを入れていくと、RAMの空が100MBを切りました。
さすがにここ迄RAMの空が減ると頻繁にガーベージコレクションが起こって
操作がかなり不快になります。困るのが検索などで文字入力しようとして
IMEが立ち上がったり、設定画面やIDの登録で次々と画面が開く場合。
これ結構RAMを食う作業です。
普段の操作は問題なくてもこういった新しいウインドウが上にかぶせて開いたり、
それを別のアプリで行うので、アプリを呼び出したりするときに動作が固まってしまいます。
というわけで実用になるようにシェイプアップ作戦。
CM12.1のAndroid 5.1.1はarcのシングルコアでも十分に軽く扱えます。
その状態から動作を劣化している要因を排除するのが目的です。
それにはWEBアプリを生かせという事で、意外とメモリを食うGmailやその他ウェブアプリ化
されているものでそこそこ巨大なものをChromeブラウザで開き、アプリをそのChromeで
開いたショートカットに置き換えます。
つまりはFirefox OSのような使い方にするという事です。
Firefox OSは一部ウェブアプリが一つのファイルになっていて端末にダウンロードして
オフラインでも使えましたが、私の方法ではそれは出来ません。
でもまあ電波が無い場所で使う事もないでしょう。
それをやって巨大アプリを排除すると動きが途端に軽くなりました。
特にプッシュ通知を受け取る為にメモリに常駐するアプリが意外と多く、それが溜まると
RAMの空が減少します。なのでRAMの少ない端末ではこの通知するアプリをどれだけ
メモリから排除するかがRAM不足を解消して快適化できるかの決め手になります。
他の古いAndroid端末でも使えると思いますが、恐らく古いiPhoneでも使える手法でしょう。
アプリのウェブ化は意外と使えます。Googleマップもウェブ化してもそこそこ使えました。
ただGoogleマップはプッシュ通知がないのでウェブ化するメリットは余りありませんが。
アプリをウェブ化する時の注意点として、利用するブラウザのセキュリティーに気をつける
必要が有ります。Android 5.1.1でその上で動いているChromeなので、その点については
全く問題なし。ブラウザが更新されたら更新を怠りさえしなければ今後も問題ないと思います。
古い端末でもここまで出来るんだという事でXperia arcをちょっと見直しました。
が、テスト用のAndroid 4.4の環境が無くなったのはちょっと残念です。
現在どう考えても古いarcが5.1.1、GXが6.0.1、その中ではまだ新しい方に入るZが4.4.2と
いうおかしな状況です。Zは赤星氏により5.1.1のCM12.1がリリースされたのでこれも
近々書き換えることになります。(
その件は別記事で)
他にも古い端末が有り、4.0.4や2.3.7なんかも残っていますが、JellyBeanやKitKatが無いのが痛い。
旧OSでは一番実用レベルでしたからね。
でもまあ5.1.1が新OSでは息の長くなるものと思われますので、旧端末がこのラインまで
来れるという事は大きいと思います。本来こういった事はキャリアやメーカーが道筋を
引くべきなんですが、どうも目先の商売ばかりに目を向け、買い捨て指向に端末の利用を
方向づけてしまったのが問題だと思います。
そんな事をしてユーザーは信頼感を失ったまま手元にある端末を使い続けている状況です。
自分で出来る人は私のように古い端末を再生して使っていますし。
これがメーカー自身により、ある程度の事をやってくれていれば、結局は端末を買う数が減少して
いても、そのメーカーやキャリアへの信頼感は今の状況とは全く違うものになったと思います。
どうせ販売数が下がるなら、ユーザーの支持を売れていた時期にどれだけ作っていたかが
飽和した時代に生き抜けるかの違いを生み出すのだろうと思います。
今販売が下がり苦しんでいるメーカーやキャリアは、売れていた時期に何をしていたのか、
よく思い出すといいと思います。どうせ私達のような人はこうして端末再生を行うのですから。
- 2016/01/15(金) 19:57:53|
- Android
-
| トラックバック:0
-
| コメント:0
昨日記事にしたSO-02Eを手に入れて触っている件についてです。
まだ数日しか触っていませんが、何となく見えてきた所が有るので記事にします。
普段からここを読んでいる方には今更ですが、念の為に比較環境を書いておきます。
検索で飛んでこられる方もおられますし。
ちなみにえらく古い機種を使っていますが、この記事は2016年の1月の記事ですから誤解の無きよう。
【SO-04D】
CM13 (Android 6.0.1_r3 2015/12/26リリース)
Snapdragon S4 PlusMSM8960 1.5GHz (Krait×2コア)
RAM 1GB / Dual-channel 500 MHz LPDDR2
eMMC 16GB Version 4.41 100MB/s(DRモード)
【SO-02E(ドコモ標準状態)】
Android 4.4.2
Snapdragon S4 Pro APQ8064 1.5GHz (Krait×
4コア)
RAM 2GB / Dual-channel
533 MHz LPDDR2
eMMC 16GB Versionは4.5
200MB/s(HS200モード)まずはセキュリティーについてチェック。
■SO-02E(Android 4.4.2 [ドコモ標準状態])
 | ■SO-04D(CM13/Android 6.0.1_r3 [2005/12/26])
 |
今一番ポピュラーになっている、間のAndroid 5.xが無いのがアレですが、とりあえずこんな感じ。
Android 4.4.2の方はもう壊滅的ですね。ちなみに初めは4.1.2が入っており、それでチェックしても
このアプリでは同じ結果になりました。補足情報。
では実際にブラウザにどう反映されているのか。


上のSO-04D + Android 6.0.1はどこからどう見ても完璧です。
Android OS内部のWebViewを利用する場合も、Chromeの機能を利用する場合も、
オールオッケーの安全状態です。
ちなみに前二つがChromeの機能を利用して表示しているもので、後ろ二つがWebViewを
利用して表示するものです。なので、古いAndroid OSでもChromeさえ動けばChromeとそれを
利用するChromerでブラウジングする場合には最新のセキュリティーでガードされています。
上記の結果からもそれが良く分かると思います。
Chromeがセキュリティーのカギという訳ですね。
ちなみにChromerはChromeのカスタムタブを利用するブラウザで、基本的にウェブの表示機能は
Chromeそのまんまです。機能が少ない分軽いです。ぱっぱと表示されるので、ちょっと開いて
すぐ閉じる分にはChromerを私は使っています。
先日の記事でChromerがv1.4でプリフェッチに対応したという事で、「無駄読み」が発生するんじゃないの?
ってツッコミをコメ欄で頂きましたが「先読みをWiFiオンリーに限る」設定が有るので、モバイル回線
時に無駄アクセスをする事を防げますので問題ないです。
とりあえずWEBのセキュリティー関係はこんな感じ。
Android 4.4.2での結果は今一つですが、回避策も有るという事で。
では上記のコンピュータ部の性能差がどう響くのか。
実際の動作で確認出来てきました。
分かり易くて初めに気付いたのはTwitterの標準クライアントを使っていた時です。
Zの方が明らかに重いです。
最近色んなコンテンツがツイートされており、画像等もよく張られています。
そういうのをどんどんスクロールしていくと、Zの方は明らかに重い。
コンテンツ類が多く張られていると操作感がちょっと不快な感じ。
※ZでのTwitterの話は裏で何かが動いていたみたいで、
後でやったら不快な程重いという程では有りませんでした。
スクロールのスムーズさではGXの方が上で、Zはちょっと引っかかりがあるという感じです。
一方6.0.1のGXの方は軽い。
すっすっとスクロールしていきます。
これがARTとDalvik VMの違いです。
その差がモロに出ましたって感じです。
RAMの速度もストレージの速度もZの方が速く、容量も大きいのですが、しかしARTと
Dalvikの違いはこういう所で効いてきます。
ただしガンガンと使っている時、アプリの切り替えなどを頻発するような状況では、
さすがにRAMも多くてオンメモリ状態で作業が出来、しかもストレージにアクセスを
してもGXの倍の速度のZの方が快適です。
アプリをどんどん切り替える場合、Zの方が圧倒的に有利です。
つまり大量のメモリを一気に扱う状況が発生した時はZの方が有利になります。
RAMやストレージへのアクセスがある程度の範囲に収まり、演算量が増える
状況の時はGXの方が有利と分かり易い結果になったと思います。
これは古い端末での比較なので分かり易く顕著に出てくれましたが、基本的には
最新の端末でも同じ事が起こります。RAMが足りなければそこでストレージアクセスが
入るのでそれでウエイトが発生しますし、演算が必要な時は演算が得意なプロセッサが
速かったりします。しかしその端末が必ずしもRAMやストレージへのアクセスが速いとは
限りません。
また別の例ですが、例えばiPhoneはカクツキが無くスムーズなスクロールなどをする
とかいう方もいますが、例えばiPhoneのウェブブラウザでのスクロールはとても遅いです。
ウェブブラウザはとにかく大量のメモリへのアクセスが必要なので、速いスクロールを
許可すると、そのアクセスが間に合わなくなりカクツキが発生しやすくなります。
なのでそれを隠す為にiOSのブラウザは基本的にはスクロールに強いブレーキを掛ける
ようにして表示が乱れるのを防ぐようにしてあります。何が得意で何が不得意なのか、
それをよく研究した結果だと思います。
とりあえず現状での手持ちのGXとZの比較は上記のとおりです。
Zはしばらくはサブ端末として純正状態で堪能した後、色々遊びたいなと思っています。
セキュリティーもChrome関連を使っている限りは特に問題なさそうですし。
- 2016/01/13(水) 00:29:11|
- Android
-
| トラックバック:0
-
| コメント:2
私はずっとXperia GX(SO-04D)を使ってきました。
Android 6.0 MashmallowもCM13という形で使えますし、約3年半前の端末と思うと出来過ぎな位。
新しいOSに書き換えると買った当時から考えられない位快適になりました。
特にANdroid 6.0.1で2015年12月26日版の最新6.0.1_r3リビジョンのソースコードを利用出来て
いるので、6.0.1の中でも超最新の月次リリースのMashmallowを利用できています。
これはAndroidやiOS、WindowsPhoneを通しても珍しい位の超最短リリースです。
GXのような古い端末に。
この環境はスマホ界でもごく一部の方しか得られない環境だと思います。
またビルドだけでなく、Xperia GXのAndroid 4.1.2用のストックカーネルに向けての移植まで
して下さっている赤星氏には頭が下がるばかりです。
ただこうした最高の環境を幾ら整えていてもXperia GXが永遠に使えるわけでは有りません。
というわけで次の端末に手を出すことにしました。
私としては次もXperiaを買うという前提なら、Z5C、Z3C、A辺りが候補に挙がります。
歴代の国内向け4.6インチ端末ですね。
実際そのラインで探していました。
Z3CとAはロムを書き換える事が視野に入っています。
特にZ3Cは現在の状況では最終的な最高環境と言えるでしょう。
人気も高く、白ロムも価格が高騰しているぐらいです。
Z5Cは順当にMashmallowがドコモ純正で降って来る事がほぼ確定しているので候補になっています。
選択の基準はMashmallowにリーチ出来るかどうかとなっています。
Lolipopも5.1.1なら問題ありませんが、出来たらMashmallowまで届かせたいという所が希望です。
というわけだったのですが、衝動買いで端末を買ってしまいました。
何を買ったのかというとXperia Z(SO-02E)です。
Z3CでもAでもなく、5.0インチのZです。なんとAよりも古い。
ドコモ純正では4.1.2 JBが載っていたGX発売から一年も経っていない端末をわざわざ選んでしまいました。
実は赤星氏が次の本命をAよりもZに置いているという事で、Aとの仕様の違いをじっくり検討していました。
するとAとZはわずか5gしか重量が違いません。
横幅はAが67mmとZが71mmで4mm差、これは如何ともしがたい程Zが大き過ぎて不利。
しかし厚さはAが10.5mmとZが7.9mmで約3mm近い差が有り、これである程度のマイナスが取り返せてしまう。
ランナーとして、ウエストポーチにギリギリ入れている時の事をどうしても前提に考えてしまいます。
そう考えるとAとZの根本的な差はそう大きくないと思い、赤星氏が今後手を付ける可能性が高い
Zを選ぶ方がいいかなという結論に至りました。
Zの方がバッテリー交換も出来ず、Xperiaのアイデンティティーであるカメラのシャッターボタンも有りません。
しかし電源ボタンも含めると、Z4迄のXperia Zシリーズ特有のデザインで如何にもXperiaという形でもあるので、
まあいいかというところでは有ります。バッテリーの交換不可は心残りですが。
後バッテリーが外せない機種としての不安はハードウエアリセット。
しかしこれはSIMの挿入口にカットスイッチが有るという事で納得。
Zを買った時にオレンジ色のダミーSIMカードが付いていますが、それの奥側にでっぱりが有り、
それがSIMスロット奥のスイッチを押すようになっています。
別にダミーSIMで無くとも細いもので押す事も出来ますが、SIMスロットの奥を押すのはなかなか
難しい作業なので、ダミーSIMが有れば簡単にハードウエアリセットがかけられます。
これでバッテリーを外せない問題の9割は私的には解決しました。
その内不要なカードかプラ版でも使ってダミーSIMもどき等も自作しようかと考えています。
今後ROMを焼くつもりですから、ハードウエアリセットが出来なければ詰んでしまうようなケースも
あるでしょう。事実GXでバッテリーを外す事は安定版のCMを焼く時以外には意外とあります。
安定し始めるまではやっぱりハードウエアでリセットがかけられるのは必須です。
安定すれば電源+↑のソフトウエアリセットで十分ですけど。
AとZは共にSnapdragon S4 Pro APQ8064 1.5GHz(Krait×4コア)で同じプロセッサ。
端末のコンピュータ部分的には兄弟機種です。
画面のサイズは違えど、基本的なコンピュータとしてはほぼ同じハードです。
同じコンピューター部に、他の仕様がちょっと違うだけという状況にどうするのか本当に迷いました。
Aはよく売れたので150万台は市場に投下されていると思われます。
そのぐらいガツンと売れました。
なのでユーザーベースの大きいし、端末の弾も多い。
それなのに中古価格はそれ程下がらない程の人気が未だに有ります。
やっぱりこっちの方が色々有望。
Zは発売時に一気に売切れたとは言え、元々の供給量がAとは比べ物にならない程少ないと思われます。
元からドコモが売れる数を読み違えて売り切れてしまった感が強いです。
ツートップ戦略が有るので一か月前には在庫は枯渇し、増産はされなかったように思います。
しかしそれでもZは押しも押されぬZシリーズのグローバル機種として君臨しています。
Aもグローバル機種としてはZRが有りますが、メジャーな花形のZと比べると今一つ陰の存在に感じます。
国内だけを見ると圧倒的にAなのですが、Zでもいいかなと思ったのはこういう事情もあります。
そういう訳で、ここ最近Xperia Zをちょこちょこと触っています。
やはりGXと比べると速い所と遅い所の二つが有ります。
また先代のXperia GXとのコンピュータ部分の違いは以下の通り。
【SO-04D】
Snapdragon S4 PlusMSM8960 1.5GHz (Krait×2コア)
RAM 1GB / Dual-channel 500 MHz LPDDR2
eMMC 16GB Version 4.41 100MB/s(DRモード)
【SO-02E】
Snapdragon S4 Pro APQ8064 1.5GHz (Krait×
4コア)
RAM 2GB / Dual-channel
533 MHz LPDDR2
eMMC 16GB Versionは4.5
200MB/s(HS200モード)RAMはZの方が少し速い、500 MHと533 MHの差ですが。
しかし1GBと2GBの違いはとんでもなく大きな差を生んでいます。
それがeMMCの差です。
eMMCはZの方が倍の速さが有ります。
RAMが2GBでスワップが少ない上に、そのスワップする先のeMMCが倍の速さが有ります。
頻繁にアクセスが入るデータベースやキャッシュもeMMCなので倍の速さが強烈に効きます。
Aも基本的にはZと同じ仕様です。
このおかげでアプリをドカンと立ち上げたり、タスクを頻繁に切り替える作業ではZはGXに
比べて圧倒的な快適性を示します。それはZ以降のZ3やZ5でもそれぞれの世代のメモリの
おかげで同様の効果が得られています。Xperiaに限らず、Android端末が急激に快適に
なったのは、CPUやGPUのプロセッサの性能向上も有りますが、基本的にはこのメモリ環境の
向上という所が非常に大きく関与しています。
これのおかげでAndroid端末はiPhoneに劣らない、または超える快適性を確立したのです。
このように一定のボーダーを超えれば逆にAndroid OSの柔軟性が生きてきます。
仮想マシンによるロスが隠匿される性能に達すれば、メリットが目立ち始めるわけです。
またRAMの搭載容量もZの前まではユーザー側が気にしていないとボーダーにかかってしまう
ことも有る1GBでしたが、Z以降は余裕が出来る2GB有ります。機種によっては2GBだと
キャリアアプリが下手にメモリを圧迫している場合も有りますが、それをきちんと掃除さえ
すれば基本的にはAndroid 5.0以降でも十分余裕が出来るメモリサイズです。
3GB有ればなお完璧ですけど。
それ以上は画面の解像度とのバランスの取り合いになっていきます。
当然解像度が上がれば必要な搭載メモリも上がります。
こうしてRAMとeMMCの速度や容量がGXからZに変わる事で必要最低限から十分と
言える所に変わりました。この部分に於いてはZは間違いなく快適で速いです。
しかしながらGXの方が速い部分もあります。
それはVMがDalvikのZと、ARTが載っているGXの違いです。
CPU的には同じKraitコアが載っていて、共に1.5GHzで2コアと4コアの違いだけです。
なのでシングルコア当りのトップスピードは互角ですので何となく快適さの違いが見えてきます。
VM上でのCPU演算が絡むとどうしてもAndroid 6.0が載っていてARTが使えるGXの方が速いです。
Zはもっさりとは言いませんが、このおかげでGXには確実に敵わない部分が有ります。
この違いを実感して、ZにLollipopやMashmallowが載った時が楽しみになっています。
Z5Cを買っていれば間違いなく快適な状況になったのですが、ここでまた中途半端に
沼に自ら入っていくのかと、自分でも不思議な位の選択です。
CM13がダメになったら海外版のLollipopのROMでも焼いてZの余生を過ごさせようと思っています。
今手元に有るZは4.1.2が載った状態でやってきました。
現在はドコモ版の最新である4.4.2にバージョンを上げて有ります。
まだ要らないアプリを削除しただけの純正状態を保っています。
これだけでも十分快適なのですが、それでもMicroSDでちょっと不便な4.4なので、
このまま使いたいとも思えません。やっぱり最低Lollipopでないと・・・。
とりあえずはGXと併用しながら、今後の流れを見守りたいと思っています。
- 2016/01/12(火) 03:04:50|
- Android
-
| トラックバック:0
-
| コメント:2
CM12.1やCM13の新しいバージョンがリリースされていないのかなと何気に154氏のブログを覗いてみました。
するとなんかめちゃくちゃ私が欲しい所のタイムリーな情報の記事が書かれていてビックリ。
ていうか、最後にうちの記事がリンクされているじゃないですか。
どうやらうちの記事の話題を広げて下さったみたいです。
THE MIDDLE OF NOWHERE / 辺境の憩い (154(赤星)氏ブログ)
Androidのストレージ領域の取り扱いについて(Adoptable Storageとは)
Xperia GXの/dataをSDCardパーティションへマウントする
ブログでは154氏は赤星(redstar)氏と名乗っておられます。リンクしても良かったのかちょっと
悩むところでしたが、どっちにしろブログを立ち上げているからにはGoogle様が隠れる事は
許さないと思いますので思い切ってリンクさせて頂きました。
当ブログの
キッカケになった記事ではXperia GXの2GBしかないアプリ領域(Userdata[/data])の
パーティションが2GBしかなく、折角の項環境を生かす事が出来ないのを嘆いていました。
それを何とかすべく、内蔵のeMMCメモリをどう生かすのかという事を記事にしていました。
具体的にはアプリ領域等として使われている/dataのUserdata(2GB)のパーティションを
sdcard0(11.1GB)にmountし直してはどうかという内容でした。
mountされているリストを上げたりして実際どうするべきかなとかぶつぶつと独り言的に
検討していたわけですが、そこに赤星氏は知識を与えてくれました。
fstabに関してや、内部的なパーティションの切られ方の解説が有りました。
devを一通りは見渡していたので赤星氏の解説を読みながら「あー、なるほどー」と納得することしきり。
Blockが15まで有ったのはそういう事だったのか・・・等と勉強になりました。
◎で、やってみたというわけで、とりあえずヒントをもらったので実践。
赤星氏も指摘してた通り、/dataをごっそりとUserdataからsdcardに移すのは、いろんな面でリスクが高い。
手間のコストも馬鹿にならない。
なので方法を見直します。
/dataを11.1GBのsdcardへ移すのは、色んな意味での問題の根本解決になり、理想の形では有ります。
Android 6.0以降も踏まえると最高の形だと私も考えて「そうするべきだ」と思って絞り出した苦肉の策でした。
しかし互換性と作業量を考えて、もっと簡単な方法はないかなということで・・・。
/dataをUserdataから移動しないのが一番安全という事で落ち着きました。
容量が大きくて移しても問題が起こりにくいものをsdcardへ移そうという事で仕切り直し。
炙り出したのは/data/dalvik-cacheと/data/dataの二つ。
/data/dataはアプリの設定等を保持しているところであり、最近のアプリではこれが
肥大化の傾向が有ります。私のGXの環境では現在9700ファイルで512MB程。
/data/dalvik-cacheはアプリのプログラムを解析した実行ファイル関連のものが
収められています。これはユーザーアプリだけでなく、システムアプリ等もここに全部
入りますので巨大です。私の環境では350ファイルで850MB程有りました。
合計1.3GB程度が2GBのパーティションを食い散らかしており、実際にはアプリは
0.5GB程度しか入れる事が出来ていません。空は0.2GB程度、これ以下になってくると
Userdataパーティションの頻繁な整理(?)が発生し、アプリの動作が非常に重くなります。
それさえ起こらなければ普通に使えるのに、その状態に陥ると、有り得ないぐらい
アプリの動作が重くなります。特にアプリの切り替え時にものすごい時間がかかる
ようになっていきます。
というわけで/data/dalvik-cacheと/data/dataをシンボリックリンクでsdcardパーティション
へと飛ばしてみました。まずはdalvik-cacheで試してみました。
が、あれこれやってみてもうまく動かない。
adb shellを叩き、旧dalvik-cacheをdalvrik-cache2へとリネーム、sdcardにUserdataと
いうフォルダを掘り、その中にdataとdalvik-casheを作ってシンボリックリンクで繋いで
やれば動くだろうという算段でした。
とりあえずadb shellで手動で作業してESファイルエクスプローラーで確認知てみると
見た目的には問題なし。しかし再起動をしてみると30分経っても立ち上がって来ない。
TWRPで確認するとさっき作ったシンボリックリンクがフォルダではなく、ファイルに
なってる・・・。なんかようわからんです。ESから見るとフォルダに見えるのに。
仕方ないのでmountでする事にしました。
色々見ているとrootにfstabとfstab.qcomというファイルを発見。
しかしそのどちらのファイルも再起動をするとさっきと同じ内容が上書きされ、
私が書いた設定は消えて無くなってしまいました。
ならばとTWRPを立ち上げetcフォルダの中にあるfstabを変更してみました。
しかしこれも先と同じ、上書きされて消えてしまいます。
万事休す、妙案を思いついたはいいのですが、実行段階で挫折中です。
bootさせないでadb shellからの手動変更だけならmountもシンボリックリンクも
成功してはいるのですけどね。bootが絡むとどうも難しいなと。
とりあえず現状で出来る所まではやってみました。
これが完成したらGXもかなり良くなりそうな気がするだけに勿体ないです。
一時はこれで問題がほぼ全て解決すると思っていただけに悔しい。
どうせなら本家に・・・ということで、dataとdalvik-casheをsdcardに振り向けた
バージョンのCM12.1をビルドして頂けたらとっても嬉しいのですが・・・。
いや、完全にdataをsdcardに振り向けるバージョンでも大歓迎です。
- 2015/11/19(木) 19:32:04|
- Android
-
| トラックバック:0
-
| コメント:2
今週の12日の木曜に、#Xperiaアンバサダーミーティング に参加するので、それ以降は
暫くXpria GXの電源を切って触らなくなってしまうので、先日のROMを書き替えて以降の
使用感などを今のうちに書いておきます。
最近行った私の端末の改造(?)
当ブログ記事
Nexus 6向けのLMY48WベースのAndroid 5.1.1から作成されているCM12.1を入れて使っています。
海外TX向けの4.3から作成したprerootedを焼いてrootを取り、販売状態ではOFFに設定されて
いたMSM8960内に組み込まれているGen8AのIZatをONにしました。(build.propの編集)
お蔭でちょっと重めだったアプリの動作もAndroid 5.1.1になったおかげでARTの効果でサクサクに
なり、穴だらけだったAndroid 4.1.2から5.1.1へ移行できたので既知のセキュリティーホールが
全部塞がって安全になりました。Chromeも最新版を入れているのでカスタムタブでも最新版の
セキュリティーへリーチできました。
当面は言う事がない状況になりましたね。しばらく触ってみてもその意見は変わりませんでした。
OSのレベルでは事実上この冬端末を買ったのと同じような状態までいけましたから。
プラスして思い付きで設定したIZatでしたが、本当にこの効き目はすごかったです。
しかし3年前の端末だけに全方面で文句の付けどころがないわけでもなく、メモリ関係にはちょっと苦戦
しています。アプリ領域のパーティションが2GBで切られているので、これが全ての問題の元凶です。
ここはOSのスワップ領域にも使われているので、ここの空き容量が無くなってくると、いきなり端末が
固まったように動作が遅くなります。昔から入れているアプリはそう大して増えていないのに、
バージョンアップを繰り返すごとにアプリは肥大化を続けてきました。
しかも長年使っているとデータもゴミだらけになって肥大化し、二重苦で2GBしかないパーティションを
食い荒らしてくれます。なので定期的なお掃除が必須で、それをESファイルエクスプローラー等の
ファィラーでキャッシュ類を小まめにクリアしています。
本当の所を言えばデータ領域の10GBのパーティションとアプリ領域を一つのパーティションに
まとめて12GBの一つにしたい所です。でも内蔵メモリのパーティションの切り直しは無理っぽいので、
アプリ用の2GBのパーティションとLinuxの論理ボリュームマネージャ(LVM)で一つにまとめるとか、
それが面倒なら、2GBのパーティションは無かった事にして10GBのパーティションだけで全てを
賄うようにして、保存するデータは外部のMicroSDだけで運用するようにするとか、そういった
運用が出来るようにしたいと考えています。
例えば/dataのパスを全部10GBのパーティションへ向けるとか、出来ると思うのですけどね。
ARTになって/data/dalvik-chacheがやたらと膨らんだのは間違いないです。
なのでこれだけ2GBのパーティションを使って他で10GBのを使うのがベストですかね。
まあこの辺の微調整は色々と考えられます。
CPUに関しては折角rootが取れているのでクロックダウンをしています。
1.5GHzのMSM8960を1.2GHzまで落としています。
ゲームとか特に重いこともしないので、CPUパワーは必要ないんです。
メモリとバススピードだけ十分に有ればいいのでそのバランスがいい所が1.2GHz辺りと
いう事でこのクロックに設定しています。クロックダウンの目的はバッテリーの持ちをよくする為です。
結構効きますよ、クロックダウン。体感パフォーマンスも落ちはほとんど感じません。
CM11を入れたXperia arcの方は結局はLink2SDを入れてメモリ不足を乗り越えました。
それはそれでなかなか使える状態です。逆に過熱状態で速度が低下したZ4よりもはるかに快適です。
やっぱりうまく調整出来た端末は使っていても気持ちがいいです。
逆に販売されている状態の端末が、どれだけ有り得ない状態で売られているのかを
実感する事でも有るんですよね。悲しい程に。
でも、GXには可能ならLink2SDは入れたくない。
Link2SDを入れるとMicroSDを別のメモリと差し替えられなくなるので、出来たら
内蔵のeMMCメモリで何とかやりくりしたい。現実に余っているんだし。
Android側の設定で行うべきか、Linuxカーネル側の設定で行うべきか、まだ方針も方法も
決まっては無いですが、カーネル側でmountの設定をいじるのが一番現実的かな?
そこでmountでリストを取ってみたらその一部に以下のような感じの所が有ったので
恐らくこれをいじるんだろうなーって思うのですけど、下手に弄って文鎮化したら嫌だしね。
もうちょっとよく調べてから実行したいと思っています。
/dev/block/platform/msm_sdcc.1/by-name/System /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/Cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/Userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,data=ordered 0 0
/dev/block/vold/179:15 /mnt/media_rw/sdcard0 ext4 rw,dirsync,context=u:object_r:sdcard_posix:s0,nosuid,nodev,noexec,noatime,data=ordered 0 0
/dev/block/vold/179:15 /mnt/secure/asec ext4 rw,dirsync,context=u:object_r:sdcard_posix:s0,nosuid,nodev,noexec,noatime,data=ordered 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/vold/179:33 /mnt/media_rw/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0/dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/media_rw/sdcard0/.android_secure vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=00
20,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dataの中身を全部10GBのボリュームにコピーした後に、mountの
/dev/block/platform/msm_sdcc.1/by-name/Userdata /data
↓
/dev/block/vold/179:15 /data
にするだけでいいのかな?
何か安直すぎてコワイ・・・(;´∀`)
まあ/data/dataの中身を10GBのボリュームに移すだけでもいいんだけどね。
それだけでもかなり2GB側のボリュームに空きが出来るし。
それって現状の上に重ねて
/dev/block/vold/179:15 /data/data
って定義するだけでいいのでしょうかね?
それでもいい気がしなくもないけど、実際やった時の挙動が分からんのでやるのが怖い・・・。
それとこのmountの情報の定義がどこにも見当たらんのだけど、/etc/fstabも無いし。
もしかしてこれってコマンドラインで送ったものを、不揮発メモリで覚えている系みたいに
なってるのでしょうかね、ようわからんです。
とりあえず試しに
# mount -w -t vfat /dev/block/vold/179:33 /mnt/media_rw/sdsd1
とかやってみたら当然ですが普通にmount出来てmicroSDカードがファイラーで読み書き出来ました。
でも再起動してみたら跡形もなくなっているので、やっぱり不揮発メモリ説は無し。
/etc/fstab相当を探さないといけない模様・・・無い。
リカバリーモードだと見えるとか見えないとかなんとかかんとかげふんげふん(-_-;)
ついでですが..../sdsd1に/dataフォルダのマウントもやってみたら成功しています。
後は定義場所を見つけて既存のアロケートと入れ替えるだけですなぁ・・・危険が危ないw
そう言えばarcでLink2SDを使うに当たって、32GBのMicroSDHCのメモリをWindows上の
パーティションツール(EaseUS Partition Master)でパーティションの切り直しを行って
いたのですが、何かをミスして認識しなくなったんです。
Xperia arc上のCWMやCM11でも認識しなくなったので、そのメモリは捨てるしかないと
思いながらも最後の希でGXに挿したらなんとVFATのパーティションを認識しました。
速攻初期化をすると32GBの容量が戻ってきました。
でTWRPやCWMにもパーティションの切り直しの機能が有ると知りまして、そこで
パーティションを切り直したら見事Link2SDの第二パーティションとして認識できました。
TWRPのパーティションの切り直し機能便利ですね。CWMは4GBまでしか設定できない
のですが、TWRPは128MB区切りで好きなだけ設定できるので8GB分を割きました。
そんなにアプリ入れないけど。
最後に。
一時は捨てるしかないなと思っていたGXが、CM12.1が動き始めて格段に使える端末に
なってしまったので、ご褒美に保護フィルムの張り直しを行いました。
エレコムのPD-SOX8FLAという反射防止の保護フィルムなのですが、これが思いの他使い勝手がいい。
これを選んだのは、古い端末で余り選択肢がなかったので、選べる中で一番ましそうだったので、
消去法でこれになっただけです。
今迄のはメーカーは覚えてません・・・ラスタバナナだったかも?
どうも動作に誤動作が若干混じる事が有りました。
スワイプが付いてこない時が有ったりとかも。
それがこのエレコムのに張り替えてから操作性が格段に良くなりました。
保護フィルムって操作性にものすごく影響しますね。
ここまで影響が大きいとは正直驚きです。
でもその事を伝えている記事等は私が見ただけの部分ですが見た事が有りません。
ガラスフィルムがどうとか等はよく見るのですが、それは見た目や傷がどうのと
いう観点ばかりで、操作性や色んな影響が考えられ、理屈に関してはほとんど見られません。
操作性の事を書いてあっても「薄いから操作性がいい」とか、「マットで指に張り付かず、
滑りがいいから操作性がいい」とか、私が言いたい事とはなにか違う事が書いてあるだけ。
静電容量方式では保護フィルム自体の静電気の帯電によっては誤動作の可能性が有ります。
恐らく新しく張ったエレコムのは静電容量を溜めこみにくい素材を使用しているのでしょう。
タッチ切れや指に吸い付き度合いなど、フィルムが変わるだけでかなり操作性の印象が変わりました。
フィルムを張る派の方、フィルム選びは大事ですよ。
今回フィルムの張替えで操作性の違いをとても実感しました。
今はこんな感じです。
後は先のストレージの問題だけ解決したら全く問題の無い快適な端末になれるんですけど・・・さて。
- 2015/11/10(火) 19:56:42|
- Android
-
| トラックバック:0
-
| コメント:2
先日記事にした、私が
Xperia GX(SO-04D)をCM12.1(Android 5.1.1ベース)で運用している記事の続編(?)です。
といってもGXの話では無いですが。
実はGXがAndroid 5.1.1 Lollipopになってしまったので、手元に有るAndroid OSが4.1 JellyBeanの
端末が無くなってしまいました。なのでXperia arcをバージョンアップしてみます。
Xperia arcは二台あって、片方は4.0.4 ICSで、もう片方がFirefox OSでした。
しかしもうFirefox OSは新バージョンが降ってきませんし、何よりも新バージョンを配布していた
サーバが停止していてチェックに行くとエラーが出る始末。完全にFirefox OSは終わりました。
というわけでFirefox OSはもう要らない子になったのでこれを潰してAndroid OSに戻そうと
いう事にしました。
色々情報を探すと端末によってやっぱりあれこれそれぞれの事情があるので、面倒が有ったら
嫌ということでカスタムロムは実績が有るCMを選択。CM12.1も出ているようですが、やはり
常用には厳しいようなので、CM11で4.4.4 KitKatにしました。
焼いてみたのはこんな感じ。

2011年の端末がKitKatで普通に動いています。
ただし深刻なメモリ不足状態なので、GXの様にはアプリを入れる事が出来ません。
逆に言うとメモリさえ足りていればこのクラスの端末でも十分使えるなって感触を得ました。
SO-01Cとしてなら今更使いたいとは思いませんが、CM11端末としてなら十二分に
まだ使えるなと感じました。
肝心の部分はメモリ容量だけです。
シングルコアのMSM8255 1GHzのプロセッサでも必要最低限の性能は満たしています。
Cortex-A7×4の端末で十分使えると感じていましたが、それよりもはるかに性能が低い
プロセッサを積んだ端末でも使えてしまうって事ですね。
ちなみにRAMは512MBで、こちらはとりあえずKitKatでは何とかOK。
圧倒的に足りないのは
eMMCメモリ(FlashROM)です。
これが足りないのであらゆる不便やトラブルの要因となっています。
まあそれを補う為に過去には様々な手が駆使されていたわけですが・・・。
今回はLink2SD等、その手の対策は手を付けていません。
チェック用でLollipop以前のOS環境が欲しいだけなので。
Stagefright脆弱性のチェックも一応行っておきました。

これなら現在の一般的な端末、今年の夏端末レベルの安全性ですね。
4年前の端末でもこのレベルのセキュリティーまで持って来れるという事ですね。
操作性的にも、これでメモリが足りていたら十分に現役端末になりうるという所がスゴイですね。
メモリが足りていれば大きな不満点が無いんですよ。
予想の範囲内では有りますが、実験して思いの外快適だったので、改めて旧端末の
本来の性能を思い知りました。
- 2015/11/03(火) 20:17:43|
- Android
-
| トラックバック:0
-
| コメント:0
※「SO-01C(Xperia arc)にCM11を入れてみました」の記事もどうぞ。※
続編で「Xperia GXでクアルコムIZatの利用をONにしてみたらGPSが爆速で合うようになりました」の記事もどうぞ。
何時まで古い端末を使っているんだと叩かれている事も有る私のXperia GXですが、
実は一度壊れたと思った端末なので、どうなってもいいと思っていた所も有って
カスタムROMを焼くことにしました。記事にしていませんでしたが、もう数か月前の事です。
現在の状況はこんな感じ。

CM12.1(CyanogenMod 12.1)を焼きまた。
これはAndroid 5.1.1をベースにしております。
もう入れてからかなり経っていますが信じられないぐらい快適です。
国内版ではXperia GXですが、グローバル版ではXperia TXとなっており、グローバル版の
ROMからの改変となっていますので、機種名もXperia TXとなっております。
ドコモの回線で使っているわけではないので機種名の変更はせずにそのままで使っています。
とりあえずAndroid 4.3ベースのCM10を入れ、その後にCM12.1へとジャンプアップしました。
そもそもCM10が快適すぎて、CM12.1になっても快適さでは極端に大きな変化は有りませんでした。
しかしそれでも一定の速度アップは感じました。DalvikからARTに変わったのは大きいですね。
ビルド日時を見ても分かる通り、Xperia GXの最新版のビルドはこの10月になってもまだ最新版が
リリースされるという程の力の入り様です。
RAMの利用状況はこんな感じ。

Nexus 7 (2012)では5.1.1を相当な叩きようを私はしていましたが、CM12.1では安定の軽さ。
あのNexus 7での重さはなんだったのでしょうか。似た様なスペックのXperia GXでは
快適そのもので、あの不思議なWEBアクセス関連の重さは発生しないんですけど・・・。
それも同じLink Bubbleを使っている上での話です。
RAMは1GBしかないので、若干RAM不足気味かなとは思いますが、大して問題は
発生していません。きちんと今までの倍ぐらいの快適さでサクサクと動いてくれます。
CM最高ですね。
ただしCMを入れる前に使っていた、私オリジナルのバッテリー持ちを重視した、
ストックROMの最適化が、極限まで行きついていたので、バッテリーの減りは
倍ぐらいの速度になりました。元は充電をやめてプラグを抜いてから、100%から
落ちるのに数時間もかかってしまうようになり、表示が壊れているのか不安になる程
バッテリーが減らず、省エネ端末化されていましたので、今の減り方は衝撃的です。
それでもXperia GXを買って、初めて触り始めた頃よりも、十分持ちはいいですけどね。
しかも一般に広く販売されている中では最新のOSが動いていますし。

まだ5.1は1割足らず程度の人しか使っていません・・・SD-04Dなのに頑張ってくれています。
さすがNexus 6向けの最新ビルドのLollipopのソースコードからのフォークだけ有って、
Stagefright脆弱性のチェックも全てパスしています。

3年前の端末が最新の既知のセキュリティー問題を全てパスしています。
ブートローダーアンロックを貫き、ricでsystemフォルダさえも書き換えさせようとしない最近の
ソニーの端末開発の姿勢ですが、これを見てもまだそういったユーザーの自己防衛の
自由を奪い続けていくのでしょうかね。
それとも自由度が高まればユーザー自身でセキュリティーを高める事が出来てしまうので、
最新端末を買ってくれなくなるという事で、国内キャリア向け端末では危険な状態になるように
仕向けているのでしょうか。
私はソニーに再度ブートローダーロックの解放と、ricをやめるように強く希望します。
Z4が不人気になった理由の一つが、極端に厳しい改造に対する制限ということろも有ります。
GoogleはMicroSDの自由度を奪いましたが、商業的な成功を考えて、再度MicroSDの扱いを
自由度が高まるように改変しました。ソニーもこういった所はもっと柔軟性を持つべきです。
安全側に振っているだけならその内ユーザーサイドの不満から崩れていきます。
社内的にはアンタッチャブルなのはわかりますが、未だにスマホ事業は赤字なのですから、
もうちょっと現実的になるべきです。
ちなみにUAはこんな感じです。
Mozilla/5.0 (Linux; Android 5.1.1; Xperia TX Build/LMY48W) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36
Chromeは最新の46.0.2490.76、Android OSのビルドはLMY48WでNexus 6向けにリリースされた、
一番新しいビルドのAndroid 5.1.1となっています。Nexus 6のソースから移植されていたんですね。
ちなみにXperia GX向けにCMをビルドして下さっている154氏が、Android 6.0ベースの
CM13の動作に成功したようです。


このまま私のGXが潰れなければその内Android 6.0ベースのCM13を使う事になりそうです。
私が古い端末ながらXperia GXに拘っている理由がこれでお分かりになるのではと思います。
154氏のおかげで楽し過ぎるんですよね。
なんかGXを不安定なバージョンのROMも焼けるように、もう一台買いたくなってきてしまいました。
変な所で遊びたくなっていけません。
- 2015/10/30(金) 19:46:58|
- Android
-
| トラックバック:0
-
| コメント:2