Genel Çekirdek Görüntüsü (GKI) Yayın Süreci

Bu belge, haftalık, aylık ve bant dışı acil durum sürümleri de dahil olmak üzere GKI'nın nasıl yayınlandığını açıklamaktadır. Bu belgenin amacı, OEM'lere GKI'yi nereden alacakları ve bant dışı acil durum düzeltmeleri süreci hakkında bir kılavuz sunmaktır. OEM'ler, ürünleri için GKI çekirdeğini optimize etmek amacıyla Android Çekirdeği ekibiyle nasıl çalışabilecekleri hakkında daha fazla bilgi edinmek için GKI Geliştirme kılavuzunu da kullanabilir.

GKI yayın temposu

GKI, KMI dondurulduktan sonra aylık ritimle yayınlanır.

Android 13 ve 14 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ı yapılar Giriş son tarihi GKI önyüklemeye hazır olma tarihi Onaylanmış?
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, aşağıdaki tabloda belirtilen aylık tempoya uygun olarak android14-5.15 aylık sürümlerine devam edeceğiz.

GKI aylık sertifikalı yapılar Giriş son tarihi GKI önyüklemeye hazır olma tarihi Onaylanmış?
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 2023'ten sonra android12-5.10 GKI sürümleri 2 aylık aralıklarla yayınlanacak ve ay ortasında yayınlanacaktır. Aşağıdaki tablo yalnızca android12-5.10 için geçerlidir.

GKI aylık sertifikalı yapılar Giriş son tarihi GKI önyüklemeye hazır olma tarihi Onaylanmış?
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

OEM'ler için GKI oluşturma geçerliliği

OEM'ler yakın zamanda piyasaya sürülen bir Android GKI'yı kullanabilir. OEM'ler, Android Güvenlik Bülteni'ndeki (ASB) LTS gereklilikleriyle uyumlu oldukları sürece GKI sertifikalı derlemeleri başlatabilirler.

Haftalık geliştirme bültenleri

Sürümler, minimum kalite çıtasını geçtiklerinden emin olmak için mürekkep balığı ile test edilir.

Değişiklikler birleştirildikçe GKI ikili dosyaları ci.android.com adresinden self servis olarak edinilebilir. Haftalık derlemeler sertifikalandırılmayacaktır ancak geliştirme ve test için temel olarak kullanılabilir. Haftalık derlemeler, son kullanıcılara yönelik üretim cihazı derlemeleri için kullanılamaz.

Aylık sertifikalı sürümler

GKI aylık sürümleri, ikili dosyaların bilinen bir kaynak kodu tabanından oluşturulduğunu doğrulamak için Google tarafından eklenen bir sertifikayı içeren test edilmiş bir boot.img içerir.

Her ay, genellikle o ayın ikinci haftalık yapısı olan son giriş tarihinden sonra bir GKI aylık sürüm adayı (sertifikalı değil) seçilir. Aylık sürüm adayı seçildikten sonra o aya ait sürümde yeni değişiklikler kabul edilmeyecektir. Kapalı pencere döneminde yalnızca testin başarısız olmasına neden olan hatalara yönelik düzeltmeler ele alınabilir. Sürüm adayı, mürekkep balığının yanı sıra bir referans cihazıyla GSI+GKI yapısında uyumluluk testlerinin geçmesini sağlamak için GKI yeterlilik bölümünde açıklandığı gibi kalite güvencesinden geçer.

GKI yayın temposu zaman çizelgesi Şekil 1. GKI sürüm zaman çizelgesi

Acil durum yeniden başlatma işlemi

Respin , GKI çekirdeğinin herkese açık olarak yayınlanmasından sonra bir ikili dosyanın yeniden birleştirilmesi, yeniden oluşturulması, yeniden test edilmesi ve yeniden sertifikalandırılması sürecini ifade eder. Aşağıdaki durumlardan herhangi biri için sertifikalı bir ikili programın yeniden başlatılmasını talep edebilirsiniz:

  • Bir sembol listesini güncellemek için.
  • Taşıyıcı laboratuvar onayı sırasında bulunan hatalar da dahil olmak üzere bir hataya düzeltme uygulamak.
  • Satıcı kancası eklemek için.
  • Mevcut bir özelliğe yama uygulamak için.
  • Güvenlik yamasını uygulamak için (6 ay sonra).

Güvenlik yamaları, dalın yayınlanmasından sonra 6 aya kadar otomatik olarak bir sürüm dalı ile birleştirilir. 6 aylık kesinti sonrasında şubeye güvenlik yamaları uygulamak için yeniden etkinleştirme talebinde bulunmanız gerekir.

Yeniden döndürme talebinde bulunmadan önce aşağıdaki yönergelere dikkat edin:

  • Yeniden döndürmelere yalnızca aylık bir yapının halka açık ilk sürümü başlatıldıktan sonra sürüm şubelerinde izin verilir.

  • Yeniden döndürme talepleri, yalnızca belirli bir sürüm dalı için, ilk halka açık sürümden sonra en fazla altı ay boyunca kabul edilir. Altı ay sonra şubeler yalnızca Android Güvenlik Bülteninde belirtilen güvenlik yamaları için yeniden etkinleştirme hakkına sahip olur.

  • Android Güvenlik Bülteni (ASB) tarafından tanımlanan LTS gereksinimleri şubenin uyumsuz olmasına neden olduğunda şube kullanımdan kaldırılır. Kullanımdan kaldırılan şubeler için yeniden döndürme talepleri kabul edilmez. Belirli bir GKI sürüm dalının kullanımdan kaldırılma tarihi, Sürümler altındaki aylık GKI sürüm oluşturma notlarına dahil edilir. Gelecekteki planlama için LTS gereklilikleri her yıl Mayıs ve Kasım aylarında güncellenmektedir. Örneğin, android12-5.10-2023-07 dalı (5.10.177) 1 Mayıs 2024'ten sonraki yeniden dönüşler için desteklenmiyor çünkü android12-5.10-2023-07 dalı (5.10.177) aşağıdakilerle uyumlu değil: ASB-2024-05'in LTS gereksinimleri.

  • Yeniden döndürmeler yalnızca acil hata düzeltmeleri, sembol listesi güncellemeleri veya mevcut bir özelliği düzeltmek için bir yama uygulamak için geçerlidir.

  • Aylık sürüm dalına giren tüm yamaların zaten ana GKI geliştirme dalıyla birleştirilmesi gerekir. Örneğin, android12-5.10-2022-09 yeniden döndürülmesi için bir yama gerekiyorsa, bunun zaten android12-5.10 ile birleştirilmesi gerekir.

  • Yamaları ana GKI geliştirme şubesinden seçip aylık yayın şubesine yüklemelisiniz.

  • Respin talebinde, talebe bir öncelik (aciliyet) atamanız gerekir. Bu öncelik, GKI ekibinin iş ortaklarına 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 talepleri için aciliyeti de gerekçelendirmeniz gerekir. Aşağıdaki tablo, hata önceliğinin ve çözüme kadar geçen sürenin (ESRT) eşlenmesini sağlar:

    Öncelik ESRT
    P0 2 iş günü
    P1 5 iş günü
    P2 10 iş günü
    P3 15 iş günü
  • Her sürüm dalı için ayrı bir respin isteği göndermelisiniz. Örneğin, hem android12-5.10-2022-08 hem de android12-5.10-2022-09 için bir yeniden döndürme gerekiyorsa, iki yeniden döndürme isteği oluşturmalısınız.

  • Bir derleme sağlandıktan ve yeniden etkinleştirme isteği düzeltildi olarak işaretlendikten sonra, ek CL'ler eklemek için yeniden etkinleştirme isteğini yeniden açmamalısınız. Birleştirilmesi gereken ek yamalar varsa yeni bir respin isteği göndermelisiniz.

  • Değerlendirilen her CL için aşağıdaki etiketleri ekleyin. Bu bilgi olmadan yeniden döndürme isteğindeki ilerleme engellenir.

    • Bug : Her CL için taahhüt mesajına hata kimliği eklenmelidir.
    • Change-Id : temel dal değişikliğinin Değişiklik Kimliği ile aynı olmalıdır.
  • Bir yeniden başlatma isteği yanıtınızı gerektiriyorsa ve üç iş günü içinde yanıt vermezseniz öncelik bir düzey düşürülür (örneğin, P0 , P1'e düşürülür). İki hafta boyunca yanıt vermezseniz hata Düzelmeyecek (Eski) olarak işaretlenir.

Yeniden döndürme isteği gönderin

Aşağıdaki diyagram yeniden döndürme işlemini göstermektedir. Süreç, OEM Ortağı (siz) yeniden başlatma talebini gönderdiğinde başlar.

Acil durum yeniden başlatma işlemi Şekil 2. Yeniden döndürme işlemi

Yeniden döndürme işlemine girmek için:

  1. GKI Respin talep formunu doldurun . ve hemen Google Teknik Hesap Yöneticinizle iletişime geçin. Bu form bir GKI respin isteği hatası yaratıyor. Yeniden döndürme isteği hataları siz (talep sahibi), GKI ekibi ve hatanın CC listesine eklediğiniz belirli kişiler tarafından görülebilir.
    • Zaten bir düzeltmeniz varsa, Google'ın inceleyebilmesi için istek AOSP'deki düzeltme ekini işaret etmelidir. Yamanın gönderilmesi mümkün değilse yamanın isteğe bir metin dosyası olarak eklenmesi gerekir.
    • Bir düzeltmeniz yoksa, Google'ın sorunun hatalarını ayıklamaya yardımcı olabilmesi için 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.
  2. Google GKI ekibi isteği inceleyip onaylar veya daha fazla bilgiye ihtiyaç duyulursa size geri atar.
  3. Bir düzeltme üzerinde anlaşmaya varıldıktan sonra Google GKI ekibi kod değişikliğini inceler (CR+2). İnceleme ESRT zaman dilimini başlatır. GKI ekibi regresyonu birleştirir, oluşturur, test eder ve değişikliği onaylar.
  4. İkili dosya ci.android.com'da yayınlandı. ESRT zaman çerçevesi sona erer ve Google GKI ekibi, isteği sabit olarak işaretler ve respin yapısına referans verir. Respin yapısı aynı zamanda Genel Çekirdek Görüntüsü (GKI) sürüm yapıları sayfasında da yayınlanır.

GKI nitelikleri

GKI derlemesi türleri Kalite yaptırımı Notlar
Haftalık Mürekkep balığı testi
  • Bot
  • VTS'nin alt kümesi
  • CTS'nin alt kümesi
  • Sertifikalı değil. Yalnızca test amaçlı ve
    cihaz açılır.
  • Cihazları başlatmak için kullanılamaz.
Aylık (sertifikalı) Mürekkep balığı testi
  • Bot
  • VTS
  • CTS
Referans donanım testi
  • Bot
  • VTS
  • CTS
    Respin'ler (sertifikalı) Mürekkep balığı testi
    • Bot
    • VTS
    • CTS'nin alt kümesi
    Referans cihazı testi
    • Bot
    • VTS
    • GKI sertifikalı bir yapının üzerine inşa edilmiştir.
    • Yapı kalifikasyondan sonra sertifikalandırılır.

    Yapı eserleri nereden alınır?

    Tüm sürümlere ilişkin yapılar ci.android.com adresinden edinilebilir.

    Test sonuçları da dahil olmak üzere CI hakkında daha fazla bilgiyi Android Sürekli Entegrasyon kontrol panelinde bulabilirsiniz.

    SSS

    Halihazırda yayınlanmış bir GKI'yı temel alarak yeni bir GKI ikili programı oluşturmak mümkün müdür?

    Evet, buna respin denir. Yeniden döndürme işlemi, yayımlanan GKI yapısı (üzerinde yeniden döndürmenin istendiği) Android Güvenlik Bülteni'ndeki (ASB) LTS gereksinimleriyle uyumlu olduğu sürece desteklenir.

    GKI ikili dosyalarını yeniden oluşturmak mümkün mü?

    Evet, aşağıdaki örneğe bakın.

    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 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 adresinden alabilirsiniz.

    GKI ikili dosyası (acil durum döndürme yaması dahil) en son kod tabanı üzerine mi oluşturuldu?

    Hayır. Respin'ler yalnızca seçilen aylık sertifikalı çekirdeklerin üstünde yer alan yamaları içerir. Bu yanıtlar, ilgili temel aylık sürümü kullanan OEM'ler tarafından herhangi bir zamana kadar bildirilen tüm başlatma engelleme hata düzeltmelerini içerir. Bu tür bir senaryonun nasıl gerçekleştiğini gösteren aşağıdaki örneğe bakın.

    • OEM1 ve OEM2, Kasım 2021'den itibaren GKI ikili sürümünü kullanmaya karar veriyor.
    • OEM1 ve OEM2, destek için yama gerektiren sorunları bulur. Bu yamalar farklı olabileceği gibi aynı da olabilir.
    • Kasım 2021 ikili dosyasının üstündeki son sürümlerde, yeniden dönüş penceresi sırasında hem OEM1 hem de OEM2 tarafından bildirilen başlatma engelleme düzeltmeleri var, ancak bundan başka bir şey yok.
    • İkinci maddede bahsedilen sorunlar aynı zamanda GKI'nın sonraki aylık yayınlarında da yer almaktadır.

    Ekim ayı respin'inde OEM tarafından gönderilen tüm yamalar yer alıyor, ancak diğer OEM yamaları ürünlerimizle özel olarak test edilmediğinden bizi etkiliyor. Sadece bizim yamayı dahil etmek mümkün mü?

    Bu mümkün değil. "OEM başına" respin yolu şu anda ölçeklenebilir değildir. Bunun yerine GKI ekibi, respin yapılarına giren her bir değişikliği inceliyor ve yeni bir yapı oluşturmadan önce değişiklikleri mevcut tüm donanımlarla test ediyor. GKI ekibi sorunun bir OEM'e/cihaza/modele özel olduğunu tespit ederse GKI ekibi, değişiklik tarafından eklenen kodun yalnızca etkilenen cihazda/modelde/SKU'da yürütülmesini sağlayabilir.

    Birleşik respin'lerin en büyük faydası, aynı sürüm tabanını kullanan her cihazın, özellikle de keşfettikleri hatalar genel ve tüm kullanıcılar için geçerliyse, birbirlerinden faydalanmasıdır. Taşıyıcı testlerinde bulunan çekirdek çekirdek hataları bu konseptin özel bir örneğidir.

    OEM'lerin ürünlerine yama uygulamanın etkisini ve riskini değerlendirebilmesi için Google'ın OEM yamaları ve sorun senaryoları hakkında özel bilgiler sağladığı durumlar var mı?

    Google, sorun anlaşılana ve tüm ayrıntılar toplanana kadar yeniden sürüm yapısına hiçbir zaman değişiklik eklemeyecektir. Bu değişiklik günlüğünde görülür (taahhüt mesajı). Google, bu durumun hangi cihazı etkilediğini açıklamıyor ancak OEM'ler her zaman sorun açıklamasını ve çözümünü değişiklik günlüğünde bulabilir.