Blog

Andoridカスタムkernelの導入手順

2017.06.13Cat:ハードウェア 役員

また趣味シリーズです。

Android端末をカスタムする方法を何度か紹介してきました。

SIMフリー端末にカスタムROMを焼いてみた

Nexus 7 2013 (Wi-Fi)でAndroid7.1(Nougat)ベースのカスタムROMを焼く手順

CyanogenModからLineageOSへ

正直ブログの記事にしながら覚えているような感覚で今ですと手順が分かってきているので、次に何をやるか、今何をやっているのかということが分かるのですが、当初は参考にさせてもらっているサイトなどを見ながら見よう見まねで最後起動をするところまで行ってから読み直して、理解に至りました。

その中でもカスタムROM(OS)レイヤーまでの編集は行ったのですが、どうやらその下のハードウェアとやり取りを行うKernelという領域にもカスタム出来る余地があり、最適化されたカスタムKernelを導入することで動作がより軽くなったり、ものによってはCPUのクロック数をあげるオーバークロックが出来たりするということが分かりました。

オーバークロックは、CPUの性能を最大限引き出す代わりに定格を越える動作をするのでバッテリーを犠牲にする機能で自分はどちらかと言うと逆に最適化されて省電力にバッテリーライフが伸びたら嬉しいなと思って導入してみました。

 

 

こういう時に2chはいいですよね〜。同じ嗜好性の人がゆるく集う掲示板として使う分にはこの上ないです。

kernelとは

まず、kernelについて調べてみました。

まだ理解が浅いので引用に留めさせて頂きます。

 

カーネルとは、OS(オペレーティングシステム)の中核を構成するソフトウェア。動作中のプログラムの実行状態を管理したり、ハードウェア資源を管理してアプリケーションソフトがハードウェアの機能を利用する手段を提供したりする。

画像はwikipediaからテキストはIT用語辞典から引用しました。

要は、アプリケーションとハードウェアを繋ぐ橋渡し役だと理解しました。

kernelとBIOSって何が違うの?

ここでPCを自作していると必ず触れるBIOSですが、これもOSの下に位置しているような関係性なので似たようなものなのか調べてみると正に同じ回答が知恵袋で見つけることができました。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1438724094

Linuxのカーネルにはどんな機能があるのですか。
カーネルはLinuxの中核です。
カーネルとはユーザープログラムとハードウェア機器などとの仲介をし、プロセス処理のスケジュール管理をしてマルチタスクを実現したりします。カーネルは、システム上で実行されているプロセスではなく、むしろメモリ上に存在して、どのプロセスからもアクセスできるサブルーチン集のようなものだと考えるとわかりやすいでしょう。
Linux カーネルの主な機能は次のようなものです。
・プロセス管理
・空間管理
・時間管理
・割り込み処理
・ファイルシステム
・ネットワーク
詳細は以下の記事「カーネルの機能とその利用法」を参照してください。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080501/300464/?ST=oss

>BIOSはそのカーネルに含まれてないのですか。
発想の順番が逆です。
PC の電源をONすると BIOS で設定されている機器(CD, FDD, HDD など)から OS を読み込みます。
OS を読み込む過程でカーネルも読み込まれます。
以下の記事「ブートの仕組み」を参照してください。
http://nobumasa-web.hp.infoseek.co.jp/boot/boot.html

>OSを入れないでLinux用にPCを購入すると、
>最低限、何が搭載されているのですか。
OS 無しの PC を購入した場合、搭載されているのは BIOS だけです。
BIOS は ROM に搭載されています。
BIOS さえあれば、CD から OS を起動できます。

これでBIOSが読み込むのがkernelであることが分かりました。BIOSが一番下のレイヤーなのですね。

もう一つ海外サイトですが、こちらも分かりやすいです。

http://www.euask.com/topic/4996-What-is-the-difference-between-BIOS-and-Kernel

BIOSとkernelの違いと読み込む順序が記載されています。

以上で前置きが長くなりましたがkernelの説明です。

インストール手順

  1. 端末内に該当のkernelをダウンロード
  2. (念のため、フルバックアップ)
  3. いつものリカバリーソフトTWRPからインストール※参考
  4. 完了です。

ROMを焼く手順と一緒ですね。

なんなく動きました。

パット見なんの変化もありません。kernelなので当たり前ですね。

ということでベンチマーク図ってみました。これもあまり変りませんでした。

まとめ

体感出来るものかもう少し触れてみます。

表面的ではあるが、AndroidOSの中身を掘り下げることができました。

あくまでも、OS以下のレイヤーに手をいれると無保証になるので自己責任でお願いします。

 

Author Profile

mezaki
スターフィールド株式会社/代表取締役/副社長/EC/レスポンシブWebデザイン/Web制作/システム開発/lamp/.net/1985年生/2008年早大卒/西東京市/ひばりが丘/新宿区/高田馬場/江戸川区/瑞江/B級グルメ/料理/自作PC/熱帯魚/MBA11/ipad3rd/iphone4
» 投稿一覧
  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ