Questa pagina descrive come viene rilasciato GKI, incluse le release settimanali, trimestrali e di emergenza fuori banda. Lo scopo di questo documento è fornire agli OEM una linea guida su dove recuperare il GKI, nonché la procedura per le correzioni di emergenza out-of-band. Gli OEM possono anche utilizzare lo sviluppo di GKI per scoprire di più su come collaborare con il team del kernel Android per ottimizzare il kernel GKI per i loro prodotti.
Cadenza di rilascio di GKI
La GKI viene rilasciata con cadenza trimestrale dopo il blocco della KMI.
| Mese di uscita | a12-5.10 | a13-5.10 | a13-5.15 | a14-5.15 | a14-6.1 | a15-6.6 | a16-6.12 | a17-6.18 | |
|---|---|---|---|---|---|---|---|---|---|
| Ottobre 2025 |
Check-in cut off GKI preload ready |
16 ott 31 ott |
1 ott 15 ott |
1 ott 15 ott |
|||||
| Dicembre 2025 |
Check-in cut off GKI preload ready |
1° dic 15 dic |
1° dic 15 dic |
1° dic 15 dic |
1° dic 15 dic |
||||
| Gennaio 2026 |
Check-in cut off GKI preload ready |
16 gen 31 gen |
2 gen 15 gen |
2 gen 15 gen |
|||||
| Marzo 2026 |
Check-in cut off GKI preload ready |
1 mar 15 mar |
1 mar 15 mar |
15 mar 31 mar |
|||||
| Aprile 2026 |
Check-in cut off GKI preload ready |
16 apr 30 apr |
1 apr 15 apr |
1 apr 15 apr |
|||||
| Giugno 2026 |
Check-in cut off GKI preload ready |
1 giu 15 giu |
1 giu 15 giu |
15 giu 30 giu |
15 giu 30 giu |
||||
| Luglio 2026 |
Check-in cut off GKI preload ready |
16 lug 31 lug |
1 lug 15 lug |
1 lug 15 lug |
|||||
| Settembre 2026 |
Check-in cut off GKI preload ready |
1° set 15 set |
1° set 15 set |
16 set 30 set |
16 set 30 set |
||||
| Ottobre 2026 |
Check-in cut off GKI preload ready |
16 ott 31 ott |
1 ott 15 ott |
1 ott 15 ott |
|||||
| Dicembre 2026 |
Check-in cut off GKI preload ready |
1° dic 15 dic |
1° dic 15 dic |
1° dic 15 dic |
1° dic 15 dic |
||||
Validità della build GKI per gli OEM
Gli OEM possono utilizzare una GKI Android rilasciata di recente. Gli OEM possono eseguire l'avvio con build con certificazione GKI, a condizione che siano conformi ai requisiti LTS nel Bollettino sulla sicurezza di Android (ASB).
Uscite certificate trimestrali
Le release trimestrali di GKI contengono un boot.img testato che include un certificato inserito da Google per attestare che i file binari sono stati creati a partire da una baseline del codice sorgente nota.
Ogni trimestre, viene selezionata una release candidate trimestrale della GKI (non certificata) dopo la data di chiusura del check-in, che di solito è la seconda build settimanale di quel mese. Una volta selezionata la release candidata trimestrale, le nuove modifiche non verranno accettate nella release del mese. Durante il periodo della finestra chiusa, possono essere risolte solo le correzioni dei bug che causano l'esito negativo del test. La release candidate viene sottoposta al controllo qualità, come descritto nella sezione qualificazione GKI, per garantire che i test di conformità vengano superati nella build GSI+GKI con un dispositivo di riferimento e con Cuttlefish.
Figura 1. Cronologia di rilascio di GKI
Qualifiche GKI
| Tipi di build GKI | Applicazione della qualità | Notes |
|---|---|---|
| Settimanale | Test Cuttlefish
|
|
| Trimestrale (certificato) | Test Cuttlefish
|
|
| Riassegnazioni (certificate) | Test Cuttlefish
|
|
Dove ottenere gli artefatti della build
Gli artefatti per tutte le release possono essere ottenuti da ci.android.com.
Puoi trovare ulteriori informazioni sull'integrazione continua, inclusi i risultati dei test, nella dashboard Android Continuous Integration.
Domande frequenti
Di seguito sono riportate alcune domande frequenti relative alla procedura di rilascio del GKI.
È possibile creare un nuovo binario GKI basato su una GKI già rilasciata?
Sì, questa operazione è nota come respin. La procedura di respin è supportata a condizione che la build GKI rilasciata (su cui viene richiesto il respin) sia conforme ai requisiti LTS del Bollettino sulla sicurezza di Android (ASB).
È possibile riprodurre i binari GKI?
Sì, ecco un esempio:
GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest
Per riprodurre l'esempio, scarica manifest_$id.xml ed esegui questo comando:
repo init -u https://android.googlesource.com/kernel/manifestmv manifest_7364300.xml .repo/manifestsrepo init -m manifest_7364300.xml --depth=1repo sync # build the GKI images # You may want to use LTO=thin to build faster for developmentBUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh # (optional) build virtual platform modulesBUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh
Puoi recuperare la copia dell'artefatto GKI da out/.../dist.
Il binario GKI (inclusa la patch di emergenza) è stato creato sulla base di codice più recente?
No. I respins contengono solo patch che si trovano sopra i kernel certificati trimestrali che sono stati scelti. Questi respins contengono tutte le correzioni di bug che bloccano il lancio segnalate fino a un determinato momento dagli OEM che utilizzano la release trimestrale di base corrispondente. Vedi il seguente esempio di come si verifica questo tipo di scenario.
- OEM1 e OEM2 decidono di utilizzare la release binaria GKI di novembre 2021.
- OEM1 e OEM2 rilevano problemi che richiedono patch per l'assistenza. Queste patch possono essere diverse o uguali.
- I respins sopra il binario di novembre 2021 hanno correzioni del blocco dell'avvio segnalate sia da OEM1 che da OEM2 durante la finestra di respin, ma nient'altro.
- I problemi menzionati nel secondo punto elenco sono inclusi anche nelle release trimestrali successive del GKI.
Il respin di ottobre include tutte le patch inviate dagli OEM, ma altre patch OEM ci interessano perché non sono state testate specificamente con i nostri prodotti. È possibile includere solo la nostra patch?
Non è possibile. Un percorso di ricompilazione "per OEM" non è scalabile. Il team GKI esamina attentamente ogni singola modifica apportata alle build di respin e testa le modifiche con tutto l'hardware disponibile prima di creare una nuova build. Se il team GKI rileva che il problema è specifico di un OEM, di un dispositivo o di un modello, può assicurarsi che il codice aggiunto dalla modifica venga eseguito solo sul dispositivo, sul modello o sullo SKU interessato.
Il vantaggio principale delle ricompilazioni unificate è che tutti i dispositivi che utilizzano la stessa base di rilascio traggono vantaggio l'uno dall'altro, soprattutto se i bug che scoprono sono generici e applicabili a tutti gli utenti. I bug del kernel principale rilevati nei test dell'operatore sono un esempio specifico di questo concetto.
Esistono situazioni in cui Google fornisce informazioni specifiche sulle patch OEM e sugli scenari di problemi, in modo che gli OEM possano valutare l'impatto e il rischio dell'implementazione delle patch con i loro prodotti?
Google non aggiungerà mai una modifica a una build di respin finché il problema non sarà compreso e tutti i dettagli non saranno stati raccolti. Questo è visibile nel log delle modifiche (messaggio di commit). Google non rivela il dispositivo specifico interessato, ma gli OEM possono sempre trovare la descrizione del problema e la soluzione nel log delle modifiche.