汎用カーネル イメージ (GKI) リリース プロセス

このドキュメントでは、毎週、毎月、帯域外の緊急リリースなど、GKI がどのようにリリースされるかについて説明します。このドキュメントの目的は、GKI をどこで入手できるか、および帯域外の緊急修正のプロセスに関するガイドラインを OEM に提供することです。 OEM は、GKI 開発ガイドを使用して、Android カーネル チームと協力して自社製品の GKI カーネルを最適化する方法について詳しく学ぶこともできます。

GKI リリース ケイデンス

GKI は、KMI の凍結後、毎月のペースでリリースされます。

Android 13 および 14 GKI リリース

次の表は、 android13-5.10android13-5.15 、およびandroid14-6.1にのみ適用されます。

GKI 月次認定ビルドチェックイン締め切り日GKI プリロード準備完了日確認済み?
10月2022 年 10 月 14 日2022年10月31日はい
11月2022 年 11 月 14 日2022年11月30日はい
12月2022 年 12 月 9 日2022年12月21日はい
1月2023 年 1 月 17 日2023年1月31日はい
2月2023 年 2 月 15 日2023 年 2 月 28 日はい
行進2023 年 3 月 15 日2023年3月31日はい
4月2023 年 4 月 13 日2023 年 4 月 28 日はい
5月2023 年 5 月 17 日2023 年 5 月 31 日はい
六月2023 年 6 月 15 日2023年6月30日はい
7月2023 年 7 月 18 日2023年7月31日はい
8月2023 年 8 月 16 日2023年8月31日はい
9月2023 年 9 月 14 日2023年9月29日はい
10月2023 年 10 月 18 日2023年10月31日はい
11月2023 年 11 月 10 日2023年11月30日はい
12月2023 年 12 月 7 日2023 年 12 月 22 日はい
1月2024 年 1 月 16 日2024 年 1 月 31 日はい
2月2024 年 2 月 13 日2024 年 2 月 29 日はい
行進2024 年 3 月 13 日2024 年 3 月 29 日はい
4月2024 年 4 月 16 日2024 年 4 月 30 日はい
5月2024 年 5 月 14 日2024 年 5 月 31 日はい
六月2024 年 6 月 12 日2024 年 6 月 28 日はい
7月2024 年 7 月 16 日2024 年 7 月 31 日はい
8月2024 年 8 月 15 日2024 年 8 月 30 日はい
9月2024 年 9 月 17 日2024 年 9 月 30 日はい
10月2024 年 10 月 15 日2024年10月31日はい
11月2024 年 11 月 11 日2024 年 11 月 27 日はい
12月2024 年 12 月 6 日2024 年 12 月 23 日はい

2024 年 1 月から、以下の表に概説されている指定された月次ペースに従って、 android14-5.15の月次リリースを再開します。

GKI 月次認定ビルドチェックイン締め切り日GKI プリロード準備完了日確認済み?
1月2024 年 1 月 16 日2024 年 1 月 31 日はい
2月2024 年 2 月 13 日2024 年 2 月 29 日はい
行進2024 年 3 月 4 日2024 年 3 月 15 日はい
4月2024 年 4 月 1 日2024 年 4 月 17 日はい
5月2024 年 5 月 1 日2024 年 5 月 17 日はい
六月2024 年 6 月 3 日2024 年 6 月 17 日はい
7月2024 年 7 月 1 日2024 年 7 月 15 日はい
8月2024 年 8 月 1 日2024 年 8 月 16 日はい
9月2024 年 9 月 2 日2024 年 9 月 16 日はい
10月2024 年 10 月 1 日2024 年 10 月 14 日はい
11月2024 年 11 月 1 日2024 年 11 月 15 日はい
12月2024 年 12 月 2 日2024 年 12 月 16 日はい

Android 12 GKI リリース

2023 年 5 月以降、 android12-5.10 GKI リリースは 2 か月のペースで、月中旬に公開されます。次の表は、 android12-5.10にのみ適用されます。

GKI 月次認定ビルドチェックイン締め切り日GKI プリロード準備完了日確認済み?
7月2023 年 7 月 3 日2023 年 7 月 14 日はい
9月2023年9月1日2023 年 9 月 15 日はい
11月2023 年 11 月 3 日2023 年 11 月 17 日はい
1月2024 年 1 月 5 日2024 年 1 月 19 日はい
行進2024 年 3 月 4 日2024 年 3 月 15 日はい
5月2024 年 5 月 1 日2024 年 5 月 17 日はい

OEM 向けの GKI ビルドの有効性

OEM は、最近リリースされた Android GKI を使用できます。 OEM は、Android Security Bulletin (ASB) の LTS 要件に準拠している限り、GKI 認定ビルドで起動できます。

毎週の開発リリース

リリースはイカでテストされ、最低品質基準に合格していることを確認します。

GKI バイナリは、変更がマージされると、 ci.android.comからセルフサービスで利用できます。毎週のビルドは認定されませんが、開発とテストのベースラインとして使用できます。週次ビルドは、エンド ユーザー向けの実稼働デバイスのビルドには使用できません。

毎月の認定リリース

GKI の月次リリースには、バイナリが既知のソース コード ベースラインから構築されたことを証明するために Google が挿入した証明書を含む、テスト済みのboot.imgが含まれています。

毎月、GKI 月次リリース候補 (認定されていない) が、チェックイン締め切り日 (通常はその月の 2 番目の週次ビルド) の後に選択されます。月次リリース候補が選択されると、新しい変更はその月のリリースに受け入れられなくなります。クローズドウィンドウ期間中は、テスト失敗の原因となるバグの修正のみに対処できます。リリース候補は、 GKI 認定セクションで説明されているように品質保証を受け、基準デバイスおよびイカを使用した GSI+GKI ビルドのコンプライアンス テストに合格することを保証します。

GKI リリース ケイデンスのタイムライン図 1. GKI リリースのタイムライン

緊急リスピンプロセス

リスピンとは、GKI カーネルの公開リリース後にバイナリを再マージ、再構築、再テスト、再認定するプロセスを指します。次のいずれかの状況では、認定バイナリのリスピンをリクエストできます。

  • シンボルリストを更新します。
  • キャリアラボの承認中に見つかったバグを含む、バグに修正を適用するため。
  • ベンダーフックを追加するには。
  • 既存の機能にパッチを適用します。
  • セキュリティ パッチを適用するには (6 か月後)。

セキュリティ パッチは、ブランチのリリース後最大 6 か月間、リリース ブランチに自動的にマージされます。 6 か月のカットオフ後は、ブランチにセキュリティ パッチを適用するためにリスピンをリクエストする必要があります。

リスピンをリクエストする前に、次のガイドラインに注意してください。

  • リスピンは、月次ビルドの最初のパブリック リリースが開始された後のリリース ブランチでのみ許可されます。

  • リスピン リクエストは、最初の公開リリースから最大 6 か月間、特定のリリース ブランチに対してのみ受け付けられます。 6 か月後、ブランチはAndroid セキュリティ情報に記載されているセキュリティ パッチに対してのみリスピンの対象となります。

  • Android Security Bulletin (ASB)によって定義されたLTS 要件によってブランチが非準拠になった場合、そのブランチは非推奨になります。非推奨のブランチに対するリスピン リクエストは受け付けられません。特定の GKI リリース ブランチの非推奨日は、月次の GKI リリース ビルド ノートの[リリース]に記載されています。将来の計画のために、LTS 要件は毎年 5 月と 11 月に更新されます。たとえば、 android12-5.10-2023-07ブランチ ( android12-5.10-2023-07 ) は、 ASB-2024-05 の LTS 要件。

  • リスピンは、緊急のバグ修正、シンボル リストの更新、または既存の機能を修正するパッチの適用にのみ適用されます。

  • 月次リリース ブランチに入るすべてのパッチは、メインの GKI 開発ブランチにすでにマージされている必要があります。たとえば、 android12-5.10-2022-09のリスピンにパッチが必要な場合、パッチはすでにandroid12-5.10にマージされている必要があります。

  • メインの GKI 開発ブランチからパッチを厳選し、そのパッチを月次リリース ブランチにアップロードする必要があります。

  • リスピンリクエストでは、リクエストに優先度(緊急度)を割り当てる必要があります。この優先事項は、GKI チームがパートナーをタイムリーに支援するのに役立ちます。クリティカルなリクエストまたは時間に敏感なリクエストの場合は、優先度をP0としてマークします。 P0 および P1 リクエストの場合は、緊急性を正当化する必要もあります。次の表は、バグの優先度と解決までの時間 (ESRT) のマッピングを示しています。

    優先度ESRT
    P0 2営業日
    P1 5営業日
    P2 10営業日
    P3 15営業日
  • リリース ブランチごとに個別のリスピン リクエストを送信する必要があります。たとえば、 android12-5.10-2022-08android12-5.10-2022-09の両方で再スピンが必要な場合は、2 つの再スピン リクエストを作成する必要があります。

  • ビルドが提供され、リスピン リクエストが修正済みとしてマークされた後は、CL を追加するためにリスピン リクエストを再度開いてはいけません。マージする必要がある追加のパッチがある場合は、新しいリスピン リクエストを送信する必要があります。

  • 検討中の CL ごとに、次のタグを追加します。この情報がないと、リスピン リクエストの進行はブロックされます。

    • Bug : 各 CL のコミット メッセージにバグ ID を追加する必要があります。
    • Change-Id : ベース ブランチ変更の Change-Id と同一である必要があります。
  • リスピン リクエストに応答が必要で、3 営業日以内に応答しない場合、優先度は 1 レベル下がります (たとえば、 P0P1にダウングレードされます)。 2 週間応答しない場合、バグは「修正されない (廃止)」としてマークされます。

リスピンリクエストを送信する

次の図は、リスピン プロセスを示しています。このプロセスは、OEM パートナー (あなた) がリスピン リクエストを送信すると始まります。

緊急リスピンプロセス図 2.リスピンプロセス

リスピンプロセスに入るには:

  1. GKI リスピン リクエスト フォームに記入します。すぐに Google テクニカル アカウント マネージャーにご連絡ください。このフォームにより、GKI リスピン リクエストのバグが発生します。リスピン リクエストのバグは、あなた (リクエスト者)、GKI チーム、およびバグの CC リストに追加した特定の個人に表示されます。
    • すでに修正がある場合は、Google が確認できるように、リクエストで AOSP のパッチ提出を指定する必要があります。パッチを送信できない場合は、パッチをテキスト ファイルとしてリクエストに添付する必要があります。
    • 修正がない場合は、Google が問題のデバッグを支援できるように、リクエストにはカーネルのバージョン番号やログなど、できるだけ多くの情報を含める必要があります。
  2. Google GKI チームはリクエストを確認して承認するか、さらに情報が必要な場合はリクエストを再度割り当てます。
  3. 修正が合意された後、Google GKI チームは変更をコード レビュー (CR+2) します。レビューによって ESRT の期間が始まります。 GKI チームはマージ、ビルド、回帰テストを行い、変更を認証します。
  4. バイナリはci.android.comにリリースされます。 ESRT の期間が終了すると、Google GKI チームはリクエストを修正済みとしてマークし、リスピン ビルドを参照します。リスピン ビルドは、汎用カーネル イメージ (GKI) リリース ビルド ページにも掲載されています。

GKI資格

GKI ビルドの種類品質の徹底ノート
毎週イカの検査
  • ブート
  • VTS のサブセット
  • CTS のサブセット
  • 認定されていません。テストのみと、
    デバイスを立ち上げます。
  • デバイスの起動には使用できません。
毎月(認定済み)イカの検査
  • ブート
  • VTS
  • CTS
リファレンスハードウェアテスト
  • ブート
  • VTS
  • CTS
    リスピン (認定済み)イカの検査
    • ブート
    • VTS
    • CTS のサブセット
    リファレンスデバイスのテスト
    • ブート
    • VTS
    • GKI 認定ビルドの上に構築されています。
    • ビルドは認定後に認定されます。

    ビルドアーティファクトの入手場所

    すべてのリリースのアーティファクトはci.android.comから入手できます。

    Android 継続的インテグレーションダッシュボードのテスト結果など、CI に関する詳細情報を確認できます。

    よくある質問

    すでにリリースされている GKI に基づいて新しい GKI バイナリを構築することはできますか?

    はい、これはリスピンとして知られています。リスピン プロセスは、リリースされた GKI ビルド (リスピンが要求される) が Android セキュリティ情報 (ASB) の LTS 要件に準拠している限りサポートされます。

    GKI バイナリを再現することは可能ですか?

    はい、以下の例を参照してください。

    GKI 2.0
    5.10 kernel prebuilts from build 7364300
    https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest
    

    例を再現するには、 manifest_$id.xmlをダウンロードし、次のコマンドを実行します。

    repo init -u https://android.googlesource.com/kernel/manifest
    mv manifest_7364300.xml .repo/manifests
    repo init -m manifest_7364300.xml --depth=1
    repo sync
    # build the GKI images
    # You may want to use LTO=thin to build faster for development
    BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
    # (optional) build virtual platform modules
    BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh
    

    GKI アーティファクトのコピーはout/.../distから取得できます。

    GKI バイナリ (緊急スピン パッチを含む) は最新のコードベースに基づいて構築されていますか?

    いいえ。リスピンには、選択された月次認定カーネルの上にあるパッチのみが含まれています。これらのリスピンには、対応する基本月次リリースを使用する OEM によって特定の時点までに報告された、起動をブロックするすべてのバグ修正が含まれています。このタイプのシナリオがどのように発生するかを示す次の例を参照してください。

    • OEM1 と OEM2 は、2021 年 11 月から GKI バイナリ リリースを使用することを決定しました。
    • OEM1 と OEM2 は、サポートのためにパッチが必要な問題を検出します。これらのパッチは異なる場合もあれば、同じである場合もあります。
    • 2021 年 11 月のバイナリを上回るリスピンには、リスピン ウィンドウ中に OEM1 と OEM2 の両方から報告された起動ブロック修正が含まれていますが、それ以上のものはありません。
    • 2 番目の項目で説明されている問題は、その後の GKI 月次リリースにも含まれています。

    10 月のリスピンには OEM が提出したすべてのパッチが含まれていますが、他の OEM パッチは当社の製品で具体的にテストされていないため、影響を受けます。弊社のパッチのみを含めることは可能ですか?

    これは不可能です。 「OEM ごとの」リスピン パスは現在スケーラブルではありません。代わりに、GKI チームはリスピン ビルドに含まれるすべての変更を精査し、新しいビルドを作成する前に利用可能なすべてのハードウェアで変更をテストします。 GKI チームが問題が OEM/デバイス/モデルに固有のものであると判断した場合、GKI チームは、変更によって追加されたコードが影響を受けるデバイス/モデル/SKU でのみ実行されることを確認できます。

    統合リスピンの主な利点は、特に発見されたバグが一般的ですべてのユーザーに適用できる場合、同じリリース ベースを使用しているすべてのデバイスが相互にメリットを享受できることです。キャリアのテストで見つかったコアカーネルのバグは、この概念の具体的な例です。

    OEM が製品にパッチを実装することの影響とリスクを評価できるように、Google がOEM のパッチと問題のシナリオに関する具体的な情報を提供する状況はありますか?

    Google は、問題を理解し、すべての詳細が収集されるまで、リスピン ビルドに変更を加えることはありません。これは変更ログ (コミット メッセージ) で確認できます。 Google は、影響を受ける特定のデバイスを明らかにしていませんが、OEM はいつでも変更ログで問題の説明と解決策を見つけることができます。