Dokumen ini menjelaskan cara GKI dirilis, termasuk rilis darurat mingguan, bulanan, dan di luar band. Tujuan dari dokumen ini adalah untuk memberikan panduan kepada OEM mengenai lokasi pengambilan GKI serta proses perbaikan darurat di luar jalur. OEM juga dapat menggunakan panduan Pengembangan GKI untuk mempelajari lebih lanjut cara bekerja dengan tim Kernel Android guna mengoptimalkan kernel GKI untuk produk mereka.
Irama pelepasan GKI
GKI dirilis secara bulanan pasca pembekuan KMI.
Rilis GKI Android 13 dan 14
Tabel berikut hanya berlaku untuk android13-5.10
, android13-5.15
, dan android14-6.1
.
Bangunan bersertifikat bulanan GKI | Tanggal batas check-in | Tanggal siap pramuat GKI | Dikonfirmasi? |
---|---|---|---|
Oktober | 14 Oktober 2022 | 31 Oktober 2022 | Ya |
November | 14 November 2022 | 30 November 2022 | Ya |
Desember | 9 Desember 2022 | 21 Desember 2022 | Ya |
Januari | 17 Januari 2023 | 31 Januari 2023 | Ya |
Februari | 15 Februari 2023 | 28 Februari 2023 | Ya |
Berbaris | 15 Maret 2023 | 31 Maret 2023 | Ya |
April | 13 April 2023 | 28 April 2023 | Ya |
Mungkin | 17 Mei 2023 | 31 Mei 2023 | Ya |
Juni | 15 Juni 2023 | 30 Juni 2023 | Ya |
Juli | 18 Juli 2023 | 31 Juli 2023 | Ya |
Agustus | 16 Agustus 2023 | 31 Agustus 2023 | Ya |
September | 14 September 2023 | 29 September 2023 | Ya |
Oktober | 18 Oktober 2023 | 31 Oktober 2023 | Ya |
November | 10 November 2023 | 30 November 2023 | Ya |
Desember | 7 Desember 2023 | 22 Desember 2023 | Ya |
Januari | 16 Januari 2024 | 31 Januari 2024 | Ya |
Februari | 13 Februari 2024 | 29 Februari 2024 | Ya |
Berbaris | 13 Maret 2024 | 29 Maret 2024 | Ya |
April | 16 April 2024 | 30 April 2024 | Ya |
Mungkin | 14 Mei 2024 | 31 Mei 2024 | Ya |
Juni | 12 Juni 2024 | 28 Juni 2024 | Ya |
Juli | 16 Juli 2024 | 31 Juli 2024 | Ya |
Agustus | 15 Agustus 2024 | 30 Agustus 2024 | Ya |
September | 17 September 2024 | 30 September 2024 | Ya |
Oktober | 15 Oktober 2024 | 31 Oktober 2024 | Ya |
November | 11 November 2024 | 27 November 2024 | Ya |
Desember | 6 Desember 2024 | 23 Desember 2024 | Ya |
Mulai Januari 2024, kami akan melanjutkan rilis bulanan android14-5.15
sesuai dengan ritme bulanan yang ditentukan seperti yang diuraikan dalam tabel di bawah.
Bangunan bersertifikat bulanan GKI | Tanggal batas check-in | Tanggal siap pramuat GKI | Dikonfirmasi? |
---|---|---|---|
Januari | 16 Januari 2024 | 31 Januari 2024 | Ya |
Februari | 13 Februari 2024 | 29 Februari 2024 | Ya |
Berbaris | 4 Maret 2024 | 15 Maret 2024 | Ya |
April | 1 April 2024 | 17 April 2024 | Ya |
Mungkin | 1 Mei 2024 | 17 Mei 2024 | Ya |
Juni | 3 Juni 2024 | 17 Juni 2024 | Ya |
Juli | 1 Juli 2024 | 15 Juli 2024 | Ya |
Agustus | 1 Agustus 2024 | 16 Agustus 2024 | Ya |
September | 2 September 2024 | 16 September 2024 | Ya |
Oktober | 1 Oktober 2024 | 14 Oktober 2024 | Ya |
November | 1 November 2024 | 15 November 2024 | Ya |
Desember | 2 Desember 2024 | 16 Desember 2024 | Ya |
Rilis GKI Android 12
Setelah Mei 2023, rilis GKI android12-5.10
akan berlangsung selama 2 bulan dan diterbitkan pada pertengahan bulan. Tabel berikut hanya berlaku untuk android12-5.10
.
Bangunan bersertifikat bulanan GKI | Tanggal batas check-in | Tanggal siap pramuat GKI | Dikonfirmasi? |
---|---|---|---|
Juli | 3 Juli 2023 | 14 Juli 2023 | Ya |
September | 1 September 2023 | 15 September 2023 | Ya |
November | 3 November 2023 | 17 November 2023 | Ya |
Januari | 5 Januari 2024 | 19 Januari 2024 | Ya |
Berbaris | 4 Maret 2024 | 15 Maret 2024 | Ya |
Mungkin | 1 Mei 2024 | 17 Mei 2024 | Ya |
Validitas build GKI untuk OEM
OEM dapat menggunakan Android GKI yang baru dirilis. OEM dapat meluncurkan dengan build bersertifikasi GKI selama build tersebut mematuhi persyaratan LTS di Android Security Bulletin (ASB).
Rilis pengembangan mingguan
Rilis diuji dengan sotong untuk memastikan mereka melewati standar kualitas minimum .Biner GKI tersedia untuk layanan mandiri dari ci.android.com saat perubahan digabungkan. Build mingguan tidak akan disertifikasi, namun dapat digunakan sebagai dasar pengembangan dan pengujian. Pembuatan mingguan tidak dapat digunakan untuk pembuatan perangkat produksi bagi pengguna akhir.
Rilis bersertifikat bulanan
Rilis bulanan GKI berisi boot.img
teruji yang menyertakan sertifikat yang disisipkan Google untuk membuktikan bahwa binari dibuat dari dasar kode sumber yang diketahui.
Setiap bulan, kandidat rilis bulanan GKI (tidak bersertifikat) dipilih setelah tanggal batas check-in, yang biasanya merupakan build mingguan kedua pada bulan tersebut. Setelah kandidat rilis bulanan dipilih, perubahan baru tidak akan diterima pada rilis bulan tersebut. Selama periode jendela tertutup, hanya perbaikan bug yang menyebabkan kegagalan pengujian yang dapat diatasi. Kandidat pelepasliaran menjalani jaminan kualitas—seperti yang dijelaskan di bagian kualifikasi GKI —untuk memastikan lulus uji kepatuhan pada GSI+GKI yang dibuat dengan perangkat referensi serta sotong.
Gambar 1. Garis waktu rilis GKI
Proses respin darurat
Respin mengacu pada proses penggabungan kembali, pembangunan kembali, pengujian ulang, dan sertifikasi ulang biner setelah kernel GKI dirilis ke publik . Anda dapat meminta pemutaran ulang biner tersertifikasi dalam kondisi berikut:
- Untuk memperbarui daftar simbol.
- Untuk menerapkan perbaikan pada bug, termasuk bug yang ditemukan selama persetujuan lab operator.
- Untuk menambahkan kait vendor .
- Untuk menerapkan patch pada fitur yang sudah ada.
- Untuk menerapkan patch keamanan (setelah 6 bulan).
Patch keamanan secara otomatis digabungkan ke dalam cabang rilis hingga 6 bulan setelah rilis cabang. Setelah batas waktu 6 bulan, Anda harus meminta respin untuk menerapkan patch keamanan ke cabang.
Sebelum meminta respin, perhatikan panduan berikut:
Respin hanya diperbolehkan di cabang rilis setelah rilis publik awal dari build bulanan telah diluncurkan.
Permintaan respin hanya diterima untuk cabang rilis tertentu selama maksimal enam bulan setelah rilis publik awal. Setelah enam bulan, cabang memenuhi syarat untuk melakukan respin hanya untuk patch keamanan yang disebutkan dalam Buletin Keamanan Android .
Jika persyaratan LTS , yang ditentukan oleh Android Security Bulletin (ASB) menyebabkan cabang tidak patuh, cabang tersebut tidak akan digunakan lagi. Permintaan respin untuk cabang yang tidak digunakan lagi tidak diterima. Tanggal penghentian cabang rilis GKI tertentu disertakan dalam catatan build rilis GKI bulanan di bawah Releases . Untuk perencanaan masa depan, persyaratan LTS diperbarui pada bulan Mei dan November setiap tahunnya. Misalnya, cabang
android12-5.10-2023-07
(5.10.177) tidak didukung untuk respin setelah 1 Mei 2024, karena cabangandroid12-5.10-2023-07
(5.10.177) tidak mematuhi Persyaratan LTS ASB-2024-05.Respin hanya berlaku untuk perbaikan bug yang mendesak, pembaruan daftar simbol, atau untuk menerapkan tambalan guna memperbaiki fitur yang ada.
Semua patch yang masuk ke cabang rilis bulanan harus sudah digabungkan ke dalam cabang pengembangan utama GKI. Misalnya, jika patch diperlukan untuk respin
android12-5.10-2022-09
, patch tersebut harus sudah digabungkan ke dalamandroid12-5.10
.Anda harus memilih patch dari cabang pengembangan utama GKI dan mengunggah patch tersebut ke cabang rilis bulanan.
Dalam permintaan respin, Anda harus menetapkan prioritas (urgensi) pada permintaan tersebut. Prioritas ini membantu tim GKI untuk memberikan bantuan yang lebih baik kepada mitra secara tepat waktu. Untuk permintaan penting atau sensitif terhadap waktu, tandai prioritas sebagai P0 . Untuk permintaan P0 dan P1, Anda juga harus menjelaskan urgensinya. Tabel berikut menyediakan pemetaan prioritas bug dan waktu penyelesaian (ESRT):
Prioritas ESRT P0 2 hari kerja P1 5 hari kerja hal2 10 hari kerja hal3 15 hari kerja
Anda harus mengirimkan permintaan respin terpisah per cabang rilis. Misalnya, jika respin diperlukan untuk
android12-5.10-2022-08
danandroid12-5.10-2022-09
, Anda harus membuat dua permintaan respin.Setelah build disediakan dan permintaan respin ditandai sebagai diperbaiki, Anda tidak boleh membuka kembali permintaan respin untuk menambahkan CL tambahan. Anda harus mengajukan permintaan respin baru jika ada patch tambahan yang perlu digabungkan.
Untuk setiap CL yang dipertimbangkan, tambahkan tag berikut. Kemajuan permintaan respin diblokir tanpa informasi ini.
-
Bug
: ID bug harus ditambahkan ke pesan komit untuk setiap CL. -
Change-Id
: harus identik dengan Change-Id dari perubahan cabang dasar.
-
Jika permintaan pemutaran ulang memerlukan respons Anda, dan Anda tidak merespons dalam tiga hari kerja, prioritas akan diturunkan satu tingkat (misalnya, P0 diturunkan ke P1 ). Jika Anda tidak merespons selama dua minggu, bug tersebut ditandai sebagai Tidak Dapat Diperbaiki (Usang) .
Kirimkan permintaan pemutaran ulang
Diagram berikut menunjukkan proses respin. Prosesnya dimulai ketika Mitra OEM (Anda) mengajukan permintaan respin.
Gambar 2. Proses respin
Untuk masuk ke dalam proses respin:
- Isi formulir permintaan Respin GKI . dan segera hubungi Manajer Akun Teknis Google Anda. Formulir ini membuat bug permintaan respin GKI. Bug permintaan respin dapat dilihat oleh Anda (pemohon), tim GKI, dan individu tertentu yang Anda tambahkan ke daftar CC bug.
- Jika Anda sudah memiliki perbaikan, permintaan harus mengarah ke pengiriman patch di AOSP sehingga Google dapat meninjaunya. Jika pengiriman patch tidak memungkinkan, patch harus dilampirkan sebagai file teks ke permintaan.
- Jika Anda tidak memiliki perbaikan, permintaan harus berisi informasi sebanyak mungkin, termasuk nomor versi kernel dan log, sehingga Google dapat membantu men-debug masalah tersebut.
- Tim Google GKI meninjau permintaan tersebut dan menyetujuinya atau memberikannya kembali kepada Anda jika diperlukan informasi lebih lanjut.
- Setelah perbaikan disetujui, kode tim Google GKI meninjau (CR+2) perubahan tersebut. Peninjauan memulai jangka waktu ESRT. Tim GKI menggabungkan, membangun, menguji regresi, dan mengesahkan perubahan.
- Biner dilepaskan ke ci.android.com . Jangka waktu ESRT berakhir dan tim Google GKI menandai permintaan tersebut sebagai sudah diperbaiki dan mereferensikan build respin. Pembuatan respin juga diposting di halaman pembuatan rilis Gambar Kernel Generik (GKI) .
Kualifikasi GKI
Jenis bangunan GKI | Penegakan kualitas | Catatan |
---|---|---|
Mingguan | Pengujian sotong
|
|
Bulanan (bersertifikat) | Pengujian sotong
| |
Respin (bersertifikat) | Pengujian sotong
|
|
Tempat mendapatkan artefak bangunan
Artefak untuk semua rilis dapat diperoleh dari ci.android.com .
Anda dapat menemukan informasi selengkapnya tentang CI, termasuk hasil pengujian di dasbor Android Continuous Integration .
FAQ
Apakah mungkin membuat biner GKI baru berdasarkan GKI yang sudah dirilis?
Ya, ini dikenal sebagai respin. Proses respin didukung selama build GKI yang dirilis (tempat respin diminta) mematuhi persyaratan LTS di Android Security Bulletin (ASB).
Apakah mungkin untuk mereproduksi biner GKI?
Ya, lihat contoh di bawah ini.
GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest
Untuk mereproduksi contoh, unduh manifest_$id.xml
dan jalankan perintah berikut:
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
Anda dapat mengambil salinan artefak GKI dari out/.../dist
.
Apakah biner GKI (termasuk spin patch darurat) telah dibuat pada basis kode terbaru?
Tidak. Respins hanya berisi patch yang berada di atas kernel tersertifikasi bulanan yang telah dipilih. Respin ini berisi semua perbaikan bug pemblokiran peluncuran yang dilaporkan hingga waktu tertentu oleh OEM menggunakan rilis bulanan dasar yang sesuai. Lihat contoh berikut tentang bagaimana skenario seperti ini terjadi.
- OEM1 dan OEM2 memutuskan untuk menggunakan rilis biner GKI mulai November 2021.
- OEM1 dan OEM2 menemukan masalah yang memerlukan patch untuk dukungan. Tambalan ini mungkin berbeda atau mungkin sama.
- Respin di atas biner November 2021 telah meluncurkan perbaikan pemblokiran yang dilaporkan oleh OEM1 dan OEM2 selama jendela respin, tetapi tidak lebih.
- Isu-isu yang disebutkan dalam poin kedua juga disertakan dalam rilis bulanan GKI berikutnya.
Respin Oktober memiliki semua patch yang dikirimkan OEM, tetapi patch OEM lainnya memengaruhi kami, karena patch tersebut belum diuji secara khusus dengan produk kami. Apakah mungkin hanya menyertakan patch kami saja?
Ini tidak mungkin. Jalur respin "per-OEM" saat ini tidak dapat diskalakan. Sebaliknya, tim GKI meneliti setiap perubahan yang terjadi pada build respin, dan menguji perubahan tersebut dengan semua perangkat keras yang tersedia sebelum membuat build baru. Jika tim GKI menemukan bahwa masalahnya hanya terjadi pada OEM/perangkat/model, tim GKI dapat memastikan bahwa kode yang ditambahkan oleh perubahan hanya dijalankan pada perangkat/model/SKU yang terpengaruh.
Manfaat utama dari respin terpadu adalah setiap perangkat yang menggunakan basis rilis yang sama mendapat manfaat satu sama lain, terutama jika bug yang ditemukan bersifat umum dan berlaku untuk semua pengguna. Bug kernel inti yang ditemukan dalam pengujian operator adalah contoh spesifik dari konsep ini.
Apakah ada situasi ketika Google memberikan informasi spesifik tentang patch OEM dan skenario masalahnya, sehingga OEM dapat mengevaluasi dampak dan risiko penerapan patch tersebut pada produk mereka?
Google tidak akan pernah menambahkan perubahan pada versi respin sampai masalahnya dipahami dan semua detailnya telah dikumpulkan. Ini terlihat di changelog (pesan komit). Google tidak mengungkapkan perangkat spesifik apa yang terpengaruh, namun OEM selalu dapat menemukan deskripsi masalah dan solusi di log perubahan.