Android デバイスをいじっている人も多いでしょう。私たちはあなたのシステムの重要なコンポーネントであるカーネルに興味を持っています。

Android には膨大なカスタマイズの可能性があります。これはシステムのオープン性という単純な事実ではなく、Google の技術的選択とシステムの動作方法のおかげでもあります。

アマチュアかどうかにかかわらず、多くの人が Android システムをいじり、スマートフォンのカーネルを変更しています。私たちはこの有名なカーネルに興味を持ち、その仕組みとその有用性を理解し、Android 愛好家の間で広く行われている、デバイスのカーネルの変更について話し合いました。

カーネルとは何ですか?

カーネル (フランス語ではカーネル) は、オペレーティング システムの重要な部分です。実際、電子デバイスのリソースを管理し、さまざまなコンポーネント、ハードウェア、ソフトウェアが相互に通信できるようにします。たとえば、要求された負荷に応じてプロセッサの周波数を変更する必要があるかどうかを決定するのはカーネルであり、アプリケーションに RAM メモリを割り当て、システムが使用できるようにカメラに接続します。

カーネルは数多くありますが、私たちが興味を持っているのは Linux カーネルです。実際、Android はこのカーネルの修正バージョンを使用しています。 Linux カーネルは 1991 年に Linus Torvalds によって作成され、彼と彼のチーム、そして世界中の何千人もの貢献者によって開発されました。

リーナス・トーバルズ: Linux の父

Android と Linux カーネル

上で述べたように、Android は Linux カーネルを使用します (参考までに、iOS は Apple によって開発された XNU カーネルを使用します)。

Android のバージョンカーネル Linux
アンドロイド4.3.xLinux 3.0 – 3.1
Android4.4~5.0Linux 3.4 – 3.10
アンドロイド6.0Linux 3.10 – 3.18
アンドロイド7.0Linux 3.18

これは次の場合ですウェイクロックこれは電源管理モジュールの 1 つです。これにより、電子メールや連絡先を同期するために電話機が深いスリープ状態に入ることがなくなり、システムのニーズに応じてアクティブ化または非アクティブ化する OS によって管理されます。これは単純な変更ではなく、Google は Linux カーネルに多くの変更を加えています。

これが Android の仕組みです (簡易版)。

私たちがすぐに理解できるのは、色の違いです。これらは、システム内の非常に異なるレイヤーに対応します。

  • 赤で表示されているのは、ドライバーを備えた Linux カーネルです。
  • 緑色は、WebKit/Blink、OpenGL ES、SQLite、FreeType などのソフトウェア ライブラリ…
  • 黄色は、Java プラットフォーム用に設計されたプログラムを実行できる実行環境とライブラリです。
  • 濃い青色のフレームワーク – アプリケーション開発キット
  • 水色で、ランチャー、電話アプリケーション、ロック解除アプリケーションなどを含む標準アプリケーションのバッチ…

アプリケーションはいくつかの「フレームワーク」(ツールとソフトウェア コンポーネントのセット)を使用し、それら自体がシステムによって制御されるライブラリを使用し、後者はカーネルにハードウェアの使用を要求します。 Android システムのすべての部分は、多かれ少なかれ深い層になっています。

図から推測できるように、Android のカーネルは各デバイスに固有です。これは、デバイスには異なる周辺機器 (カメラ、画面、SoC、RAM メモリ、ストレージ タイプ) があるためです。そのため、各メーカーはデバイスのカーネルを変更し、電源管理などの最適化も行っています。これは、同様の特性を持つ複数のデバイス間のパフォーマンスの違いを説明するだけでなく、Android バージョンのアップデートやジャンプによって得られるパフォーマンスや機能の向上も説明します。

それに、なぜ ROM を ROM と呼ぶのでしょうか?これは、まずコンピューティングにおけるメモリの一種であり、読み取り専用メモリを意味します。デバイスのファームウェアが保存されるパーティション (またはディスク上のスペース) です。つまり、いわゆるカスタム ROM は、新しい機能、最適化、機能性などをもたらすことができる修正されたファームウェアであり、たとえば Android の新しいバージョンです。

メーカーがデバイスのカーネル ソースをオンラインに公開すると、サードパーティの開発者が希望どおりに最適化できる「カスタム ROM」の開発を開始できるようになります。この ROM は、Android、専用カーネル、および問題のデバイス用に特別に設計された一連のドライバーで構成されています。

スマートフォンのセキュリティを重視する場合、ほとんどの場合、たとえば Lineage OS などのカスタム ROM の方がオリジナルの ROM よりも安全です。これは、リネージュ開発者がサポートするカーネルに「Android Security Bulletin」からのパッチを毎月適用しているという事実によって説明されます。

リネージュOS

セキュリティ問題の例は数多くあり、特定の欠陥はデバイスにとって潜在的に危険である可能性があります。これは、Dirty Cow と呼ばれる重大なセキュリティ欠陥のケースです。後者では、悪意のあるユーザーが難なくスーパー ユーザー (root) になることができました。ほとんどのスマートフォンに搭載されているのは、リネージュOSこの欠陥は、ほとんどの場合、メーカーがアップデートを展開する前に修復してください。

カーネルをカスタマイズする理由

上記の例は、数多く挙げられる例のうちの 1 つです。カスタマイズに加えて、デバイスのカーネルを変更すると、自主性を高めるために電源マネージャーを最適化および変更することで、デバイスのパフォーマンスを向上させます。特定のデバイスでは、急速充電を有効にしたり、新しい USB 関連機能を実装したりすることができます。上でセキュリティについても触れましたが、(たとえば) デバイスの起動やスリープを速くするなど、システムの動作方法に大きな変更を加えることができます。

さらに進むには
カーネルの変更により Android スマートフォンのバッテリー寿命が大幅に延びる仕組み

使用できますアンダークロックたとえば、プロセッサの(周波数の低下)、またはプロセッサ コアのより適切な管理を可能にするアルゴリズム(ホットプラグ)を使用することもできます。

カスタム カーネルの 3 つの例

あなたはおそらく、フランシスコ・フランコ、ロード・ボエフラ、またはgenesixxbf3 (はい、それが私です) を知っているでしょう。彼らは全員、さまざまな Android デバイスのカスタム カーネル開発者です。これらのカーネルは、バッテリー、パフォーマンス、セキュリティのいずれにおいても利点があることで知られています。

Boeffla 卿の主な目標は、メーカーが設計したオリジナルのカーネルと比較して最小限の変更でカーネルを維持することです。これにより、デバイスの安定性とセキュリティがさらに向上します。これらすべてには、安定していることが知られている機能が含まれていますが、余分なものはありません。

Boeffla は、追加した機能を最適に管理するためのアプリケーションも開発しています。彼はすべてを自分で作成し、展開する前にテストを実行します。したがって、プラセボ効果のリスクを回避します。これは、OnePlus 3、2、One、X、Galaxy S5 および S3 で利用できるカーネルです。

ボフラ卿

Francisco Franco のアプローチは、メーカーが提供するカーネルを変更して、最適なパフォーマンスを維持しながら優れたバッテリー寿命率を得るというものです。追加される機能はほとんどないことに注意してください。

私は個人的に、パフォーマンスの低下を可能な限り回避しながら、バッテリー寿命を最大限に延ばすために、かなり広範囲に変更を加えてカーネルを設計しています。これは、追加した機能の最適化のおかげです。私のカーネルは LG G4 でのみ利用可能ですが、将来的には他の携帯電話もサポートされる予定です。

ジェネシスbf3

カーネルがたくさんあります。デバイスに応じて多くのカーネルが存在する理由は非常に単純です。モデルが人気がある場合、そのモデルは多くのサードパーティ開発者によってサポートされる可能性が高くなります。最後に、上で述べたように、メーカーはドライバーのソース コードを提供する必要があります。そうしないと、動作するカーネルを設計することが非常に困難になります。

さらに、ドライバーのソースを提供する必要があるのはメーカーだけではなく、コンポーネントの設計者でもあります。 MediaTek ベースの製品で提供されているカスタム ROM がほとんどない場合、それは、たとえば MediaTek がこれらの SoC のソース コードを公開していないためです。

カーネルをカスタマイズするにはどうすればよいですか?

カスタム カーネルを使用するには、リカバリを変更するだけで (システム バックアップ、フラッシュ ROM、カーネルなどを作成できるリカバリ モード)、TWRP や CWM などのパーソナライズされたリカバリをインストールできます。このリカバリは、.ZIP アーカイブ ファイルに含まれているため、デバイスに適用する必要があります。

ただし、これらの操作はシステムの非常に低い層に影響を与えることに注意してください。したがって、従うべき指示がいくつかあります。カーネルがデバイスに適合して設計されていることを何度か確認してください。次に、データのバックアップを作成します。デバイスがリセットされ、すべてのデータが消去される可能性があります。カーネルのカスタマイズにはリスクがないわけではありません。(理論的には) デバイスをブロックできる可能性があることに注意してください。

したがって、カスタム カーネルを配置すると、最適化の恩恵を受けることができ、それに新しいカスタマイズを適用することもできます。 Kernel Adiutor (ROOT が必要) のようなアプリケーションを使用すると、デバイスに新しい機能を追加できます。

OnePlus 3 のカーネル ヘルパー

少しの知識とテストを行うことで、デバイスのバッテリー寿命を延ばすだけでなく、パフォーマンスを向上させ、安定性を高め、何よりも新しい機能を活用することができます。これは Android が提供する可能性の 1 つであり、このシステムの他の側面に戻って説明します。利用できる富が実感できるでしょう。

ぜひご訪問くださいFrAndroid フォーラムでデバイス専用のカーネルを見つけます。あなたも ?スマートフォンでカスタム カーネルを使用していますか?どのようなメリットが期待されますか?

私の質問に答えることに同意してくれたボフラ卿に感謝します。

おかげでエルワン、Android の仕組みに関する一連のファイルと記事を準備しています。

はい、私がお勧めするものを読んでください!https://t.co/RvhshAgejB

— エルワン・ルブーシェ (@elebouch)2017 年 1 月 21 日

Cookie やその他のトラッカーを受け入れていないため、このコンテンツはブロックされています。このコンテンツはTwitterより提供されております。
これを表示するには、Twitter によるお客様のデータの使用を受け入れる必要があります。この使用は、ソーシャル メディアでコンテンツを表示および共有できるようにすること、Humanoid およびその製品の開発と改善を促進することを目的として使用される可能性があります。パートナー、あなたのプロフィールとアクティビティに関連してパーソナライズされた広告を表示し、パーソナライズされた広告プロファイルを定義し、このサイト上の広告とコンテンツのパフォーマンスを測定し、このサイトの視聴者を測定します(もっと詳しく知る)

「すべてを受け入れる」をクリックすると、Humanoid およびそのパートナー

同意はいつでも撤回できます。詳細については、ぜひお読みください。クッキーポリシー

自分の選択を管理する