Tosainu Lab

カスタムカーネルを書き込んでみる

カスタムカーネルとは

カーネルとは, OSを動かしている核となる部分のことです.
コレを弄ることにより, CPUクロックが可変可能になるなどの大幅なパフォーマンス向上を期待できます.

Xperiaは壊れにくいですが, 失敗すると動作が不安定になったりするので, それに対処できる自身のない方は手を出さないことをおすすめします.

カーネルの選び方

一般的なカーネルの探し方は, XDA-Developerのフォーラムで公開されている有志が作成したものを利用する方法です.
ここでは, 目的に合ったカーネルの探し方について説明しようと思います.

カスタムカーネルを探すとき, そのカーネルは

  • どの端末向けか
  • 対応するOSバージョン
  • そのカーネルが持つ機能

に関して気をつけなければいけません.

対応する端末とOSバージョン

XDAではカーネルを

  1. [KERNEL][ARC/ARC S] DooMKernel {GB} [Rel:v22][Dt:30/APRIL][FW:.42/.58/.62]
  2. [Kernel] FusioN v5.5 [JB 4.1/JB 4.2/MIUI V5] [27-4-13]

このようなタイトルで配布しています.

例えば1番はARC,ARC S用のカーネルで, 対応するファームウェアのバージョンはビルド番号下2桁が42,58,62のもの. 2番はわかりにくいですが, ARCのフォーラムにある記事なのでARC/ARC S用で, CM10等のAndroid4.1/4.2に対応するカーネルになります.

ときどき詳しく記述されていない場合もありますが, わからなかった場合は無理に試さないようにしましょう. ぶっ壊れることはそうそうないですが, 対応しないカーネルを使うと起動しなかったり, エラーの連発になります.

カーネルが持つ機能

カスタムカーネルの多くは特にパフォーマンス改善のためのチューニングがされています.
どんな感じのチューニングがされているかに関してもある程度気にする必要があります.

ここでは, 有名なチューニング項目について紹介しようと思います.

カスタムリカバリ

ほとんどのカーネルは書き込むだけでカスタムリカバリが使えるようになります.
主に2種類ありますが, それぞれの説明はカスタムリカバリの導入で紹介しているので良かったら参考にしてください.

Governors(ガバナ)とIO-scheduler(IOスケジューラ)

カスタムカーネルには, フザけたぐらいガバナやIOスケジューラが用意されているものもあります.

Governors

CPUクロックは省電力などのために常に変化するようになっていますが, この変化の仕方を決めているのがGovetnorsです.
主にバッテリーの持ちに影響してきます.

種類が多いので一つづつ紹介はしませんが, いろいろ試してみると面白いです.
個人的な好みはsmartassV2ですね.

Io-scheduler

所感 ANDROIDを書いているTHJapさんのI/O スケジューラについて 前編がとても詳しく参考になります.

要はデータの入出力のパフォーマンスが変わってきます.
コレまた種類が多いので, いろいろ試してみるといいでしょう. ベンチ等のスコアも変化してきます.

個人的な好みはSioですね.

オーバークロック

コレを目当てにカスタムカーネルの導入を検討する方も多いでしょう.
大幅なスペックアップが可能になります.

カーネルによってCPUクロックのMAXは違いますし, 高Clockでの安定性も変化してきます.
オーバークロック用のアプリケーションによってはCPU電圧が弄れるものもありますが, コレに対応するかしないかも様々です.
使い勝手の良いものを探してみましょう.

僕のARCはDoomKernelv22のときに電圧ちょっと盛って1.6GHz常用できました.
MSM8255はまわりますねぇwww

利用可能メモリのチューニング

”この端末には512MBのRAMが積んであります” と言っているのに, 使えるところは300MBちょっとしかねーぞゴラァ
なんて思ったことのある方もいるのではないでしょうか?

これは, カメラや動画再生支援などのために予め決められた量を予約されているのが原因です.
ですが, これらの容量を縮小したり無効化することにより利用可能なメモリを増やしているカーネルが存在します.

Arcでは動画再生支援を480pまでにするも, 利用可能メモリを約380MBまで増やしたFusioNなどが有名です.

これらのカーネルを利用する場合は, 本当に動画が再生できなくなったりするので注意が必要です.

ZRam

これまた難しくなるのですが,
RAM上に圧縮されたSWAP領域を作成して利用できるRAM領域を増やす (正確には違います)
というものです.

これはヤバイです.
ARC等のRAMの少ない端末でICSやJBを使おうとするときには必須ですね.

最近はかなり安定してきているので試してみる価値アリです.

カーネルを書き込む

さて説明が長くなりましたが, 早速カスタムカーネルを書き込んでみましょう.

FastbootModeで起動させる

まず, WindowsPCの場合場合はfastbootドライバのインストールが必要です.
Flashtool付属のドライバインストーラを使うといいでしょう.

カーネルに無線LANなどのカーネルモジュールが添付されている場合, 端末のSDカードにコピーしておきます.

端末の電源を落とし, FastbootModeで起動させます.
2011Xperiaの場合は, 決まったボタンを押しながらPCと接続することでFastbootModeに入ることができます.

FastbootModeに入るためのボタンはSony DeveloperWorldのここが参考になります.

Fastbootコマンドを使う

Terminal, コマンドプロンプトを開き,

//認識されているかの確認
$ fastboot devices

//書き込み
$ fastboot flash boot カーネルイメージのファイル名

//再起動
$ fastboot reboot

です.

その後の作業

カーネルモジュールが添付されていた場合, それをCWMリカバリ等から焼きます.
また, カスタムカーネルのフォーラム記事で “Wipe Battery Statusを実行しろ” などの指示がある場合はそれも行います.

設定 -> 端末情報のカーネルバージョンが変化していることや, 無線LANなどすべての機能が動作することを確認してカーネル焼き作業は終了です. kernel

お疲れ様でした.