ラベル mod の投稿を表示しています。 すべての投稿を表示
ラベル mod の投稿を表示しています。 すべての投稿を表示

GXの/data領域を拡張するAromaインストーラー型ツール

17:55 7


以前のエントリで、GXはeMMC上に2GBの/dataパーティションが決め打ちされており、残りのスペースが内蔵ストレージとして扱われていることを説明しました。このため、サイズの大きなARTのキャッシュが/dataに溜まることでAndroid5.0以降ではすぐに空き容量低下となってしまうわけですが、XDAでeMMC上のパーティション構成をTWRP上から弄るというページを見つけたので、そのコマンドを自動化して簡単に実行できるようなAromaインストーラー型のツールを作りました。

鈴の音情報局blogさんに協力頂いて、今年の頭には完成していたのですが、忙しさにかまけて公開をすっかり忘れていました。今更GX用のツールを公開したところで旬は逃しているのですが、コマンドの使い方やAromaインストーラーの書き方など全体の手順は将来的にも活用できる内容なので、興味のある方は中身を見て参考にして頂ければ。

使い方と注意点

注意事項はツール実行時に表示されますが、このツールはROMのデータ領域と内蔵ストレージを全て消去して新しいパーティションを作るので、実行前に/dataと/sdcardを完全にバックアップして下さい。2GB, 4GB, 6GB, 8GB, 10GBのオプションから任意のサイズの/dataパーティションを作成してext4でフォーマットします。

ツール実行後の初回起動時に、システムによって内蔵ストレージ内にPicturesなどの空フォルダが自動で作成されますが、このまま使用するとパーミッションの関係でフォルダ内にファイルを作れないという問題が起こるので、ファイラーなどから手動で空フォルダを削除してバックアップを書き戻して下さい

免責

本ツールはGX用にパーティションの開始位置、終了位置を決め打ちしてコマンドを書いているので、他の端末上で実行してハードブリックしても責任は負えません。(パーティション構成を弄るということは、つまりブートローダーやTrimAreaのパーティションを破壊することも可能ということです)
また、必ず事前にバックアップしてから実行して下さい。ファイルを失っても責任は負えません。

もっとも、万が一、GX上で何かしら問題が起こったとしても、flashtoolからpartition-image.sinを焼けば元のパーティション構成に復帰するので、(ブートローダーやTAを破壊しない限り)どうにかはなります。

画像

  


ダウンロード

GX_PartitionResizer


<参考>
[HOW-TO][ROOT][4NOOBS] Resize sdcard0 and internal storage to maximize space for apps | Sony Xperia T, TL, TX, V


カーネルモジュール

カーネルモジュール

19:30 0

カーネルモジュールとは

コンパイル時にカーネルに含まれなかった機能を後から追加できるようにモジュール化したものです。
CPUの動作を制御するCPUガバナや、ストレージの読み書きを制御するIOスケジューラ、より高速なエントロピージェネレーター、低容量RAMデバイス向けのZRAM追加、NTFSなどのファイルシステムへの対応、UTF-8をはじめとした多言語文字コードへの対応など、一般の開発者等によって開発された機能を追加できます。

より高度な技術があれば、単なる機能の追加に限らず、カーネル内の既存の関数や構造体を書き換えることで、CPUのオーバークロック、権限の取得などカーネルハッキングの自由度が高まります。

Xperiaの国内モデルをはじめ、ブートローダーがアンロック出来ない(=メーカーによって署名されたカーネルしか起動しない=自分でコンパイルしたカーネルを使用できない)場合、メーカーは使用しないような機能の恩恵を受けることが出来るので、とても重宝します。

カーネルモジュールはROMバージョンごと

カーネルモジュールは基本的に、対応したカーネル内の各関数、構造体を示したアドレス(≒カーネルシンボル)が決め打ちされているので、それぞれのカーネルバージョンごとにコンパイルする必要があります。(カーネルバージョンチェックのためのマジック番号を無理矢理書き換えて読み込ませることも出来ますが、カーネルの関数に依存した機能をモジュールが持っている場合、動作しません。)

Xperia TX 9.2.A.0.295用のカーネルモジュール


9.2.A.0.295用のモジュールですが、TX用の最終ビルドの9.2.A.1.215や同じblueプラットフォームのXperia T、Xperia Vでも動作するはずです。

機能一覧
・CPUガバナ9種
・IOスケジューラ6種
・ZRAM(Snappy/LZ4)
・NTFS読み書き
・UTF-8サポート
・frandom

CPUガバナについては、カーネル内のアドレスを決め打ちせずにシンボル名から関数の所在を見つけるためのsymsearch.koというヘルパーを使っています。この部分が私のモジュールの特別な点です。

ソースについて

GPLに準拠するため、zip内にソースコードを含めてあります。
違うデバイスのカーネル用にコンパイルしやすいように、makefileを書いているので、カーネルソースとarm用のクロスコンパイラのディレクトリを指定するだけですぐに使えます。

割と各所で私のソースを利用されているのを見かけるので、喜ばしい限りです。