İki tür çekirdek modülü vardır: donanımdan bağımsız GKI modülleri ve donanıma özgü sağlayıcı modüllerini inceleyin. Bu sayfada, her iki türe de genel bir bakış sunulmaktadır sağlayabilirsiniz.
GKI modülleri
Genel çekirdek görüntüsü (GKI) modülleri, başlatma gerektirmeyen çekirdeği yayınlamak için kullanılır özellikleri vardır. GKI modülleriyle şunları yapabilirsiniz: kullanılacak belirli çekirdek özelliklerini seçer ve genellikle çekirdek görüntüsünün boyutunu azaltır ve çalışma zamanı bellek tüketimini gösterir. Boyutunun küçültülmesi, GKI'yı şunlar için uygun hale getirir: Android Go cihazlar ve kaynak kısıtlamalı diğer form faktörleri.
GKI modülleri, tedarikçilere yeni veya farklı alanlarla ilgili e-postalar KMI dondurma aşamasından sonra yayın öncesi özellikleri. Yerleşik kod kodu, başka bir resim oluşturulmadan değiştirilemez, ancak modülünü başka bir modülle değiştirebilirsiniz.
GKI modülleri, çekirdeğin derleme zamanı imzalama altyapısını kullanır. GKI ile diğer modüller arasında birlikte çalışır. İmzalanmamış modüllerin yüklenmesine izin verilir izin verilenler listesinde görünen veya başkaları tarafından sağlanan sembolleri kullanmaları koşuluyla, imzalanmamıştır.
İki mantıksal GKI modülü türü vardır: korumalı GKI modülü ve korumasız GKI modülünü kullanabilirsiniz.
Korumalı GKI modülü
Korunan bir GKI modülü Google tarafından sunulur, hiçbir şekilde kısıtlanmaz ve , yüklendikten sonra çekirdekle oluşturulmuş gibi davranır. Ayrıca, korunan GKI modülleri aşağıdaki özelliklere sahiptir:
- Korumalı GKI modülleri, KMI'ya ait olmayan çekirdek sembollerine ve veya korumasız GKI modüllerinde kullanılabilir.
- Korumalı GKI modülleri, KMI platformuna dahil olan sembolleri dışa aktarabilir bir simge listesinde belirtildiği sürece bu simgeler.
- Korumalı GKI modülleri tedarikçi modülleri tarafından geçersiz kılınamaz.
Korumalı bir GKI modülü, GKI modüllerinin varsayılan sınıfıdır. Tüm GKI modüllerin, KMI'nin dondurulması halinde korunduğu kabul edilir.
Korumasız GKI modülü
Korumasız GKI modülü bir tedarikçi modülü tarafından geçersiz kılınabilir. KMI dondurulduktan sonra, GKI ekibi, koruma altındaki bir GKI modülünün korumasız olarak yeniden tedarikçilerin varsayılan uygulamayı geçersiz kılması gerektiğine karar verir. içeren bir sürümle birlikte çalışır. Sonraki GKI sürümü, korumasız modüller sonrasında korumalı olarak yeniden sınıflandırılır yukarı akış kodu bir Android Ortak Çekirdeği'ne (ACK) gelir. Korumasız GKI modülleri şu özelliklere sahiptir:
- Korumasız GKI modülleri, dışa aktarılan simgelere tedarikçi firmayla aynı erişime sahiptir. modüllerinde yer alır.
- Korumasız GKI modülleri, korumalı GKI tarafından dışa aktarılan simgeleri dışa aktaramaz. modüllerinde yer alır.
- Korumasız GKI modülleri, tüm KMI arayüzlerini çekirdeğine kadar uzanır.
- Korumasız GKI modülleri satıcı modülleri tarafından geçersiz kılınabilir.
Satıcı modülleri
SoC'yi ve cihaza özgü özellikleri uygulamak için iş ortakları tarafından bir tedarikçi modülü sağlanır özellikler. GKI çekirdeği tedarikçi modülü olarak teslim edilebilir.
GKI projesinin birincil hedeflerinden biri
donanıma özgü bir kod olsa da, tedarikçiler GKI'nın
, kendi donanımlarını açıkça yöneten modülleri içermez. Örneğin,
gibi yapılandırmalar, örneğin, tedarikçi ABC Inc. tarafından
CONFIG_ABC_SOC_SUPPORT
, yerleşik veya yüklenebilir olarak etkinleştirilmeyecek
GKI modüllerini desteklemeyiz.
ACK'de bir çekirdek sürücüsü veya çerçevesi olmasına rağmen
tedarikçiler sürücüyü değiştirebilir ve çekirdeği tedarikçi olarak teslim edebilir.
modülünü kullanabilirsiniz. Tedarikçiye özgü olmayan modüller için bu tür değişiklikler önerilmez
çünkü aynı özellikler GKI çekirdeğiyle bir
kullanıma sunulması planlanıyor. GKI çekirdeği bir tedarikçi tarafından sağlanan özellikler içerdiğinde
tedarikçi modülü yüklenmez. Örneğin,
CONFIG_GREYBUS
, Android 11'de GKI için ayarlanmadı. Bu nedenle
tedarikçiler gribus tedarikçi modüllerini sunabilir. Ancak CONFIG_GREYBUS
Android 12'de yerleşik bir GKI veya modül olarak
Bu durumda gribus tedarikçi modülleri yüklenmez. En iyi uygulamalardan biri
olarak teslim edilmeleri halinde, tedarikçi firmaya özgü olmayan sürücülerin yukarı akış sürümlerini
modüllerini anlatacağım.
Tedarikçi modüllerini vendor
veya
vendor_boot
görüntüsüdür. Başlatma işleminin başlarında gereken modüller vendor_boot
içinde olmalıdır.
vendor_boot
üzerindeki modüllerin yüklenmesiyle ilişkili bir başlatma zamanı maliyeti vardır.