Android çekirdeği, yukarı akışlı Linux Uzun Süreli Desteklenen (LTS) çekirdeğini temel alır. Google'da LTS çekirdekleri, Android'e özgü yamalarla birleştirilerek Android Ortak Çekirdekleri (ACK'ler) olarak bilinenleri oluşturur.
Daha yeni ACK'ler (sürüm 5.4 ve üzeri) GKI çekirdekleri olarak da bilinir. GKI çekirdekleri, donanımdan bağımsız genel çekirdek çekirdek kodunun ve GKI modüllerinin donanıma özgü satıcı modüllerden ayrılmasını destekler.
GKI çekirdeği, çip üzerinde sistem (SoC) ve karta özel kod içeren donanıma özel satıcı modülleriyle etkileşime girer. GKI çekirdeği ile satıcı modülleri arasındaki etkileşim, satıcı modüllerinin gerektirdiği işlevleri ve genel verileri tanımlayan sembol listelerinden oluşan Çekirdek Modül Arayüzü (KMI) tarafından etkinleştirilir. Şekil 1, GKI çekirdeğini ve satıcı modülü mimarisini göstermektedir:
![GKI mimarisi](https://source.android.com/static/docs/core/architecture/images/generic-kernel-image-architecture.png?authuser=5&hl=tr)
Çekirdek sözlüğü
Bu bölüm çekirdek belgelerinde kullanılan terimleri içerir.
Çekirdek türleri
- Android Ortak Çekirdeği (ACK)
- Bir LTS çekirdeğinin aşağı akışında yer alan ve Linux ana hattı veya Uzun Süreli Desteklenen (LTS) çekirdekleriyle birleştirilmemiş, Android topluluğunun ilgisini çeken yamaları içeren bir çekirdek. Daha yeni ACK'ler (sürüm 5.4 ve üzeri), donanımdan bağımsız Genel Çekirdek kodu ile donanımdan bağımsız GKI modüllerinin ayrılmasını destekledikleri için GKI çekirdekleri olarak da bilinir.
- Android Açık Kaynak Projesi (AOSP) çekirdeği
- Bkz. Android Ortak Çekirdeği.
- Özellik Çekirdeği
- Platform sürüm özelliklerinin uygulanmasının garanti edildiği bir çekirdek. Örneğin, Android 12'de iki özellik çekirdeği android12-5.4 ve android12-5.10 idi. Android 12 özellikleri 4.19 çekirdeklerine desteklenemez; özellik seti, R'de 4.19 ile başlatılan ve S'ye yükseltilen bir cihaza benzer olacaktır).
- genel çekirdek çekirdeği
- GKI çekirdeğinin tüm cihazlarda ortak olan kısmı.
- Genel Çekirdek Görüntüsü (GKI) çekirdeği
- Daha yeni (5.4 ve üzeri) ACK çekirdeği (şu anda yalnızca aarch64). Bu çekirdek iki bölümden oluşur: Tüm cihazlarda ortak koda sahip çekirdek GKI çekirdeği ve Google tarafından geliştirilen ve uygun olduğunda cihazlara dinamik olarak yüklenebilen GKI modülleri.
- Çekirdek Modül Arayüzü (KMI) çekirdeği
- GKI çekirdeğine bakın.
- Çekirdeği Başlat
- Belirli bir Android platformu sürümü için bir cihazı başlatmak için geçerli olan bir çekirdek. Örneğin Android 12'de geçerli başlatma çekirdekleri 4.19, 5.4 ve 5.10'du.
- Uzun Süreli Desteklenen (LTS) çekirdek
- 2 ila 6 yıl boyunca desteklenen bir Linux çekirdeği. LTS çekirdekleri yılda bir kez yayınlanır ve Google'ın ACK'lerinin her birinin temelini oluşturur.
Şube türleri
- ACK KMI çekirdek dalı
- GKI çekirdeklerinin oluşturulduğu dal. Örneğin, android12-5.10 ve android13-5.15.
- Android-ana hat
- Android özellikleri için birincil geliştirme dalı. Yeni bir LTS çekirdeği yukarı yönde bildirildiğinde, karşılık gelen yeni GKI çekirdeği android-ana hattan dallanır.
- Linux ana hattı
- LTS çekirdekleri de dahil olmak üzere yukarı akışlı Linux çekirdekleri için birincil geliştirme dalı.
Diğer terimler
- Sertifikalı önyükleme görüntüsü
- Çekirdek ikili biçimde (
boot.img
) teslim edildi ve cihaza aktarıldı. Bu görüntü, Google'ın cihazın Google tarafından onaylanmış bir çekirdekle birlikte gönderildiğini doğrulayabilmesi için yerleşik sertifikalar içermesi anlamında sertifikalıdır. - Dinamik olarak yüklenebilir çekirdek modülü (DLKM)
- Cihazın ihtiyaçlarına bağlı olarak cihaz önyüklemesi sırasında dinamik olarak yüklenebilen bir modül. GKI ve satıcı modüllerinin her ikisi de DLKM türüdür. DLKM'ler
.ko
biçiminde yayınlanır ve sürücü olabilir veya diğer çekirdek işlevlerini sunabilir. - GKI projesi
- Ortak çekirdek çekirdek işlevselliğini satıcıya özel SoC ve kart desteğinden yüklenebilir modüllere ayırarak çekirdek parçalanmasını ele alan bir Google projesi.
- Genel Çekirdek Görüntüsü (GKI)
- ACK kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve bir Android cihazının önyükleme bölümüne flaş edilmeye uygun, Google tarafından onaylanmış bir önyükleme görüntüsü.
- KMI
- GKI çekirdeği ile satıcı modülleri arasında, satıcı modüllerinin GKI çekirdeğinden bağımsız olarak güncellenmesine olanak tanıyan bir arayüz. Bu arayüz, iş ortağı başına sembol listeleri kullanılarak satıcı/OEM bağımlılıkları olarak tanımlanan çekirdek işlevlerinden ve genel verilerden oluşur.
- GKI modülleri
- Uygun olduğunda cihazlara dinamik olarak yüklenebilen, Google tarafından oluşturulan çekirdek modülleri. Bu modüller, GKI çekirdeğinin yapıları olarak oluşturulmuştur ve GKI ile birlikte
system_dlkm_staging_archive.tar.gz
arşivi olarak teslim edilir. GKI modülleri, çekirdek oluşturma zamanı anahtar çifti kullanılarak Google tarafından imzalanır ve yalnızca oluşturuldukları GKI çekirdeğiyle uyumludur. - Satıcı modülü
- Bir iş ortağı tarafından geliştirilen ve SoC ve cihaza özgü işlevler içeren, donanıma özgü bir modül. Satıcı modülü, dinamik olarak yüklenebilen bir çekirdek modülü türüdür.
Sıradaki ne?
- Android çekirdek geliştirme konusunda yeniyseniz aşağıdakileri okuyarak başlamak isteyebilirsiniz:
- Uzun Süreli Kararlı Çekirdekler - ACK'leri besleyen yukarı akışlı LTS çekirdeklerinin arka planı.
- Android Common Kernels - ACK'lerin Arka Planı.
- GKI çekirdek geliştirme konusunda yeniyseniz GKI geliştirme bölümünü okuyarak başlayın.
- 4.19 veya daha eski bir çekirdek sürümünü kullanıyorsanız ve ilgili belgeleri arıyorsanız Önceki çekirdeklere (<=4.19) genel bakış bölümüne bakın.