Genel Kernel Görüntüsü (GKI) Yayınlama İşlemi

Bu dokümanda, haftalık, aylık ve bant dışı acil durum sürümleri de dahil olmak üzere GKI'nın nasıl yayınlandığı açıklanmaktadır. Bu belgenin amacı, OEM'lere GKI'yı nereden teslim alacakları ve bant dışı acil durum düzeltmelerine ilişkin süreç konusunda yol göstermektir. OEM'ler, ürünlerinin GKI çekirdeğini optimize etmek için Android Kernel ekibiyle nasıl birlikte çalışacakları hakkında daha fazla bilgi edinmek için GKI Geliştirme kılavuzunu da kullanabilir.

GKI yayınlama sıklığı

GKI, KMI'nin dondurulmasından sonra her ay düzenli olarak yayınlanır.

Android 13, 14 ve 15 GKI Sürümü

Aşağıdaki tablo yalnızca android13-5.10, android13-5.15 ve android14-6.1 için geçerlidir.

GKI aylık sertifikalı derlemeler Check-in son tarihi GKI önceden yüklemeye hazır tarih Onaylandı mı?
Ekim 14 Ekim 2022 31 Ekim 2022 Evet
Kasım 14 Kasım 2022 30 Kasım 2022 Evet
Aralık 9 Aralık 2022 21 Aralık 2022 Evet
Ocak 17 Ocak 2023 31 Ocak 2023 Evet
Şubat 15 Şubat 2023 28 Şubat 2023 Evet
Mart 15 Mart 2023 31 Mart 2023 Evet
Nisan 13 Nisan 2023 28 Nisan 2023 Evet
Mayıs 17 Mayıs 2023 31 Mayıs 2023 Evet
Haziran 15 Haziran 2023 30 Haziran 2023 Evet
Temmuz 18 Temmuz 2023 31 Temmuz 2023 Evet
Ağustos 16 Ağustos 2023 31 Ağustos 2023 Evet
Eylül 14 Eylül 2023 29 Eylül 2023 Evet
Ekim 18 Ekim 2023 31 Ekim 2023 Evet
Kasım 10 Kasım 2023 30 Kasım 2023 Evet
Aralık 7 Aralık 2023 22 Aralık 2023 Evet
Ocak 16 Ocak 2024 31 Ocak 2024 Evet
Şubat 13 Şubat 2024 29 Şubat 2024 Evet
Mart 13 Mart 2024 29 Mart 2024 Evet
Nisan 16 Nisan 2024 30 Nisan 2024 Evet
Mayıs 14 Mayıs 2024 31 Mayıs 2024 Evet
Haziran 12 Haziran 2024 28 Haziran 2024 Evet
Temmuz 16 Temmuz 2024 31 Temmuz 2024 Evet
Ağustos 15 Ağustos 2024 30 Ağustos 2024 Evet
Eylül 17 Eylül 2024 30 Eylül 2024 Evet
Ekim 15 Ekim 2024 31 Ekim 2024 Evet
Kasım 11 Kasım 2024 27 Kasım 2024 Evet
Aralık 6 Aralık 2024 23 Aralık 2024 Evet

Ocak 2024'ten itibaren android14-5.15 sürümlerinin aylık sürümlerini aşağıdaki tabloda belirtilen aylık tempoya göre devam ettireceğiz. android15-6.6 için Temmuz 2024'ten itibaren aynı yayınlama sıklığı geçerli olacak.

GKI aylık sertifikalı derlemeler Check-in son tarihi GKI önceden yüklemeye hazır tarih Onaylandı mı?
Ocak 16 Ocak 2024 31 Ocak 2024 Evet
Şubat 13 Şubat 2024 29 Şubat 2024 Evet
Mart 4 Mart 2024 15 Mart 2024 Evet
Nisan 1 Nisan 2024 17 Nisan 2024 Evet
Mayıs 1 Mayıs 2024 17 Mayıs 2024 Evet
Haziran 3 Haziran 2024 17 Haziran 2024 Evet
Temmuz 1 Temmuz 2024 15 Temmuz 2024 Evet
Ağustos 1 Ağustos 2024 16 Ağustos 2024 Evet
Eylül 2 Eylül 2024 16 Eylül 2024 Evet
Ekim 1 Ekim 2024 14 Ekim 2024 Evet
Kasım 1 Kasım 2024 15 Kasım 2024 Evet
Aralık 2 Aralık 2024 16 Aralık 2024 Evet

Android 12 GKI Sürümü

Mayıs 2024'ten sonra android12-5.10 GKI sürümleri üç ayda bir ve ay ortasında yayınlanır. Aşağıdaki tablo yalnızca android12-5.10 için geçerlidir.

GKI aylık sertifikalı derlemeler Check-in son tarihi GKI önceden yüklemeye hazır tarih Onaylandı mı?
Temmuz 3 Temmuz 2023 14 Temmuz 2023 Evet
Eylül 1 Eylül 2023 15 Eylül 2023 Evet
Kasım 3 Kasım 2023 17 Kasım 2023 Evet
Ocak 5 Ocak 2024 19 Ocak 2024 Evet
Mart 4 Mart 2024 15 Mart 2024 Evet
Mayıs 1 Mayıs 2024 17 Mayıs 2024 Evet
Ağustos 1 Ağustos 2024 16 Ağustos 2024 Evet
Kasım 1 Kasım 2024 15 Kasım 2024 Evet
Şubat 3 Şubat 2025 17 Şubat 2025 Evet

OEM'ler için GKI derleme geçerliliği

OEM'ler, kısa süre önce yayınlanan bir Android GKI'yı kullanabilir. OEM'ler, Android Güvenlik Bülteni'ndeki (ASB) LTS şartlarına uydukları sürece GKI sertifikalı derlemelerle kullanıma sunulabilir.

Haftalık geliştirme sürümleri

Yayın, minimum kalite standardını geçtiklerinden emin olmak için mürekkep balığı ile test edilir.

Değişiklikler birleştirildiği için GKI ikili programları ci.android.com adresinden self servis olarak kullanılabilir. Haftalık derlemeler onaylanmaz ancak geliştirme ve test için bir temel olarak kullanılabilir. Haftalık derlemeler, son kullanıcılara yönelik üretim cihazı derlemelerinde kullanılamaz.

Aylık sertifikalı sürümler

GKI aylık sürümleri, ikili programların bilinen bir kaynak kodu referansından derlendiğini onaylayan, Google tarafından eklenen bir sertifika içeren test edilmiş bir boot.img içerir.

Her ay, genellikle o ayın ikinci haftalık derlemesi olan son giriş tarihinden sonra bir GKI aylık yayın adayı (sertifikalı değil) seçilir. Aylık yayın adayı seçildikten sonra, söz konusu ayın sürümünde yeni değişiklikler kabul edilmez. Kapalı zaman aralığında yalnızca test hatasına neden olan hataların düzeltmeleri yapılabilir. Sürüm adayı, GKI yeterlilik bölümünde açıklandığı gibi, bir referans cihazla ve mürekkep balığıyla yapılan GSI+GKI derlemesinde uyumluluk testlerini geçmek için kalite güvencesinden geçer.

GKI sürüm sıklığı zaman çizelgesi Şekil 1. GKI sürüm zaman çizelgesi

Acil durum yeniden döndürme işlemi

Respin, GKI çekirdeğinin herkese açık olarak yayınlanmasından sonra bir ikili programı yeniden birleştirme, yeniden oluşturma, yeniden test etme ve yeniden sertifikalandırma işlemini ifade eder. Aşağıdaki durumlardan herhangi biri için sertifikalı bir ikili programın yeniden döndürülmesini isteyebilirsiniz:

  • Sembol listesini güncellemek için.
  • Operatör laboratuvarı onayı sırasında bulunan hatalar da dahil olmak üzere bir hataya düzeltme uygulamak için.
  • Tedarikçi firma kancası eklemek için.
  • Mevcut bir özelliğe yama uygulamak için.
  • Güvenlik yaması uygulamak için (6 ay sonra).

Güvenlik yamaları, dalın kullanıma sunulmasından sonra en fazla 6 ay boyunca otomatik olarak bir sürüm dalında birleştirilir. 6 aylık sona erme tarihinden sonra bir şubeye güvenlik yamaları uygulamak için yeniden döndürme isteğinde bulunmanız gerekir.

Respin isteğinde bulunmadan önce aşağıdaki yönergeleri göz önünde bulundurun:

  • Respin'lere yalnızca aylık derlemenin ilk herkese açık sürümü yayınlandıktan sonra sürüm dallarında izin verilir.

  • Respin istekleri, yalnızca belirli bir sürüm şubesi için, herkese açık ilk yayından sonra en fazla altı ay boyunca kabul edilir. Altı ay sonra, şubeler yalnızca bir Android Güvenlik Bülteni'nde belirtilen güvenlik yamaları için yeniden etkinleştirme için uygun hale gelir.

  • Android Güvenlik Bülteni (ASB) tarafından tanımlanan LTS şartları, dalın uyumsuz olmasına neden olduğunda dal kullanımdan kaldırılır. Kullanımdan kaldırılan dallar için Respin istekleri kabul edilmez. Belirli bir GKI sürüm dalının kullanımdan kaldırılma tarihi, Sürümler bölümündeki aylık GKI sürüm derleme notlarında yer almaktadır. Gelecekteki planlama için LTS şartları Mayıs ve Kasım aylarında her yıl güncellenir. Örneğin, android12-5.10-2023-07 şubesi (5.10.177) ASB-2024-05'in LTS şartlarına uymadığı için android12-5.10-2023-07 şubesi (5.10.177) 1 Mayıs 2024'ten sonraki respin'ler için desteklenmemektedir.

  • Respin'ler yalnızca acil hata düzeltmeleri, simge listesi güncellemeleri veya mevcut bir özelliği düzeltmek amacıyla yama uygulamak için geçerlidir.

  • Aylık sürüm dalına eklenen tüm yamalar, hâlihazırda ana GKI geliştirme dalıyla birleştirilmiş olmalıdır. Örneğin, android12-5.10-2022-09 Respin'i için yama gerekliyse önceden android12-5.10 ile birleştirilmiş olmalıdır.

  • Ana GKI geliştirme şubesinden yama seçerek aylık sürüm dalına yüklemeniz gerekir.

  • Respin isteğinde, isteğe bir öncelik (aciliyet) atamanız gerekir. Bu öncelik, GKI ekibinin iş ortaklarına daha iyi zamanında daha iyi yardımcı olmasına yardımcı olur. Kritik veya zamana duyarlı istekler için önceliği P0 olarak işaretleyin. P0 ve P1 istekleri için aciliyeti de gerekçelendirmeniz gerekir. Aşağıdaki tabloda hata önceliği ve çözüm süresi (ESRT) eşlenmiştir:

    Öncelik ESRT
    P0 2 iş günü
    P1 5 iş günü
    P2 10 iş günü
    P3 15 iş günü
  • Her yayın şubesi için ayrı bir respin isteği göndermeniz gerekir. Örneğin, hem android12-5.10-2022-08 hem de android12-5.10-2022-09 için respin gerekiyorsa iki respin isteği oluşturmanız gerekir.

  • Derleme sağlandıktan ve bir respin isteği düzeltildi olarak işaretlendikten sonra, ilave CL eklemek için respin isteğini yeniden açmamanız gerekir. Birleştirilmesi gereken başka yamalar varsa yeni bir respin isteği göndermeniz gerekir.

  • Değerlendirmeye alınan her bir CL için aşağıdaki etiketleri ekleyin. Respin isteğiyle ilgili ilerleme durumu, bu bilgi olmadan engellenir.

    • Bug: Hata kimliği, her CL için kayıt mesajına eklenmelidir.
    • Change-Id: Temel dal değişikliğinin Değişiklik Kimliği ile aynı olmalıdır.
  • Bir respin isteği için yanıt vermeniz gerekiyorsa ve üç iş günü içinde yanıt vermezseniz öncelik bir seviye düşürülür (örneğin P0, P1'e düşürülür). İki hafta boyunca yanıt vermezseniz hata, Düzeltilmeyecek (Eski) olarak işaretlenir.

respin isteği gönderin

Aşağıdaki şemada, respin işlemi gösterilmektedir. Süreç, OEM İş Ortağı (siz) respin isteğini gönderdiğinde başlar.

Acil durum yeniden döndürme işlemi Şekil 2. Respin işlemi

Respin işlemine katılmak için:

  1. GKI Respin istek formunu doldurun. Hemen Google Teknik Hesap Yöneticinizle iletişime geçin. Bu form, GKI respin isteği hatası oluşturur. Respin isteği hataları size (talep eden), GKI ekibine ve hatanın CC listesine eklediğiniz belirli kişiler tarafından görülebilir.
    • Halihazırda bir düzeltmeniz varsa Google'ın inceleyebilmesi için istek, AOSP'deki yama gönderme işlemine yönlendirmelidir. Yamayı göndermek uygun değilse yama, isteğe metin dosyası olarak eklenmelidir.
    • Bir düzeltme yapmazsanız isteğin, çekirdek sürüm numarası ve günlükler de dahil olmak üzere mümkün olduğunca fazla bilgi içermesi gerekir. Böylece Google, sorunun giderilmesine yardımcı olabilir.
  2. Google GKI ekibi isteği inceleyip onaylar veya daha fazla bilgi gerekirse size geri atar.
  3. Bir düzeltme üzerinde anlaşmaya varıldıktan sonra, Google GKI ekibi kodu (CR+2) değişikliği inceler. İnceleme, ESRT zaman aralığıyla başlar. GKI ekibi birleştirilir, derlemeler, regresyon için testler ve değişikliği onaylar.
  4. İkili program ci.android.com adresinde yayınlanır. ERT zaman aralığı sona erer ve Google GKI ekibi isteği düzeltildi olarak işaretler ve respin derlemesine referans verir. Respin derlemesi, Genel Kernel Görüntüsü (GKI) sürüm derlemeleri sayfasında da yayınlanır.

GKI nitelikleri

GKI derlemelerinin türleri Kalite yaptırımı Notes
Haftalık Mürekkep balığı testi
  • Bot
  • VTS alt kümesi
  • CTS alt kümesi
  • Onaylanmadı. Yalnızca test etmek ve
    cihazı getirmek için.
  • Cihaz başlatmak için kullanılamaz.
Aylık (sertifikalı) Mürekkep balığı testi
  • Bot
  • GD
  • CTS
Referans donanım testi
  • Bot
  • GD
  • CTS
Respin'ler (sertifikalı) Mürekkep balığı testi
  • Bot
  • GD
  • CTS alt kümesi
Cihaz testine referans verme
  • Bot
  • GD
  • GKI sertifikalı bir yapı üzerine inşa edilmiştir.
  • Derleme uygun niteliklerin ardından onaylanır.

Derleme yapıları nereden alınır?

Tüm sürümlerdeki yapılar ci.android.com adresinden edinilebilir.

Android Continuous Integration kontrol panelinde test sonuçları dahil olmak üzere CI hakkında daha fazla bilgi bulabilirsiniz.

SSS

Halihazırda yayınlanmış bir GKI'ya dayalı olarak yeni bir GKI ikili programı derlemek mümkün müdür?

Evet, bu işlem respin olarak bilinir. Yayınlanan GKI derlemesi (yeniden yayınlama istendiğinde), Android Güvenlik Bülteni'ndeki (ASB) LTS şartlarıyla uyumlu olduğu sürece respin işlemi desteklenir.

GKI ikililerinin yeniden oluşturulması mümkün müdür?

Evet, aşağıdaki örneği inceleyin.

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

Örneği yeniden oluşturmak için manifest_$id.xml dosyasını indirin ve aşağıdaki komutu yürütün:

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 yapı kopyanızı out/.../dist hizmetinden alabilirsiniz.

GKI ikili programı (acil durum döndürme yaması dahil) en son kod tabanında mı oluşturuldu?

Hayır. Respin'ler yalnızca seçilen aylık sertifikalı çekirdeklerin üzerindeki yamalar içerir. Bu yeniden raptiyeler, ilgili temel aylık sürümü kullanan OEM'ler tarafından belirtilen bir zamana kadar bildirilen lansman engelleyen tüm hata düzeltmelerini içerir. Bu tür bir senaryonun nasıl gerçekleştiğiyle ilgili aşağıdaki örneği inceleyin.

  • OEM1 ve OEM2, Kasım 2021'den itibaren GKI ikili programı sürümünü kullanmaya karar verdi.
  • OEM1 ve OEM2, destek için yama gerektiren sorunları bulur. Bu yamalar farklı veya aynı olabilir.
  • Kasım 2021 ikili programının üst kısmındaki respin'lerde, yeniden etkinleştirme zaman aralığında hem OEM1 hem de OEM2 tarafından bildirilen lansman engelleme düzeltmeleri var, ancak başka hiçbir şey yok.
  • İkinci maddede bahsedilen sorunlar, sonraki GKI aylık sürümlerine de dahil edilir.

Ekim respin'inde, OEM tarafından gönderilen tüm yamalar mevcuttur ancak diğer OEM yamaları, ürünlerimizle özel olarak test edilmediğinden bizi etkilemektedir. Yalnızca yamanızı dahil etmek mümkün mü?

Bu mümkün değildir. "OEM başına" yeniden pazarlama yolu şu anda ölçeklenebilir değildir. Bunun yerine GKI ekibi, yeniden oluşturma derlemelerine dahil edilen her değişikliği inceler ve yeni bir derleme oluşturmadan önce mevcut tüm donanımlarla değişiklikleri test eder. GKI ekibi, sorunun bir OEM/cihaz/modele özgü olduğunu tespit ederse, değişiklikle eklenen kodun yalnızca etkilenen cihaz/model/SKU üzerinde çalıştığından emin olabilir.

Birleştirilmiş respin'lerin en önemli avantajı, aynı sürüm tabanını kullanan her cihazın birbirinden avantaj sağlamasıdır. Özellikle de keşfettiği hatalar genel ve tüm kullanıcılar için geçerliyse bu avantaj sağlanır. Operatör testinde bulunan çekirdek çekirdek hataları, bu kavramın spesifik bir örneğidir.

Google'ın, OEM'lerin yamaları ürünleriyle birlikte uygulamanın etkisini ve riskini değerlendirebilmesi için OEM yamaları hakkında belirli bilgiler ve sorun senaryoları sağladığı durumlar var mı?

Google, sorun anlaşılana ve tüm ayrıntılar toplanana kadar respin derlemesinde hiçbir zaman değişiklik yapmaz. Bu, değişiklik günlüğünde (taahhüt mesajı) görünür. Google, sorunun hangi cihazı etkilediğini açıklamaz ancak OEM'ler, sorunun açıklamasını ve çözümünü her zaman değişiklik günlüğünde bulabilir.