Android 8.0 以上では、ベンダー テストスイート(VTS)と無線(OTA)アップデートにおいて、最小カーネル バージョンと最小カーネル構成の検証が求められます。Android デバイス カーネルで、カーネル .config
のサポートと、実行時に procfs
ファイル システムからカーネル構成を読み取るオプションを有効にする必要があります。
カーネル .config のサポート
すべてのデバイス カーネルで、android-base.cfg 全体を有効にする必要があります。これは、以下の kernel-config オプション(またはこれに相当する kernel-version)を含んでいなければなりません。
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
カーネル バージョン
Android 9 の場合、必要とされる最小 LTS(長期サポート)カーネル バージョンは、4.4.107、4.9.84、4.14.42 です。
- 2018 年に製品化される SoC はすべて、カーネル 4.9.84 以上でリリースする必要があります。
- Android 9 を搭載した Android デバイスでリリースするその他のすべての SoC では、カーネル 4.4.107 以上を使用する必要があります。
- 4.14 ベースのデバイス カーネルには、4.14.42 以上の LTS リリースが含まれている必要があります。
- リリース日にかかわらず、Android 8.0 以上を搭載したデバイスでリリースするすべての SoC では、Treble の有効化に必要なカーネルの変更を適用しなければなりません。
- Android 8.0 以上にアップグレードされた古い Android デバイスでは、引き続き元のベースカーネル バージョンを使用できます。
LTS カーネルの詳細については、長期安定版カーネルと Android の共通カーネルをご覧ください。
devicetree のサポート
プラットフォームが ACPI(Advanced Configuration and Power Interface)仕様をサポートしていない場合は、カーネルで devicetree のサポートを有効にして、ブートローダーがハードウェア記述を devicetree の形式でカーネルに渡す必要があります。また、devicetree は、Android による読み取りが可能で、ベンダー / ODM に固有のパラメータを Android に渡すことができなければなりません。CONFIG_OF
は必須であり、デバイス / サブシステムに固有の他の CONFIG_OF_*
カーネル構成オプションもすべて必須です。
DebugFS の使用
ベンダー インターフェース実装が、デバッグ情報へのアクセスについて DebugFS
ファイル システムに依存しないようにしてください。Android 7.0~10 では、DebugFS
を有効にすることはできますが、DebugFS
をマウントしなくても VTS テストは実施可能だからです。
Android 11 では、製品版デバイスで DebugFS
にアクセスしたりマウントしたりすることはできないため、デバイス メーカーはこれを削除する必要があります。Android 11 より前では、dumpstate
が DebugFS
からバインダ統計情報にアクセスしていました。Android 11 以降を搭載した user ビルドは DebugFS
にアクセスできないため、dumpstate
は binderfs
からバインダ統計情報にアクセスします。Binderfs
を有効にするには、カーネル構成 CONFIG_ANDROID_BINDERFS
を有効にします。
Android 11 では、VTS に次の 2 つの要件が適用されます。
- デバイスのカーネル構成で
CONFIG_DEBUG_FS
が有効になっていない。 DebugFS
が/proc/filesystems
に表示されない。
Android 11 の DebugFS
次の表に、Android 11 でこの 3 つのカテゴリがそれぞれどのようにサポートされるかを示します。user ビルドには DebugFS
をマウントできないため、以下は userdebug ビルドにのみ該当します。Android 11 でリリースされるデバイスの user ビルドには DebugFS
をマウントしないでください。
ユースケース | Android 11 の userdebug ビルド |
---|---|
1 回限りの DebugFS ファイルの初期化(起動中): このアクセスは起動中に 1 回だけ行われます。 |
ベンダー init が、初期化を行います。 |
バグレポートの生成: dumpstate HAL がバグレポートの一部となる DebugFS ファイルを読み取ります。 |
dumpstate ツールによって呼び出されたときに、DumpstateBoard() 内の dumpstate HAL が実行します。 |
デバイス固有のテストと検証 | adb の root とシェル |