前回の会議では Linux Googleによる配管工2019 開発について メインコアへの転送時 Linux 開発中の変更 プラットフォーム用 Android究極の目標は、 Android 特定のカーネルに基づいてデバイスごとに個別のアセンブリを準備するのではなく、共通のカーネルを使用する。 Android 小枝 この目標は既に部分的に達成されており、会議ではその実証が行われた。 Android- 通常の、変更されていないカーネルをベースにしたファームウェアを搭載したXiaomi Poco F1スマートフォン Linux.
プロジェクトの準備が整い次第、サプライヤーにはコアコアをベースにしたベースコアの供給が求められます。 Linuxハードウェアサポートコンポーネントは、カーネルパッチではなく、追加のカーネルモジュールとしてベンダーからのみ提供されます。これらのモジュールは、カーネルシンボルネームスペースレベルでメインカーネルと互換性がある必要があります。メインカーネルに影響を与えるすべての変更は、アップストリームに反映されます。LTSブランチ内の独自モジュールとの互換性を維持するために、安定したカーネルAPIとABIを維持することが提案されています。これにより、各共通カーネルブランチのアップデートとのモジュールの互換性が確保されます。

中核への一年 Linux カーネル版から Android 各種リソース(CPU、メモリ、入出力)の取得待ち時間に関する情報を分析するPSI(Pressure Stall Information)サブシステム、Binderプロセス間通信メカニズム用のBinderFS擬似ファイルシステム、エネルギー効率の高いEAS(Energy Aware Scheduling)タスクスケジューラなどの機能が移管されました。今後、 Android ARMで開発されたcgroups2と標準カーネルメカニズムに基づく新しいUtilClampサブシステムへ、既存のSchedTuneスケジューラから移行することが計画されている。

プラットフォームの中核部分は依然として Android 準備にはいくつかの段階を経た。
- メインの LTS カーネル (3.18、4.4、4.9、4.14) をベースに、ブランチが作成されました。Android 共通カーネル」を、特定の Android パッチ(以前は変更の規模が数百万行に達していたが、最近では変更は数千行のコードにまで縮小されている)。
- に基づく "Android クアルコムなどのチップメーカーは、「共通カーネル」と呼ばれるものから、ハードウェアをサポートするための機能を追加した「SoCカーネル」を形成した。
- SoC カーネルに基づいて、デバイス メーカーは、追加の機器、スクリーン、カメラ、サウンド システムなどのサポートに関連する変更を含むデバイス カーネルを作成しました。

基本的に、各デバイスは独自のカーネルを持っており、他のデバイスでは使用できませんでした。この構成は、脆弱性を修正するアップデートの配信や新しいカーネルブランチへの移行を著しく複雑化させました。例えば、10月に発売された最新のPixel 4スマートフォンには、カーネルが搭載されています。 Linux 2年前にリリースされたバージョン4.14。Googleは、このシステムを普及させることで、メンテナンスの簡素化を図ろうとした。 これにより、メーカーは特定のバージョンに縛られない汎用ハードウェアサポートコンポーネントを作成できるようになります。 Android 使用されたカーネルリリース LinuxTrebleを使用すると、デバイス固有のコンポーネントを統合することで、既存のGoogleアップデートをさらに発展させることができます。

出所: オープンネット.ru
