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.
Ş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 zatenandroid12-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 deandroid12-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.
Şekil 2. Yeniden döndürme işlemi
Yeniden döndürme işlemine girmek için:
- 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.
- Google GKI ekibi isteği inceleyip onaylar veya daha fazla bilgiye ihtiyaç duyulursa size geri atar.
- 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.
- İ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
|
|
Aylık (sertifikalı) | Mürekkep balığı testi
| |
Respin'ler (sertifikalı) | Mürekkep balığı testi
|
|
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.