このドキュメントでは、毎週、毎月、帯域外の緊急リリースなど、GKI がどのようにリリースされるかについて説明します。このドキュメントの目的は、GKI をどこで入手できるか、および帯域外の緊急修正のプロセスに関するガイドラインを OEM に提供することです。 OEM は、GKI 開発ガイドを使用して、Android カーネル チームと協力して自社製品の GKI カーネルを最適化する方法について詳しく学ぶこともできます。
GKI リリース ケイデンス
GKI は、KMI の凍結後、毎月のペースでリリースされます。
Android 13 および 14 GKI リリース
次の表は、 android13-5.10
、 android13-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 月 1 日 | 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 月 1 日 | 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 ビルドのコンプライアンス テストに合格することを保証します。
図 1. GKI リリースのタイムライン
緊急リスピンプロセス
リスピンとは、GKI カーネルの公開リリース後にバイナリを再マージ、再構築、再テスト、再認定するプロセスを指します。次のいずれかの状況では、認定バイナリのリスピンをリクエストできます。
- シンボルリストを更新します。
- キャリアラボの承認中に見つかったバグを含む、バグに修正を適用するため。
- ベンダーフックを追加するには。
- 既存の機能にパッチを適用します。
- セキュリティ パッチを適用するには (6 か月後)。
セキュリティ パッチは、ブランチのリリース後最大 6 か月間、リリース ブランチに自動的にマージされます。 6 か月のカットオフ後は、ブランチにセキュリティ パッチを適用するためにリスピンをリクエストする必要があります。
リスピンをリクエストする前に、次のガイドラインに注意してください。
リスピンは、月次ビルドの最初のパブリック リリースが開始された後のリリース ブランチでのみ許可されます。
リスピン リクエストは、最初の公開リリースから最大 6 か月間、特定のリリース ブランチに対してのみ受け付けられます。 6 か月後、ブランチはAndroid セキュリティ情報に記載されているセキュリティ パッチに対してのみリスピンの対象となります。
Android Security Bulletin (ASB)によって定義されたLTS 要件によってブランチが非準拠になった場合、そのブランチは非推奨になります。非推奨のブランチに対するリスピン リクエストは受け付けられません。特定の GKI リリース ブランチの非推奨日は、月次の GKI リリース ビルド ノートの[リリース]に記載されています。将来の計画のために、LTS 要件は毎年 5 月と 11 月に更新されます。たとえば、
android12-5.10-2023-07
ブランチ (5.10.177) は に準拠していないため、2024 年 5 月 1android12-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-08
とandroid12-5.10-2022-09
の両方で再スピンが必要な場合は、2 つの再スピン リクエストを作成する必要があります。ビルドが提供され、リスピン リクエストが修正済みとしてマークされた後は、CL を追加するためにリスピン リクエストを再度開いてはいけません。マージする必要がある追加のパッチがある場合は、新しいリスピン リクエストを送信する必要があります。
検討中の CL ごとに、次のタグを追加します。この情報がないと、リスピン リクエストの進行はブロックされます。
-
Bug
: 各 CL のコミット メッセージにバグ ID を追加する必要があります。 -
Change-Id
: ベース ブランチ変更の Change-Id と同一である必要があります。
-
リスピン リクエストに応答が必要で、3 営業日以内に応答しない場合、優先度は 1 レベル下がります (たとえば、 P0はP1にダウングレードされます)。 2 週間応答しない場合、バグは「修正されない (廃止)」としてマークされます。
リスピンリクエストを送信する
次の図は、リスピン プロセスを示しています。このプロセスは、OEM パートナー (あなた) がリスピン リクエストを送信すると始まります。
図 2.リスピンプロセス
リスピンプロセスに入るには:
- GKI リスピン リクエスト フォームに記入します。すぐに Google テクニカル アカウント マネージャーにご連絡ください。このフォームにより、GKI リスピン リクエストのバグが発生します。リスピン リクエストのバグは、あなた (リクエスト者)、GKI チーム、およびバグの CC リストに追加した特定の個人に表示されます。
- すでに修正がある場合は、Google が確認できるように、リクエストで AOSP のパッチ提出を指定する必要があります。パッチを送信できない場合は、パッチをテキスト ファイルとしてリクエストに添付する必要があります。
- 修正がない場合は、Google が問題のデバッグを支援できるように、リクエストにはカーネルのバージョン番号やログなど、できるだけ多くの情報を含める必要があります。
- Google GKI チームはリクエストを確認して承認するか、さらに情報が必要な場合はリクエストを再度割り当てます。
- 修正が合意された後、Google GKI チームは変更をコード レビュー (CR+2) します。レビューによって ESRT の期間が始まります。 GKI チームはマージ、ビルド、回帰テストを行い、変更を認証します。
- バイナリはci.android.comにリリースされます。 ESRT の期間が終了すると、Google GKI チームはリクエストを修正済みとしてマークし、リスピン ビルドを参照します。リスピン ビルドは、汎用カーネル イメージ (GKI) リリース ビルド ページにも掲載されています。
GKI資格
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 はいつでも変更ログで問題の説明と解決策を見つけることができます。