Proses Rilis Gambar Kernel Generik (GKI)

Dokumen ini menjelaskan bagaimana GKI v5.10 untuk Android 12 dirilis, termasuk rilis darurat mingguan, bulanan, dan di luar pita. Tujuan dari dokumen ini adalah untuk memberikan panduan kepada OEM tentang di mana mengambil GKI serta proses untuk perbaikan darurat di luar jalur. OEM juga dapat menggunakan panduan Pengembangan GKI untuk mempelajari lebih lanjut tentang bagaimana mereka dapat bekerja dengan tim Kernel Android untuk mengoptimalkan kernel GKI untuk produk mereka.

irama rilis GKI

GKI dirilis pada irama bulanan pasca KMI Freeze mulai 14 Juli 2021. Grafik berikut menggambarkan irama jadwal rilis.

Bangunan Bersertifikat Bulanan GKI Batas waktu check-in Tanggal Siap Pramuat GKI Label Dikonfirmasi?
Juli
(KMI Beku)
14 Juli 2021 Akhir Juli Android 12
Build Bersertifikat AOSP - Juli
Ya
Agustus 16 Agustus 2021 Akhir Agustus Android 12
Build Bersertifikat AOSP - Agustus
Ya
September 17 September 2021 Akhir September Android 12
Build Bersertifikat AOSP - September
Ya
Oktober 15 Oktober 2021 29 Oktober 2021 Android 12
Build Bersertifikat AOSP - Oktober
Ya
November 12 November 2021 30 November 2021 Android 12
Build Bersertifikat AOSP - November
Ya
Desember 10 Desember 2021 22 Desember 2021 Android 12
Build Bersertifikat AOSP - Desember
Ya
Januari 14 Januari 2022 31 Januari 2022 Android 12
Build Bersertifikat AOSP - Januari
Ya
Februari 14 Februari 2022 28 Februari 2022 Android 12
Build Bersertifikat AOSP - Februari
Ya
Berbaris 16 Maret 2022 31 Maret 2022 Android 12
Build Bersertifikat AOSP - Maret
Ya
April 15 April 2022 29 April 2022 Android 12
Build Bersertifikat AOSP - April
Ya
Mungkin 16 Mei 2022 31 Mei 2022 Android 12
Build Bersertifikat AOSP - Mei
Ya
Juni 15 Juni 2022 30 Juni 2022 Android 12
Build Bersertifikat AOSP - Juni
Ya
Juli 15 Juli 2022 29 Juli 2022 Android 12
Build Bersertifikat AOSP - Juli
Ya
Agustus 15 Agustus 2022 31 Agustus 2022 Android 12
Build Bersertifikat AOSP - Agustus
Ya
September 16 September 2022 30 September 2022 Android 12
Build Bersertifikat AOSP - September
Ya
Oktober 14 Oktober 2022 31 Oktober 2022 Android 12
Build Bersertifikat AOSP - Oktober
Ya
November 14 November 2022 30 November 2022 Android 12
Build Bersertifikat AOSP - November
Ya
Desember 9 Desember 2022 21 Desember 2022 Android 12
Build Bersertifikat AOSP - Desember
Ya

Validitas build GKI untuk OEM

OEM dapat menggunakan GKI Android yang baru dirilis. OEM dapat diluncurkan dengan build bersertifikasi GKI asalkan sesuai dengan persyaratan LTS di Android Security Bulletin (ASB).

Kebijakan build respin bersertifikat

  • Biner bersertifikat GKI tidak didukung untuk respin setelah tidak lagi sesuai dengan persyaratan LTS di ASB. Misalnya, cabang android12-5.10-2021-11 (5.10.66) tidak didukung untuk respin setelah November 2022, karena cabang android12-5.10-2021-11 (5.10.66) tidak mematuhi persyaratan LTS dari ASB-2022-11.
  • Lihat Proses respin darurat untuk informasi lebih lanjut.

Rilis pengembangan mingguan

Rilis diuji dengan sotong untuk memastikan mereka melewati standar kualitas minimum .

Binari GKI tersedia untuk layanan mandiri dari ci.android.com saat perubahan digabungkan. Build mingguan tidak akan disertifikasi, meskipun dapat digunakan sebagai dasar untuk pengembangan dan pengujian. Pembuatan mingguan tidak dapat digunakan untuk pembuatan perangkat produksi bagi pengguna akhir.

Rilis bersertifikat bulanan

Rilis bulanan GKI berisi boot.img yang diuji yang menyertakan sertifikat yang disisipkan Google untuk membuktikan bahwa biner 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 bulan itu. Setelah kandidat rilis bulanan dipilih, perubahan baru tidak akan diterima pada rilis bulan tersebut. Selama periode jendela tertutup, hanya perbaikan untuk bug yang menyebabkan kegagalan pengujian yang dapat ditangani. Kandidat rilis menjalani jaminan kualitas—seperti yang dijelaskan di bagian kualifikasi GKI —untuk memastikan uji kepatuhan lulus pada build GSI+GKI dengan perangkat referensi serta sotong.

Garis waktu irama rilis GKI Gambar 1. Jadwal rilis GKI

Proses respin darurat

Proses respin daruratGambar 2. Proses respin darurat

OEM mungkin perlu memutar ulang kernel untuk Persetujuan Teknis (TA) yang memblokir masalah. Respin didukung pada build rilis bersertifikasi bulanan, dan memiliki waktu resolusi standar (ESRT) yang diharapkan dari dua hari kerja di zona waktu AS.

ESRT didefinisikan sebagai waktu yang diperlukan untuk mengirimkan biner GKI bersertifikat yang berisi perbaikan, selama telah disetujui oleh tim GKI dan ditinjau oleh OEM yang terpengaruh. ESRT hanyalah perkiraan dan tidak boleh ditafsirkan sebagai jaminan.

OEM yang memerlukan respin untuk perbaikan pemblokiran TA perlu melakukan hal berikut:

  1. Ajukan bug di Issue Tracker dan segera hubungi kontak Google Anda.
    • Jika Anda sudah memiliki perbaikan, bug harus mengarah ke pengiriman patch di AOSP sehingga Google dapat meninjaunya. Jika pengiriman patch tidak memungkinkan, lampirkan patch sebagai file teks ke bug di Issue Tracker .
    • Jika Anda belum memiliki perbaikan, bug harus menyertakan informasi sebanyak mungkin, termasuk nomor versi kernel dan log, sehingga Google dapat membantu men-debug masalah tersebut.
  2. Setelah perbaikan disetujui, kode tim Google GKI meninjau (CR+2) perubahan dan menguji regresi. Pengujian memulai hitungan mundur ESRT, dan berakhir saat biner dipublikasikan ke ci.android.com .

Kualifikasi GKI

Jenis build GKI penegakan kualitas Catatan
Mingguan Tes cumi-cumi
  • sepatu bot
  • Bagian dari VTS
  • Bagian dari CTS
  • Tidak bersertifikat. Hanya untuk pengujian dan
    perangkat memunculkan.
  • Tidak dapat digunakan untuk meluncurkan perangkat.
Bulanan (bersertifikat) Tes cumi-cumi
  • sepatu bot
  • VTS
  • CTS
Referensi pengujian perangkat keras
  • sepatu bot
  • VTS
  • CTS
    Respin (bersertifikat) Tes cumi-cumi
    • sepatu bot
    • VTS
    • Bagian dari CTS
    Pengujian perangkat referensi
    • sepatu bot
    • VTS
    • Dibangun di atas bangunan bersertifikat GKI.
    • Bangunan disertifikasi setelah kualifikasi.

    Di mana 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 untuk membangun biner GKI baru berdasarkan GKI yang sudah dirilis?

    Ya, ini dikenal sebagai respin. Proses respin didukung selama GKI build yang dirilis (di mana respin diminta) sesuai dengan persyaratan LTS di Android Security Bulletin (ASB).

    Apakah mungkin untuk mereproduksi binari GKI?

    Ya, referensi 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 Anda dari out/.../dist .

    Apakah biner GKI (termasuk patch putaran darurat) telah dibangun di atas

    basis kode terbaru?

    Tidak. Respins hanya berisi patch yang berada di atas kernel bersertifikat 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 jenis skenario 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 butir kedua juga termasuk dalam rilis bulanan GKI berikutnya.

    Respin Oktober memiliki semua tambalan yang dikirimkan OEM, tetapi tambalan OEM lainnya

    mempengaruhi kami, karena mereka belum diuji secara khusus dengan produk kami. Apakah mungkin untuk hanya menyertakan tambalan kami?

    Ini tidak mungkin. Jalur respin "per-OEM" saat ini tidak dapat diskalakan. Sebagai gantinya, tim GKI memeriksa setiap perubahan yang masuk ke build respin, dan menguji perubahan dengan semua perangkat keras yang tersedia sebelum membuat build baru. Jika tim GKI menemukan bahwa masalah tersebut khusus untuk OEM/perangkat/model, tim GKI dapat memastikan bahwa kode yang ditambahkan oleh perubahan hanya dijalankan pada perangkat/model/SKU yang terpengaruh.

    Manfaat utama dari unified respins adalah bahwa setiap perangkat yang menggunakan basis rilis yang sama saling menguntungkan, terutama jika bug yang mereka temukan bersifat umum dan berlaku untuk semua pengguna. Bug kernel inti yang ditemukan dalam pengujian operator adalah contoh spesifik dari konsep ini.

    Apakah ada situasi di mana Google memberikan informasi spesifik tentang patch OEM dan skenario masalah, sehingga OEM dapat mengevaluasi dampak dan risiko penerapan patch dengan produk mereka?

    Google tidak akan pernah menambahkan perubahan pada build respin sampai masalahnya dipahami dan semua detail telah dikumpulkan. Ini terlihat di changelog (pesan komit). Google tidak mengungkapkan perangkat spesifik apa yang terpengaruh, tetapi OEM selalu dapat menemukan deskripsi masalah dan solusi di log perubahan.