Android çekirdeği, adresinde bulunan bir yukarı akış Linux Uzun Vadeli Destekli (LTS) çekirdeğine dayanmaktadır. Google'da, LTS çekirdekleri, Android Ortak Çekirdekleri (ACK'ler) olarak bilinenleri oluşturmak için Android'e özgü yamalar ile birleştirilir.
Daha yeni ACK'ler (sürüm 5.4 ve üzeri), donanımdan bağımsız Genel Çekirdek Çekirdek kodunun ve donanımdan bağımsız GKI modüllerinin ayrılmasını destekledikleri için GKI çekirdekleri olarak da bilinir. GKI çekirdeği, bir çip üzerinde sistem (SoC) ve karta özel kod içeren donanıma özgü satıcı modülleriyle etkileşime girer. GKI çekirdeği ve satıcı modülleri arasındaki etkileşim, satıcı modüllerinin gerektirdiği işlevleri ve global verileri tanımlayan sembol listelerinden oluşan Çekirdek Modül Arayüzü (KMI) tarafından etkinleştirilir. Şekil 1, GKI çekirdeği ve satıcı modülü mimarisini göstermektedir:
Çekirdek sözlüğü
Bu bölüm, çekirdek belgelerinde kullanılan terimleri içerir.
Çekirdek türleri
- Android Ortak Çekirdeği (ACK)
- LTS çekirdeğinin akış aşağısında olan ve Linux ana hattı veya Uzun Vadeli Desteklenen (LTS) çekirdeklerle 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
- Android Ortak Çekirdeğine bakın.
- Ö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 çekirdeğe geri aktarılamaz; özellik seti, R'de 4.19 ile başlatılan ve S'ye yükseltilen bir cihaza benzer olacaktır).
- genel çekirdek çekirdek
- 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) herhangi bir ACK çekirdeği (şu anda yalnızca aarch64). Bu çekirdeğin iki bölümü vardır: Tüm cihazlarda ortak koda sahip çekirdek GKI çekirdeği ve uygun olduğunda cihazlara dinamik olarak yüklenebilen Google tarafından geliştirilen GKI çekirdek 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 idi.
- Uzun Süreli Desteklenen (LTS) çekirdek
- 2 ila 6 yıl arasında desteklenen bir Linux çekirdeği. LTS çekirdekleri yılda bir kez yayınlanır ve Google'ın ACK'lerinin her birinin temelidir.
Ş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ı akış olarak bildirildiğinde, ilgili yeni GKI çekirdeği android ana hattan dallanır.
- Linux ana hattı
- LTS çekirdekleri de dahil olmak üzere yukarı akış 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 aygıtta parladı. Bu resim, Google'ın cihazın Google tarafından onaylanmış bir çekirdekle birlikte gönderildiğini doğrulayabilmesi için gömülü sertifikalar içermesi anlamında sertifikalandırılmıştır. - Dinamik olarak yüklenebilir çekirdek modülü (DLKM)
- Aygıtın gereksinimlerine bağlı olarak aygıt ö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 sağlayabilir. - 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)
- Bir 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 flash'lanmaya uygun, Google tarafından onaylanmış bir önyükleme görüntüsü.
- KMI
- GKI çekirdeği ve 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 arabirim, ortak başına simge listeleri kullanılarak satıcı/OEM bağımlılıkları olarak tanımlanan çekirdek işlevlerinden ve genel verilerden oluşur.
- GKI çekirdek modülü
- Uygun olduğunda cihazlara dinamik olarak yüklenebilen, Google tarafından oluşturulmuş dinamik olarak yüklenebilir modüller. Bu modüller GKI çekirdeği ile oluşturulmuştur ve
system_dlkm
görüntüsü olarak GKI ile birlikte teslim edilir. GKI çekirdek modülleri, çekirdek oluşturma zamanı anahtar çifti kullanılarak Google tarafından imzalanır ve yalnızca oluşturuldukları genel çekirdek çekirdekle uyumludur. GKI çekirdek modülleri bir tür DLKM . - Satıcı modülü
- Bir iş ortağı tarafından geliştirilen ve SoC ve cihaza özel işlevsellik içeren donanıma özel bir modül. Satıcı modülü, dinamik olarak yüklenebilir 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 Vadeli Kararlı Çekirdekler - ACK'leri besleyen yukarı akış LTS çekirdeklerinin arka planı.
- Android Ortak Çekirdekleri - ACK'lerde 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ü kullanıyorsanız ve ilgili belgeleri arıyorsanız, Önceki çekirdeklere (<=4.19) genel bakış bölümüne bakın.