Android デバイスのカーネルをフラッシュします。 Android デバイスのカーネルをフラッシュする カーネル バージョン 3 10 49

01.01.2021

カスタムファームウェア、ルートアプリケーション、およびその代替品については、すでに何度か書いてきました。 ブートメニュー。 これらはすべて、Android ハッカー コミュニティの標準的なトピックですが、上記のすべてに加えて、スマートフォンとそのハードウェアを制御するためのほぼ無限の可能性を提供できる「カスタム カーネル」のようなものもあります。最低レベル。 この記事では、それが何であるか、なぜそれが必要なのか、そして適切なカスタム カーネルを選択する方法について説明します。

カスタムカーネル?

カスタムカーネルとは何ですか? 誰もが知っているように、Android は 3 つの基本レイヤーで構成されるパイです。Linux カーネル、低レベルのライブラリとサービスのセット、 仮想マシン Dalvik は、その上でグラフィカル シェル、高レベルのツールとサービス、および市場からインストールされたほぼすべてのアプリケーションを実行します。 ほとんどの代替カスタム ファームウェアの作成者は通常、上位 2 つのレイヤーのみを操作し、グラフィカル シェルへの機能の追加 (カーテンのボタンなど)、変更 (CyanogenMod のテーマ エンジン)、および新しいシステム サービス (イコライザー) の追加を行います。 CyanogenMod) と既存のものを最適化します。

また、一般的なファームウェアの作成者は、可能な限り Linux カーネルに変更を加えます。最適化 (より積極的なコンパイラ最適化フラグを使用してビルド) し、新しい機能 (Windows ball のサポートなど) を組み込み、さらに、次のような他の変更も加えます。プロセッサ周波数をメーカーが提供する周波数よりも高くします。 多くの場合、これらすべては舞台裏に残されており、特に同じ CyanogenMod には限られた範囲のデバイスにのみカスタム カーネルが付属しており、ネイティブ ファームウェアのソース コードとカーネルとそれを置き換える機能が利用可能です。 たとえば、ほぼすべての CyanogenMod ファームウェアは、 モトローラのスマートフォン彼らは標準のカーネルを使用します - ブートローダーの強力な保護のため、それを独自のものに置き換えることは不可能です。

ただし、ロックが解除されたブートローダーを備えたスマートフォンのカーネルは、メインファームウェアとは別に置き換えることができます。 また、単に交換するだけではなく、膨大な数のさまざまな機能を備えたカーネルをインストールします。これらの機能を管理するには特定の技術的知識が必要となるため、通常、CyanogenMod、AOKP、MIUI などの一般的なファームウェアのカーネルには組み込まれていません。 これらの機能の中には、高いプロセッサ周波数のサポート、スクリーン ガンマの制御、省エネ モード、高効率の電源マネージャー、およびその他の膨大な数の機能があります。

この記事では、カスタム カーネルの作成者が私たちに提供できるものについて説明し、主なカスタム カーネルについて見ていきます。 さまざまなデバイスまた、メインファームウェアとは独立してカーネルをインストールし、すべてをハードウェア的にチェックすることも試みます。 では、代替カーネルの開発者は通常何を提供するのでしょうか?

スマート交通管制官

たとえば、Galaxy S II や Galaxy Nexus で使用されている OMAP35XX SoC には、プロセッサの負荷が変化したときにスマート電圧調整システムとして機能する SmartReflex 機能が備わっています。 基本的に、ユーザーが電圧を微調整する必要がなくなります。

最適化

多くの場合、カスタム カーネルを構築する主な目的は、パフォーマンスを最適化することです。 通常、モバイル デバイス ベンダーはパフォーマンスと安定性のバランスを維持しようとします。そのため、デバイスの速度を大幅に向上させる優れた最適化手法であっても、使用後に一部のアプリケーションがクラッシュし始めたという理由だけでメーカーが拒否することがあります。 10回ごとの打ち上げ。 もちろん、愛好家はそんな小さなことは気にせず、コンパイラ オプションや省電力アルゴリズムを自分のアセンブリのカーネルに適用し、デバイスが処理できる限りプロセッサ周波数を上げる準備ができています。 すべての最適化手法の中で、最も一般的なのは次の 4 つです。



もう 1 つのタイプの最適化: デフォルトの I/O スケジューラの変更。 この分野の状況はさらに興味深いものです。一部のカーネル ビルダーは、スケジューラの動作原理を理解する代わりに、単に Linux 用の I/O スケジューラに関するインターネット上のドキュメントを読んで結論を導き出すだけです。 ユーザーの間では、このアプローチはさらに広く普及しています。 実際、最も強力でインテリジェントな Linux スケジューラのほとんどは、Android にはまったく適していません。それらは、データ アクセスの速度がヘッドの位置に応じて変化する機械的なデータ ストアで使用するように設計されています。 スケジューラは、データの物理的な位置に応じて異なるリクエスト集約スキームを使用するため、現在の先頭位置に近いデータに対するリクエストがより高い優先度を受け取ります。 これは、すべてのセルに同じアクセス速度が保証されるソリッドステート メモリの場合、まったく論理的ではありません。 高度なスケジューラはスマートフォンでは良いことよりも害を及ぼす可能性があり、最も不器用で原始的なスケジューラが最良の結果を示します。 Linux には同様のスケジューラが 3 つあります。

  • いいえ (操作なし)- いわゆる非スケジューラー。 単純な FIFO リクエスト キュー。最初のリクエストが最初に処理され、2 番目のリクエストが 2 番目に処理されます。 に良い ソリッドステートメモリこれにより、ドライブへのアクセスに対するアプリケーションの優先順位を公平に分散できます。 さらに、非常にシンプルな動作原理によりプロセッサの負荷が低いという利点もあります。 短所: デバイスの動作の詳細が考慮されていないため、パフォーマンス障害が発生する可能性があります。
  • SIO(簡易I/O)- セクタ同士の近接性を考慮しない Deadline スケジューラの類似品、つまりソリッド ステート メモリ専用に設計されたもの。 2 つの主な機能: 書き込み操作に対する読み取り操作の優先順位、およびプロセスごとの操作のグループ化。操作を実行するために各プロセスにタイム スライスを割り当てます。 速度が重要なスマートフォンでは 現在のアプリケーションそして、書き込み操作よりも読み取り操作の優位性が非常に高いことを示しています。 良いパフォーマンス。 Leankernel、Nexus 4 の Matr1x カーネル、および SiyahKernel で利用可能です。
  • ロウ (リードオーバーライト)- モバイル デバイス向けに特別に設計されたスケジューラーで、ほんの数か月前にカーネルに追加されました。 主な目標は、読み取りリクエストの優先処理ですが、書き込みリクエストの時間も公平に配分することです。 現時点では、NAND メモリに最適なスケジューラーと考えられており、Leankernel と Matr1x でデフォルトで使用されています。

ほぼすべての標準ファームウェアと半数のカスタムファームウェアは依然として標準の Linux CFQ スケジューラを備えたカーネルを使用していますが、これはそれほど悪くはありません。 ソリッドステートドライブ。 一方で、これは複雑すぎて、プロセッサ (したがってバッテリ) に大きな負荷がかかり、モバイル OS の詳細が考慮されていません。 もう 1 つの人気のある選択肢は Deadline スケジューラです。これは SIO と同じくらい優れていますが、冗長です。 次のコマンドを使用して、使用可能なスケジューラのリストを表示できます。

# cat /sys/block/*/queue/scheduler

変更するには、以下を使用します (行はスケジューラの名前です)。

# for i 内の /sys/block/*/queue/scheduler; エコー行 > $1 を実行します。 終わり

一部のカーネル ビルダーは、I/O に関連する別のタイプの最適化も使用します。 これは、変更されたコンテンツを強制的にフラッシュするために使用される fsync システム コールを無効にするためです。 ファイルを開くディスクに。 fsync を使用しないと、システムがドライブにアクセスする頻度が減り、プロセッサー時間とバッテリー電力が節約されるという意見があります。 かなり物議を醸す発言です。アプリケーションでの fsync はあまり頻繁に使用されず、本当に重要な情報を保存するためにのみ使用されますが、これを無効にすると、クラッシュの場合に同じ情報が失われる可能性があります。 オペレーティング·システムまたはその他の問題。 fsync を無効にする機能は、franco.Kernel および GLaDOS カーネルで利用でき、ファイル /sys/module/sync/parameters/fsync_enabled を使用して制御されます。無効にする場合は 0、有効にする場合は 1 を書き込む必要があります。 繰り返しますが、この機能の使用はお勧めできません。

カーネルに新しい関数を追加する

もちろん、カスタム カーネルには、最適化、微調整、さまざまな高度なハードウェア管理システムに加えて、標準カーネルにはない、ユーザーにとって役立つまったく新しい機能もあります。

これらは主にさまざまなドライバーとファイル システムです。 たとえば、一部のカーネルには、Windows 共有をマウントできる CIFS モジュールのサポートが含まれています。 このようなモジュールは、Nexus S の Matr1x カーネル、Nexus 7 の faux123、SiyahKernel、および GLaDOS に含まれています。 それ自体では役に立ちませんが、その機能を使用できるようにするアプリケーションが市場にいくつかあります。

もう 1 つの便利な機能は、カーネル (より正確には、カーネルのパッケージに含まれます。ドライバー自体は Linux アプリケーションとして動作します) に ntfs-3g ドライバーが組み込まれていることです。これは、ファイルとしてフォーマットされたフラッシュ ドライブをマウントするために必要です。 NTFSシステム。 このドライバーは、faux123 カーネルお​​よび SiyahKernel カーネルに含まれています。 通常、これは自動的にアクティブ化されますが、これが起こらない場合は、市販の StickMount アプリケーションを使用できます。

多くのコアには、いわゆる zram テクノロジーのサポートも含まれており、少量のスペースを予約できます。 ラム(通常は 10%) 圧縮スワップ領域として使用します。 その結果、パフォーマンスに深刻な影響を与えることなく、メモリ量が一種拡張されます。 Leankernel で利用可能で、Trickster MOD または zram Enable コマンドを使用して有効になります。

最後の 2 つの興味深い機能は、高速 USB 充電と Sweet2wake です。 1つ目は「」の強制起動に他なりません。 急速充電」と表示されますが、スマートフォンがパソコンのUSBポートに接続されている場合でも同様です。 急速充電モードは、多かれ少なかれすべての新しいスマートフォンで利用できますが、技術的な制限により、メモリ カードへのアクセスと同時に有効にすることはできません。 高速 USB 充電機能を使用すると、ドライブへのアクセスを無効にしても、このモードを常に有効にすることができます。

スイープ2ウェイクは 新しい方法 Breaked-kernel の作者が発明したデバイスをウェイクアップします。 ポイントは、画面の下にあるナビゲーション キー、または画面自体の上で指をスライドさせてスマートフォンの電源をオンにすることです。 これは本当に 便利な機能, ただし、オンにすると、デバイスがスリープしている間でもセンサーがアクティブなままになり、バッテリーが大幅に消耗する可能性があります。

オーバークロック、電圧、省エネ

オーバークロックは、デスクトップ コンピューターやラップトップの所有者だけでなく、モバイル テクノロジー愛好家の間でも人気があります。 x86 アーキテクチャの石のように、モバイル デバイスのプロセッサとグラフィックス コアは優れています。 ただし、オーバークロック方法自体とそれを実装するために必要な手順は多少異なります。 ポイントは、 標準ドライバー SoC の場合、エネルギー節約とプロセッサ周波数の変更を担当するものは通常、標準周波数にロックされているため、微調整するには、代替ドライバーまたはカスタム カーネルをインストールする必要があります。

ほぼすべての多かれ少なかれ高品質で人気のあるカスタム カーネルには、すでにロック解除されたドライバーが含まれているため、ドライバーをインストールすると、プロセッサーの「パワー」を制御する機能が大幅に拡張されます。 通常、カスタム カーネル ビルダーは、周波数の選択に影響を与える 2 つのことを行います。 これは、最初に指定された周波数範囲を超えた周波数範囲の拡張です。より高いプロセッサ周波数または非常に低いプロセッサ周波数のいずれかを設定できます。これにより、バッテリを節約し、たとえば 3 つの可能な周波数の代わりに周波数の段階を増やすことができます。 、6つから選択できます。 2 つ目は、プロセッサ電圧を調整する機能の追加です。これにより、低周波数ではプロセッサ電圧を下げてバッテリ充電を維持し、高周波数ではプロセッサ電圧を上げて動作の安定性を高めることができます。

これらすべては、よく知られている有料ユーティリティ SetCPU または無料の Trickster MOD を使用して制御できます。 管理上の推奨事項はデスクトップ システムの場合と同じです。 低いプロセッサ周波数を最小値に設定することをお勧めしますが、200 MHz 以上に設定することをお勧めします (遅延を避けるため)。動作の安定性をテストしながら、上限のしきい値を徐々に増加させます。低下した場合は、電圧をわずかに増加させることをお勧めします。この周波数に関しては。 各プロセッサーは固有であり、値は人によって異なるため、電圧に関する推奨事項はありません。

周波数の変更に加えて、ビルダーは多くの場合、新しい省電力制御アルゴリズム (プロセッサ周波数の自動制御) をカーネルに追加します。これにより、標準的なアルゴリズムと比較してより良い結果が得られると考えられます。 それらのほとんどすべては、Android の新しいバージョンでデフォルトで使用されるインタラクティブ アルゴリズムに基づいています。その本質は、負荷が増加するとプロセッサ周波数を最大値まで急激に高め、その後徐々に最小値まで下げることです。 これは、負荷に比例して両方向の周波数をスムーズに調整する、以前に使用されていたオンデマンド アルゴリズムに代わるもので、システムの応答性が向上します。 代替カーネルのコレクターは、Interactive を置き換える次のアルゴリズムを提供します。

  • スマートアスV2- バッテリーの節約に重点を置いてインタラクティブアルゴリズムを再考します。 主な違いは、短期間の負荷のバーストが発生した場合にプロセッサを高周波数に引き上げないことです。この場合、プロセッサのパフォーマンスが低くても十分です。 デフォルトは Matr1x カーネルで使用されます。
  • インタラクティブX- 調整されたインタラクティブアルゴリズム、 主な機能これは、ユーザーが指定した最小周波数でプロセッサー内にロックされ、画面がオフになっている間は 2 番目のプロセッサー コアの電源がオフになります。 Leankernel ではデフォルトが使用されます。
  • ルルザアクティブV2- 本質的には再発明されたオンデマンドです。 プロセッサの負荷が指定された値 (デフォルトでは 60%) を超えると、アルゴリズムは周波数を特定の分割数 (デフォルトでは 1) だけ上げ、負荷が減少すると周波数を下げます。 これは、操作パラメータを個別に設定できるため、特に興味深いものであり、熱心なマニアに適しています。

一般に、カーネル ビルダーは実装の容易さから新しい省エネ アルゴリズムを考案することを非常に好みます。そのため、他にも多数のアルゴリズムを見つけることができます。 それらのほとんどはまったくのゴミであり、スケジューラを選択するときは、上記の 3 つのうちの 1 つ、または標準の Interactive (ちなみに、これは非常に優れています) というルールに従って選択する必要があります。 同じTrickster MODを使用して選択できます。

制御インターフェース

最も一般的なカスタム カーネルには、さまざまなドライバー パラメーターをきめ細かく制御するためのメカニズムがいくつか含まれており、最も一般的なのは ColorControl、GammaControl、SoundControl、TempControl です。

最初の 2 つのインターフェイスは、CyanogenMod カーネルを含むほぼどこでも利用でき、2 番目の 2 つは Leankernel で利用でき、おそらく他の場所でも利用できます。 いずれにせよ、それらはすべて Trickster MOD を使用して制御できます。

コア

どのコアを選択すればよいですか? この質問に対する明確な答えはありません。それは「人それぞれ」だからではなく、世界中には膨大な数の Android デバイスがあり、ほぼ同数の異なるカーネルが存在するためです。 ただし、複数のデバイス向けに同時に開発されている人気のカーネルがいくつかあります。 いずれにせよ、ストーリー全体を通してそれらの多くについて言及しましたが、ここではそれらについて簡単に説明します。

  • Leankernel は、Galaxy Nexus、Nexus 7、および Galaxy S III のコアです。 開発中に主に重視されるのは、作業の単純さと速度です。 省電力アルゴリズム: InteractiveX V2、I/O スケジューラ: ROW、上記のすべての制御インターフェイス、高速 USB 充電、スワップおよび zram のサポート、CPU および GPU の柔軟なオーバークロック オプション。 最高のコアの 1 つ。 Trickster MODを使用してカスタマイズ可能。
  • Matr1x (http://goo.gl/FQLBI、goo.gl/ZcyvA) - Nexus S および Nexus 4 用のカーネル。シンプルでオーバーロードされていないカーネル。 CPU および GPU オーバークロック、GammaControl、高速 USB 充電、スイープ 2 ウェイク、I/O スケジューラー: SIO、ROW、および FIOPS のサポート。 パフォーマンスの調整。 Trickster MODを使用してカスタマイズ可能。
  • Bricked-Kernel (http://goo.gl/kd5F4、goo.gl/eZkAV) - Nexus 4 用のシンプルでオーバーロードされていないカーネル HTC ワン X. Snapdragon S4 および NVIDIA Tegra 3 の最適化、Tegra 3 の省電力モードの再設計、オーバークロック機能、省電力アルゴリズム: 調整されたオンデマンド (インタラクティブも利用可能)。
  • SiyahKernel - Galaxy S II および S III 用のカーネル。 柔軟なオーバークロック オプション、自動バッテリー調整、改良されたドライバー タッチスクリーン、省エネアルゴリズム:smartassV2 および lulzactiveV2、I/O スケジューラ:noop、デッドライン、CFQ、BFQV3r2 (デフォルト)、V(R)、SIO。 CIFS および NTFS ドライバー (自動マウント付き)。 ExTweaks を使用して構成可能。
  • franco.Kernel - Nexus S、Galaxy Nexus、Nexus 4、Nexus 7、Nexus 10、Galaxy S III 用のカーネル ギャラクシーノート、オプティマスワンとワンX。

カーネルの機能はデバイスごとに大きく異なるため、詳細を現場で確認する必要があります。 ただし、このカーネルをフラッシュすることで、オーバークロック、ドライバーのチューニング、優れたパフォーマンスが得られるほか、さまざまな省電力アルゴリズムやスケジューラーのサポートが得られます。 実際、カーネルには、この記事で説明されているほぼすべての調整が含まれています。 入手可能なカーネルの中で最も優れたものの 1 つと考えられています。 の申請があります 自動アップデート Franko.カーネル アップデーター。 Trickster MODを使用して設定できます。

インストール方法は?

すべてのカーネルは標準の Android ZIP アーカイブで配布されており、これは回復コンソールを介して同じ方法でフラッシュする必要があります。 代替ファームウェア。 通常、カーネルはどのファームウェアとも互換性があるため、目的のカーネルを選択すれば、安全にインストールできます。 注意すべき唯一のことは、カーネルと互換性のある Android のバージョンです。 デバイスで利用可能なものをすべて適合させることができます Androidのバージョン、そして 1 つだけで動作します (通常、開発者はこれについて明示的に話します)。 ファームウェアをフラッシュする前に、同じ回復コンソールを使用して現在のファームウェアのバックアップを必ず作成してください。 何か問題が発生した場合は、いつでもロールバックできます。

結論

ご覧のとおり、カスタム カーネルには、標準またはサードパーティのファームウェアで使用されるカーネルに比べて多くの利点があります。 さらに重要なことは、ZIP アーカイブをダウンロードしてインストールするだけで、Android の複雑な機能をすべて理解する必要がないということです。

日曜日の夕方、Linux の生みの親でありオペレーティング システム カーネルの開発者であるリーナス トーバルズ氏が、2 か月の作業を経てリリースを発表しました。 新しいバージョン Linux カーネル 3.10。

開発者自身によると、このカーネルは過去数年間で最大のイノベーションであるとのことです。

Linus 氏は、最初は別のリリース候補をリリースするつもりだったが、反省した結果、3.10 という番号の最終リリースをすぐにリリースする傾向にあったことを認めました。 Torvalds 氏はメッセージの中で、バージョン 3.9 と同様に、新しいカーネルは日常的に使用する準備が完全に整っていると述べました。

さらに、カーネルの RC バージョンの発表の中で、Linus Torvalds は、以前はコードの特定の部分を送信した人の名前のリストを常に含めていたが、今回はこのリストが非常に大きくなり、完全に 1 枚のシートで郵送されます。

カーネル 3.10 に加えられた主な変更のリスト:

  • スクリプトがプログラムとして実行されないようにすることができます。「#!」ヘッダーにインタープリターへのパスを含むスクリプトを実行する機能をカーネル モジュールとしてコンパイルできるようになりました。
  • 統合的に開発され、使用されています Googleシステム Bキャッシュ。 Bcache を使用すると、高速 SSD ドライブ上の低速ハード ドライブへのアクセスのキャッシュを整理できます。 この場合、キャッシュはブロック デバイス レベルで実行されます。これにより、使用されているデバイスに関係なく、ドライブへのアクセスが高速化されます。 ファイルシステムデバイス上で。
  • LLVMLinux プロジェクトによって準備されたパッチのおかげで、カーネルは Clang コンパイラを使用してコンパイルできます。
  • タイマ割り込みの発生を動的に制御するシステムが登場しました。 現在の状態に応じて、1 秒あたり数千ティックから 1 秒あたり 1 回の割り込みまでの範囲で割り込みを変更できるようになりました。これにより、システムが非アクティブなときに割り込みを処理する際の CPU の負荷を最小限に抑えることができます。 現在、この機能はリアルタイム システムと HPC (ハイ パフォーマンス コンピューティング) に使用されていますが、次のカーネル リリースではデスクトップ システムにも使用される予定です。
  • 利用可能なプロセス/システム メモリ (cgroups) が枯渇に近づいていることをアプリケーションに通知するイベントを生成できるようになりました。
  • メモリ アクセス プロファイリングが perf コマンドで利用できるようになりました。
  • RDMA (iSER) プロトコルのサポートが iSCSI サブシステムに追加されました。
  • 新しいドライバー「同期」(実験的) があります。 内で開発されました Android プラットフォーム他のドライバー間の同期に使用されます。
  • QXL 仮想グラフィックス カード ドライバーが統合されました (SPICE プロトコルを使用してグラフィックス出力を高速化するために仮想化システムで使用されます)。
  • で導入された新しい電源管理ツール AMDプロセッサファミリー16h(「ジャガー」)。
  • 最新の AMD GPU に組み込まれたハードウェア UVD デコーダを使用したビデオ デコードの高速化のサポートが Radeon DRM に追加されました。
  • 仮想ビデオアダプター用ドライバーが登場 Microsoft Hyper-V(による Hyper-V を実行しています一般に、改善もあります);
  • 暗号化関数 (sha256、sha512、blowfish、twofish、serpent、および Camellia) の実行は、AVX/AVX2 および SSE 命令を使用して最適化されます。

日曜日の夕方、新しい Linux カーネル 3.10 が正式にリリースされました。 Linus Torvalds 氏によると、このカーネルは、イノベーションという点では過去数年間で最大のものであることが判明しました。 Linus 氏は当初、別のリリース候補をリリースするつもりでしたが、最終リリース 3.10 をリリースする意向でした。メッセージの中で、新しいカーネルは Linux 3.9 と同様にパフォーマンス上の問題が発生しにくく、日常使用に適していると述べています。

RC バージョンの発表の中で Torvalds 氏は、通常はコードの特定の部分を送信した人の名前のリストを含めるが、今回のリストは非常に大規模であり、1 つのメーリング リストに完全にリストすることはできなかったと書いています。

カーネル 3.10 に加えられた変更の部分リスト:

  • スクリプトがプログラムとして実行されるのを防ぐことができます。「#!」ヘッダーにインタープリターへのパスを含むスクリプトを実行する機能をカーネル モジュールとしてコンパイルできるようになりました。
  • Google が開発し使用している Bcache システムが統合されています。 Bcache を使用すると、高速 SSD ドライブ上の低速ハード ドライブへのアクセスのキャッシュを整理できます。 この場合、キャッシュはブロック デバイス レベルで実行されます。これにより、デバイスで使用されているファイル システムに関係なく、ドライブへのアクセスが高速化されます。
  • LLVMLinux プロジェクトによって準備されたパッチのおかげで、カーネルは Clang コンパイラを使用してコンパイルできます。
  • タイマ割り込みの発生を動的に制御するシステムが登場しました。 現在の状態に応じて、1 秒あたり数千ティックから 1 秒あたり 1 回の割り込みまでの範囲で割り込みを変更できるようになりました。これにより、システムが非アクティブなときに割り込みを処理する際の CPU の負荷を最小限に抑えることができます。 現在、この機能はリアルタイム システムと HPC (ハイ パフォーマンス コンピューティング) に使用されていますが、次のカーネル リリースではデスクトップ システムにも使用される予定です。
  • 利用可能なプロセス/システム メモリ (cgroups) が枯渇に近づいていることをアプリケーションに通知するイベントを生成できるようになりました。
  • メモリ アクセス プロファイリングが perf コマンドで利用できるようになりました。
  • 新しいドライバー「同期」(実験的) があります。 これは Android プラットフォーム内で開発され、他のドライバー間の同期に使用されます。
  • Microsoft Hyper-V 仮想ビデオ アダプター用のドライバーが登場しました (Hyper-V の動作全般にも改良が加えられています)。
  • AMD の 16h (Jaguar) ファミリのプロセッサに導入された新しい電源管理機能がサポートされるようになりました。
  • 最新の AMD GPU に組み込まれたハードウェア UVD デコーダを使用したビデオ デコードの高速化のサポートが Radeon DRM に追加されました。
  • RDMA (iSER) プロトコルのサポートが iSCSI サブシステムに追加されました。
  • 暗号化関数 (sha256、sha512、blowfish、twofish、serpent、および Camellia) の実行は、AVX/AVX2 および SSE 命令を使用して最適化されます。
  • QXL 仮想グラフィックス カード ドライバーが統合されました (SPICE プロトコルを使用してグラフィックス出力を高速化するために仮想化システムで使用されます)。

モバイル デバイス ユーザーは、ガジェットの操作や機能に必ずしも満足しているわけではありません。 このため、ユーザーは Android オペレーティング システムのカーネルをフラッシュする最適な方法を探しています。 一方で、このアクションはタブレットやスマートフォンで簡単に実行できます。 何千人ものユーザーが、何の困難も問題もなくカーネルのフラッシュに成功しました。 しかしその一方で、このプロセス中にミスをすると、ガジェットの故障や高額なサービスの必要性などの問題が発生する可能性があります。 さまざまな段階で選択するリスクがあります 間違ったバージョンカーネル ファームウェアが無資格の開発者によって作成されたか、モバイル デバイスに適合しません。 デバイスのソフトウェア部分を低レベルで変更する操作を実行する場合は、細心の注意を払うことをお勧めします。 カーネルのフラッシュに成功すると、多くの人はまったく新しいデバイスを手に持っているように感じます。 したがって、上級ユーザーは、最新のモバイル テクノロジーに関する新しい知識と経験を獲得しながら、ガジェットを自分のニーズや好みに合わせてカスタマイズできます。

Android オペレーティング システムのカーネルとそのファームウェア

モバイルデバイスの核心は何ですか?

オペレーティング システム カーネルは、デバイスのハードウェアを制御するソフトウェアの基礎です。 ガジェットの基本パラメータはこれに依存します。 これは、Linux カーネル、Dalvik 垂直マシン、およびさまざまな低レベルのサービスとライブラリという 3 つの相互接続されたコンポーネントで構成されていることに注意してください。 カスタム ファームウェアについて話している場合、影響を受けるコンポーネントは 2 つだけです。これらのコンポーネントにより、新しいシステム サービスの追加、既存のパラメータの最適化、グラフィカル シェルの変更が可能になります。

Android にカーネルをインストールしたい場合は、カスタム カーネルとカスタム ファームウェアの概念に違いがあることを理解する必要があります。 後者はソフトウェアの非公式バージョンです。 カスタム ファームウェアは、特定のデバイス向けに専門家のチームによって開発されました。 カスタム カーネルは Linux カーネルに基づいており、その非公式バージョンを表します。 多くの場合、カスタム カーネルはファームウェアにバンドルされています。 ただし、ファームウェアを変更した後は個別にインストールできます。 実際、ネイティブ カーネルを置き換えるものではありません。 モバイルデバイス、これがこのような操作の最終目標です。

Android カーネル ファームウェアは主に、消費電力パラメータを調整することでデバイスの動作時間を数時間延長するために行われます。 おそらくこれが、ユーザーがガジェットのソフトウェアの複雑な変換を実行する主な理由です。 ファームウェアを使用すると、スマートフォンやタブレットに影響を与えることなくビデオ チップを変更できます。 上級ユーザーはこの方法で画面をカスタマイズし、演色性や感度を変更します。 カーネル ファームウェアを使用すると、デバイスのサウンドを改善したり、ドライバーを更新したり、非標準の外部ガジェットのサポートを導入したりできます。

カーネルをフラッシュする前に、経験豊富な開発者によって作成された適切なバージョンを選択していることを確認することをお勧めします。 さらに、Android ファームウェアのバージョンに適していることを確認することが重要です。 携帯電話に適切なバージョンのカーネルをインストールできた人のレビューを読むことをお勧めします。 レビューには次の内容が含まれる場合があります 重要な情報ファームウェアの段階またはデバイスのさらなる操作の段階で発生する可能性のある問題について。

Fastboot 経由でガジェットをフラッシュする

Fastboot を使用して Android デバイスを再フラッシュできます。 ただし、最初にガジェットにユーティリティをインストールする必要があります。 このプログラムには 2 つのバージョンがあります。 1 つ目は、公式のバージョンと組み合わせて Fastboot をダウンロードすることです。 アンドロイドプログラム SDK。 2 番目のバージョンでは、ユーティリティを個別にダウンロードする必要があります。

モバイルデバイスからラップトップまたはコンピュータが認識できるかどうかを確認することをお勧めします。 これを行うには、 を行う必要があります。 Windows オペレーティング システムを実行しているコンピューターまたはラップトップに Fastboot ユーティリティをダウンロードしてインストールし、スマートフォンを接続した後、コマンド ラインを開く必要があります。 これを行うには、「検索」を開きます。 Windows 8 では、マウス カーソルを次の場所に置くだけです。 右側画面に移動し、適切なセクションを選択します。 検索に「cmd」と入力する必要があります。その後、次のメッセージが表示されます。 コマンドライン。 デバイスはファームウェア モードに切り替える必要があります。 次に、コンピュータとモバイル デバイス間の対話をテストするコマンドを入力する必要があります。

高速ブートデバイス

すべてが機能する場合は、正しいバージョンのカーネル ファームウェア boot.img をダウンロードする必要があります。 元のファームウェアのカーネルをフラッシュすることは、スマートフォンの動作に問題が発生する可能性があるため、お勧めしません。 ファイルは、ドライブ C 上に以前に作成した「Android」というパーティションに保存する必要があります。 この後、モバイル デバイスを Fastboot で起動し、コンピュータに接続する必要があります。 「Fastboot USB」というメッセージが画面に表示されます。

  • cd C:\Android。
  • fastboot フラッシュブート boot.img。
  • 高速ブート消去キャッシュ。
  • ファストブート再起動。

大文字と小文字とスペースを考慮して、すべての単語を正しく入力することが非常に重要です。 cdコマンドが開きます 必要なフォルダ、これには必要なファイルが含まれています。 この後、点滅が発生します。 fastboot Erase Cache コマンドは、キャッシュ パーティションを削除します。 最後のコマンド - fastboot reboot は、デバイスをファームウェア モードから通常モードに再起動します。 上記の手順をすべて正しく実行すると、プロセスは成功します。

ClockworkMod Recoveryを使用したファームウェア

ClockworkMod の回復(略して CWM) は、元の工場出荷時のリカバリの代わりに使用されるリカバリ システムです。 CWM を使用するとインストールできます 新しいファームウェアモバイルデバイスに接続し、カーネルをフラッシュし、 バックアップコピーファイルを作成し、シェルを復元します。 このようなシステムは、zip 形式のファームウェア アップデート ファイルを処理できます。 ClockworkMod がインストールされており、工場出荷時の Recovery を置き換えます。 CWM を起動するには、ガジェットに適したキーの組み合わせを知っている必要があります。 ほとんどの場合、これは、デバイスの起動中に押す必要がある音量ダウン ボタンと電源ボタンの組み合わせです。

カーネル ファームウェアをフラッシュするには、zip 拡張子が付いたアーカイブをダウンロードします。 META-INF フォルダーが含まれている必要があります。 次に、2 つの選択肢があります。 最初のケースでは、ファームウェア ファイルを指定する必要があります。 2 番目のオプションでは、ファームウェア ファイルを /sdcard フォルダーに配置します。 この後、ClockworkMod Recoveryをアクティブにし、そこにあるSDカードからアップデートを適用機能を見つけて、必要なファイルを指定する必要があります。

ClockworkMod Recovery メニューは、ほとんどのユーザーにとって便利で理解しやすいものであることに注意してください。 このファームウェアのリカバリ システムに加えて、TWRP Recovery を使用することもできます。 このツールは便利で、Android ユーザーの間で人気があります。 主なことは選択することです 正しいファイルファームウェア。

Android カーネルのフラッシュは、ガジェットの動作に完全に満足している場合には推奨されない手順です。 このような行動は、生産性を向上させたいという欲求によって動かされます。 携帯電話またはタブレット。 上級ユーザーには、より低いレベルでパラメータを設定する機会があります。 ただし、特定の知識と客観的な理由がなければ、モバイルデバイスのソフトウェア部分を変更しないほうがよいでしょう。これは、操作上のリスクや誤動作につながるためです。

多くのオーナー Android デバイスさまざまなフォーラムや Web サイトで、カーネル (英語ではカーネル) と呼ばれる、理解できないものについての言及によく遭遇します。 これは変更可能であり、デバイス設定メニューの「タブレット (電話) について」セクションに記載されています。

さらに詳しく調べると、カーネルはオペレーティング システムの一部であり、Android だけでなく、Windows、iOS、MacOS などの他のオペレーティング システムにもカーネルが含まれていることがわかります。 しかし、私たちは Android カーネルに興味があるので、初心者ユーザーのレベルでそれが何であるかを説明しようとします。

Android を含むオペレーティング システムは、概して、デバイス全体の動作を制御し、起動を担当するプログラムのセットであることはおそらくご存知でしょう。 カスタムアプリケーション、ゲーム、ファイルマネージャー、Webブラウザーなど。

Android カーネルは、実質的にオペレーティング システムの最も重要な部分であり、システムのすべてのハードウェア部分とソフトウェア部分の間の相互作用を担当します。 カーネルは、デバイス内のすべての機器用のドライバーのセットと、メモリ、ネットワーク、セキュリティ、およびオペレーティング システムのその他の基本機能を管理するためのサブシステムで構成されます。
たとえば、アプリケーションを起動するために画面にタッチすると、画面のタッチパッド ドライバーがタッチが行われた位置を特定し、その座標を他のプログラムに報告し、その座標が再びカーネルを使用してデバイスのメモリを検索します。 適切なアプリケーションそしてそれを起動します。 もちろん、これは非常に単純化されたモデルですが、オペレーティング システムの本質を反映しています。

したがって、次のことがわかりました。 ソフトウェアタブレットや電話のハードウェアが何かを行う必要がある場合、オペレーティング システムのカーネルに頼ってそれを実行します。

カーネルは、Wi-Fi、Bluetooth、GPS、メモリ、その他のデバイスなど、すべての機器を完全に制御します。 デバイスの「心臓部」であるプロセッサも例外ではありません。 コアは周波数と電源を制御できます。
オペレーティングコア Androidシステム、開発者である Google が Linux オペレーティング システムから借用したものです。

カーネルはすべてのハードウェアを制御し、タブレットや携帯電話のハードウェアはすべて異なるため、基本的な Android カーネルはメーカーによってデバイスごとに個別に変更されます。

ファームウェアと同様に、カーネルにはストック (工場出荷時) とカスタム (独立した開発者によって作成された代替) があります。

カスタム カーネルが必要なのはなぜですか? 純正コアはメーカーによって最大限に最適化されています。 特定のデバイスですが、通常は、プロセッサ周波数の制御などの重要なカーネル機能がブロックされます。 また、タブレットのプロセッサをオーバークロックする必要がある場合は、プロセッサ周波数制御機能がロック解除されているカスタム カーネルに変更する必要があります。

さらに、カスタム カーネルは通常、より新しいカーネルに基づいています。 Linuxのバージョンコア。 カスタム カーネルが提供する機能のおおよそのリストは次のとおりです。

  • プロセッサ周波数を広い範囲で変更します。
  • グラフィックス サブシステム (GPU) のオーバークロック。
  • プロセッサーの周波数と電圧を下げることで、バッテリー寿命を長くすることができます。
  • GPS の高速化や新機能の追加など、より最新の高品質ドライバー。
  • サウンドをカスタマイズおよび構成するための幅広いオプション 色の範囲画面;
  • 代替ファイル システム (XFS、ReiserFS など) のサポート。

なぜなら 代替カーネルは独立した開発者によって作成されているため、カスタム カーネルをインストールした後、タブレットや携帯電話が障害なく動作するという保証はありません。 したがって、新しいカーネルをフラッシュする前に、システムの完全なバックアップを作成することをお勧めします。