Core Kernel Requirements

1月 13, 2022
admin

Android 8.0 以降では、Vendor Test Suite (VTS) と OTA (Over-the-air) アップデートで検証された最小カーネル バージョンとカーネル構成が義務付けられています。 Android デバイス カーネルは、カーネルの .config サポートと、procfs を通して実行時にカーネル設定を読み取るオプションを有効にしなければなりません。

Kernel .config support

すべてのデバイス カーネルは android-base.cfg を有効にし、以下のカーネル設定オプション (または同等のカーネル バージョン) を含める必要があります:

CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y

Kernel version

Android 9 では、Long Term Support (LTS) カーネルバージョンの最小要件は 4.4.107 です。9.84、および 4.14.42 です。

  • 2018年に製品化されたすべてのシステムオンチップ (SoC) は、カーネル 4.9.84 以降で起動しなければなりません。
  • その他のすべての SoC は、Android 9 を実行する Android デバイスを起動するのにカーネル 4.4.107 以上を使用する必要があります。
  • 4.14 ベースのデバイス カーネルには、4.14.42 またはそれ以降の LTS リリースを含める必要があります。
  • 発売日に関係なく、Android 8.0 およびそれ以降のデバイスを起動するすべての SoC は、Treble を有効にするために必要なカーネルの変更に従わなければなりません。
  • Android 8.0 以降にアップグレードされた古い Android デバイスは、元のベース カーネル バージョンを引き続き使用できます。

LTS カーネルの詳細については、長期安定版カーネルおよび Android Common Kernels

Devicetree support

プラットフォームが Advanced Configuration and Power Interface (ACPI) をサポートしない場合、カーネルでの devicetree サポートが有効になっていなければならず、起動者はハードウェア記述を devicetree 形式でカーネルに伝えなければなりません。 また、devicetree は Android が読み取ることができ、ベンダーおよび ODM 固有のパラメータを Android に渡すことができなければなりません。 CONFIG_OF は、他のすべてのデバイスおよびサブシステム固有の CONFIG_OF_* カーネル設定オプションとともに必須です。

DebugFS

ベンダーインターフェイスの実装は、debugfs に依存することができません。 Android 7.0-10 では、debugfs は有効ですが、VTS テストは debugfs をアンマウントして行うことができます。

Android 11 では、debugfs は製品デバイス上でアクセスまたはマウントできません。 デバイスメーカーは debugfs を削除してください。 Android 11 以前、dumpstate は debugfs からバインダー統計にアクセスしていましたが、Android 11 で起動するユーザー ビルドは debugfs にアクセスできなくなったため、dumpstate は binderfs からもバインダー統計にアクセスできるようになりました。 Binderfs は、カーネルの CONFIG_ANDROID_BINDERFS 設定を有効にすることで有効になります。

Android 11 では、VTS はデバイスのカーネル構成で CONFIG_DEBUG_FS が有効になっておらず、 debugfs/proc/filesystems の下にリストされていないことを強制します。

コメントを残す

メールアドレスが公開されることはありません。