Android çekirdeği bir yukarı akışa dayanır Linux Uzun Vadeli Desteklenen (LTS) çekirdeği. Google'da, LTS çekirdekler Android'e özgü yamalarla bir araya getirilerek Android Ortak Çekirdekleri (ACK'ler).
Daha yeni ACK'ler (sürüm 5.4 ve sonraki sürümler), GKI çekirdekleri olarak da bilinir. GKI çekirdekleri donanımdan bağımsız genel çekirdek kodunun ayrılması ve GKI modüllerini donanıma özgü sağlayıcı modülleri.
GKI çekirdeği donanıma özgü tedarikçi firma modülleriyle çip (SoC) ve karta özgü bir kod içerir. GKI çekirdeği ile tedarikçi modülleri arasındaki etkileşim: API'yi tanımlayan sembol listelerinden oluşan Çekirdek Modülü Arayüzü (KMI) fonksiyonları ve global verileri içerir. Şekil 1'de, GKI çekirdeği ve tedarikçi gösterilmektedir. modül mimarisi:
.Kernel sözlüğü
Bu bölümde, çekirdek belgelerinde kullanılan terimler yer alır.
Çekirdek türleri
- Android Ortak Çekirdeği (ACK)
- Bir LTS çekirdeğinin aşağı akışkan ve Android'e yönelik bazı ilgi alanları içeren çekirdek . Daha yeni ACK'ler (sürüm 5.4 ve sonraki sürümler), donanımdan bağımsız Genel Kernel kodu ile donanımdan bağımsız GKI modüllerinin ayrılması.
- Android Açık Kaynak Projesi (AOSP) çekirdeği
- Android Ortak Kernel'i inceleyin.
- Özellik Çekirdeği
- Platformun sürüm özelliklerinin uygulanacağının garanti edildiği bir çekirdek. Örneğin, Örneğin, Android 12'nin iki özellik çekirdeği android12-5.4 ve android12-5.10 idi. Android 12 özellikleri 4.19 çekirdeklerine geri aktarılamaz; özellik kümesinin benzer olması .
- genel çekirdek
- GKI çekirdeğinin tüm cihazlarda ortak olan kısmı.
- Genel Kernel Görüntü (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 kod içeren temel GKI çekirdeği ve GKI modülleri Google tarafından geliştirilmiştir ve uygun olduğunda cihazlara dinamik olarak yüklenebilir.
- Kernel Module Interface (KMI) çekirdeği
- GKI çekirdeği konusuna bakın.
- Kernel'ı Başlat
- Belirli bir Android platformu sürümünde cihaz başlatmak için geçerli çekirdek. Örneğin, Örneğin Android 12'nin geçerli lansman çekirdekleri 4.19, 5.4 ve 5.10'du.
- Uzun Vadeli Desteklenen (LTS) çekirdek
- 2 ila 6 yıl boyunca desteklenen bir Linux çekirdeği. LTS çekirdekler yılda bir kez yayınlanır ve bu Google'ın ACK'leri.
Şube türleri
- ACK KMI çekirdek dalı
- GKI çekirdeklerinin derlendiği dal. Örneğin, android12-5.10 ve android13-5.15 sürümleri dahildir.
- Android ana-satır içi
- Android özelliklerinin birincil geliştirme dalı. Yeni bir LTS çekirdeği yukarı akış bildirildiğinde karşılık gelen yeni GKI çekirdeği android-mainline'dan dallandı.
- Linux ana hattı
- LTS çekirdekleri de dahil olmak üzere yukarı akış Linux çekirdeklerinin birincil geliştirme dalı.
Diğer terimler
- Sertifikalı başlatma görüntüsü
- Çekirdek, ikili biçimde (
boot.img
) teslim edildi ve cihazda yanıp söndü. Bu resim, Google'ın şunları yapabilmesi için yerleşik sertifikalar içerdiği açısından onaylanmıştır. cihazın Google onaylı bir çekirdekle gönderildiğini doğrulayın. - Dinamik olarak yüklenebilir çekirdek modülü (DLKM)
- Cihazın önyüklemesi sırasında cihazın ihtiyaçlarına bağlı olarak dinamik bir şekilde yüklenebilen
olanak tanır. Hem GKI hem de tedarikçi modülleri DLKM'nin türüdür. DLKM'ler
.ko
içinde serbest bırakıldı sürücü olabilirler veya başka çekirdek işlevleri sunabilirler. - GKI projesi
- Ortak çekirdek çekirdeği ayırarak çekirdek parçalanmasını ele alan bir Google projesi Bu işlevler, tedarikçiye özel SoC'den ve kart desteğinden yüklenebilir modüllere aktarılır.
- Genel Çekirdek Resmi (GKI)
- Google onaylı bir GKI çekirdeği içeren ve bir ACK kaynak ağacıdır ve cihazın başlatma bölümüne yanıp sönmeye uygundur. bir Android cihaz.
- KMI
- GKI çekirdeği ile tedarikçi modüller arasındaki arayüz modüllerin, GKI çekirdeğinden bağımsız olarak güncellenmesi gerekir. Bu arayüz çekirdekten ve kullanılarak tedarikçi/OEM bağımlılığı olarak tanımlanan fonksiyonları ve global verileri her iş ortağı için sembol listelerinde görünür.
- GKI modülleri
- Google tarafından oluşturulan ve uygun durumlarda cihazlara dinamik olarak yüklenebilen çekirdek modüller.
Bu modüller, GKI çekirdeğinin yapıları olarak oluşturulur ve
birlikte GKI ile birlikte
system_dlkm_staging_archive.tar.gz
arşivi. GKI modülleri Google tarafından çekirdek derleme zamanı anahtar çifti kullanılarak imzalanır ve yalnızca GKI ile uyumludur. çekirdeğine sahip olduğunu unutmayın. - Tedarikçi modülü
- Bir iş ortağı tarafından geliştirilmiş, çip üzerinde sistem (SoC) ve cihaza özgü olan, donanıma özgü bir modül işlevi görür. Tedarikçi modülü, dinamik olarak yüklenebilen bir çekirdek modülüdür.
Sırada ne var?
- Android çekirdeği geliştirme konusunda yeniyseniz öncelikle takip etmek için:
- Uzun Vadeli İstikrarlı Çekirdekler - ACK'lere beslenen yayın öncesi LTS çekirdekleriyle ilgili arka plan.
- Android Ortak Çekirdekleri - ACE kampanyalarının arka planı.
- GKI çekirdeği geliştirme konusunda yeniyseniz öncelikle şu makaleyi okuyarak başlayın: GKI geliştirme.
- 4.19 veya daha eski bir çekirdek sürümü kullanıyor ve ilgili dokümanları arıyorsanız Önceki çekirdeklere (<=4,19) genel bakış bölümüne bakın.