Genel Kernel Görüntüsü (GKI) projesi

Cihaz çekirdeği veya OEM çekirdeği olarak da bilinen ürün çekirdeği çekirdeğine ait örnek verilebilir. GKI'dan önce ürün çekirdeği bir dizi yukarı akış çekirdek değişikliğinden türetilir. Şekil 1, çekirdeğin eklemeler bir ürün çekirdeği (OEM/cihaz çekirdeği) sağlar:

GKI öncesi ürün çekirdeği oluşturma

Şekil 1. GKI öncesi ürün çekirdeği oluşturma.

  1. kernel.org'daki Linux Long Term Supported (LTS) çekirdeği değiştirildi Android Ortak Çekirdeği (ACK) ile sonuçlanan Android'e özel yamalarla.
  2. ACK, çip üzerinde sistemlerine destek ekleyen tedarikçiler tarafından değiştirilmiştir. (SoC). Tedarikçiler performans veya güç optimizasyonları da ekleyebilir. İlgili içeriği oluşturmak için kullanılan ortaya çıkan çekirdeğe tedarikçi çekirdeği adı verilir.
  3. Son olarak, tedarikçi çekirdeği OEM'ler tarafından ek şartlarla cihaz sürücülerini ve gerekli gördükleri özelleştirmeleri içerir. Ortaya çıkan çekirdek ürün çekirdeği adı verilir.

Bu değişikliklerin tümü, yaklaşık% 50'lik bir orana ağaç dışı bir kod olan bu çekirdek kodu, yukarı akış Linux çekirdeklerinden veya ACK'lerden değil. GKI'dan önce neredeyse her cihazın, çekirdekle sonuçlanan özel bir çekirdeği bulunuyordu. parçalanma.

Parçalanma maliyetleri

Çekirdek parçalanmasının Android topluluğu üzerinde bazı olumsuz etkileri vardır.

Güvenlik güncellemeleri çok emek gerektirir

Şurada bahsedilen güvenlik yamaları: Android Güvenlik Bülteni (ASB) her bir cihaz çekirdekine geri dönüştürülmesi gerekir. Ancak, çekirdek parçacıklı hale getirilmiş olması, güvenlik düzeltmelerinin Alanda çalışan Android cihazlar.

Uzun Vadeli Desteklenen güncellemeleri birleştirmek zor

Uzun Vadeli Desteklenen (LTS) sürümleri, güvenlik düzeltmelerini ve diğer kritik hata düzeltmeleri. LTS kanalında sunulan güncellemeleri takip etmenin, sunmanın en etkili yoludur. Pixel cihazlarda bu oran ASB'de bildirilen çekirdek güvenlik sorunlarının% 90'ının hale getirilmiştir.

Ancak cihaz çekirdeklerindeki tüm özel değişikliklerle LTS düzeltmelerini cihaz çekirdekleriyle birleştirmek zor.

Android platformu sürümü yükseltmelerini engelle

Parçalanma, çekirdek gerektiren yeni Android özelliklerini zorlaştırıyor alandaki cihazlara eklenecek değişiklikleri içerir. Android Çerçeve kodu, beş çekirdek sürümünün desteklendiğini ve çekirdek değişikliklerinin Android 10 ve sonraki sürümleri için Bazı durumlarda , 2017'de Android 8'den bu yana yeni özelliklerle geliştirilmiştir).

Yukarı akış Linux'a geri dönerek çekirdek değişikliklerine katkıda bulunmak zordur

Çekirdek üzerinde yapılan tüm değişiklikler nedeniyle en önemli cihazlar, yeni bir çekirdek sürümü çalıştıracağım. Örneğin, 4.14 çekirdeği Kasım 2017'de kernel.org ve 2019 baharında gönderilen 4.14 çekirdekli ilk Android telefonlar

Yukarı akış çekirdek sürümü ile ürünler arasındaki bu uzun gecikme gerekli özellikleri ve sürücüleri tanıtıma yönlendirmek için Android topluluğunun çekirdekleri hakkında daha fazla bilgi edinin.

Parçalanmayı düzeltin: Genel Çekirdek Görüntüsü

Genel Çekirdek Görüntüsü (GKI) projesi, çekirdek parçasını çekirdek çekirdeği birleştirme ve çip üzerinde sistem (SoC) ile kart desteğini çekirdek çekirdekten taşıma modüllerini yükleyebilirsiniz. GKI ayrıca kararlı bir Kernel Modülü sunar. Modüllerin ve çekirdeğin güncellenebilmesi amacıyla tedarikçi modülleri için arayüz (KMI) bağımsız olarak değiştirebilirsiniz. GKI çekirdeğinin bazı özellikleri şunlardır:

  • GKI çekirdeği, ACK kaynaklarından oluşturulur.
  • GKI çekirdeği, tek çekirdekli bir ikili program ve ilişkili yüklenebilir modüllerdir LTS sürümü başına mimari başına (şu anda android11-5.4 için yalnızca arm64) ve android12-5.4).
  • GKI çekirdeği, orijinal sürümdeki tüm Android Platformu sürümleriyle şunun için desteklenir: ilişkili ACK. GKI'nın kullanım ömrü boyunca herhangi bir özellik kullanımdan kaldırılmayacaktır. çekirdek sürümü.
  • GKI çekirdeği, belirli bir LTS kanalındaki sürücülere kararlı bir KMI sunar.
  • GKI çekirdeği SoC'ye veya anakarta özel kod içermez.

GKI mimarisinin görseli için Çekirdeğe genel bakış.

GKI, başta olmak üzere çeşitli aşamalarda sunulan karmaşık bir değişikliktir. Android 11 platform sürümündeki v5.4 çekirdekleri.

İki GKI aşaması vardır:

  • GKI 1.0, şu özelliklere sahip cihazlar için Android 11'de kullanıma sunuldu: 5.4 çekirdekler. GKI 1.0, 5,4 çekirdekle gönderilen tüm cihazlar için geçerlidir. Android 12 veya Android ile kullanıma sunuldu 13.
  • GKI 2.0, şu özelliklere sahip cihazlar için Android 12'de kullanıma sunuldu: 5.10 çekirdekleri ve 5.10 veya 5.10 ya da ekleyebilirsiniz.

GKI 1.0

GKI 1.0'da, çekirdek sürümü 5.4 ile kullanıma sunulan cihazlar GKI testinden geçmelidir. (Android 11 ve sonraki platformların sürümleri). GKI 1.0 hedefleri şunları içerir:

  • Tedarikçi Test Paketi (VTS) regresyonlarından kaçının veya Uyumluluk Test Paketi (CTS) GKI çekirdeğiyle değiştirilir.
  • AOSP ile çekirdeğini güncel tutma iş ortaklarının yükünü azaltma yaygın çekirdeklerden oluşur.
  • Yeni sürüme geçirilen ve kullanıma sunulan cihazlar için çekirdeklere temel Android değişikliklerini dahil et yeni Android sürümleriyle kullanıma sunuyoruz.
  • Android'in kullanıcı alanını bölmeyin.
  • Donanıma özgü bileşenleri, çekirdek çekirdekten yüklenebilir modüller olarak ayırın.
ziyaret edin.

GKI 1.0 belgeleri için GKI 1.0 bölümü.

GKI 2.0

GKI 2.0'da, çekirdek 5.10 veya sonraki sürümlerle kullanıma sunulan cihazların, GKI çekirdeği (Android 12'den itibaren). İmzalı başlatma görseller, LTS ve kritik hata düzeltmeleriyle düzenli olarak kullanılabilir ve güncellenir. KMI için ikili program kararlılığı korunduğundan, bu önyüklemeyi yükleyebilirsiniz. resimlerden veya resimlerden başkalarını elde etmelerine yardımcı olur. GKI 2.0 hedefleri şunları içerir: takip etmek için:

  • Değiştirirken önemli performans veya güç regresyonlarına yol açmayın GKI çekirdeğiyle birleştiriyoruz.
  • İş ortaklarının, tedarikçi firma olmadan çekirdek güvenlik düzeltmeleri ve hata düzeltmeleri sunmasını sağlayın dahil olmaktır.
  • Cihazlar için ana çekirdek sürümünü (örneğin, .
  • Çekirdeği güncelleyerek mimari başına tek bir GKI çekirdeği ikili programını sürdürme net bir geçiş süreci içeren yeni sürümler oluşturun.
ziyaret edin.

GKI 2.0, Android çekirdeklerinin en güncel durumunu temsil eder. Kernel GKI dışındaki dokümanlar 1.0 ve Önceki çekirdekler (<=4,19) alt bölümleri GKI 2.0 mimarisini yansıtmaktadır.