Çekirdeğe genel bakış

Android çekirdeği, bir yukarı akış Linux Uzun Süreli Desteklenen (LTS) çekirdeğini temel alır. Google'da LTS çekirdekleri, Android Ortak Çekirdekleri (ACK'ler) olarak bilinenleri oluşturmak için Android'e özgü yamalarla birleştirilir.

Daha yeni ACK'ler (sürüm 5.4 ve üstü), 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üllerinden ayrılmasını destekler.

GKI çekirdeği, bir çip üzerinde sistem (SoC) ve karta özgü kod içeren donanıma özgü 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 tedarikçi firma modülü mimarisini göstermektedir:

GKI mimarisi
Şekil 1. GKI mimarisi

çekirdek sözlüğü

Bu bölüm, çekirdek belgeleri boyunca kullanılan terimleri içerir.

çekirdek türleri

Android Ortak Çekirdeği (ACK)
Bir LTS çekirdeğinin aşağı akışında olan ve Linux ana hattı veya Uzun Süreli Desteklenen (LTS) çekirdekleriyle birleştirilmemiş Android topluluğunu ilgilendiren 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 bilinirler.
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 taşınamaz; özellik seti, R'de 4.19 ile başlatılan ve S'ye yükseltilen bir cihaza benzer olacaktır).
jenerik çekirdek çekirdeği
Tüm cihazlarda ortak olan GKI çekirdeği bölümü.
Genel Çekirdek Görüntüsü (GKI) çekirdeği
Daha yeni (5.4 ve üstü) 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 Google tarafından geliştirilen ve uygulanabilir 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 idi.
Uzun Süreli Desteklenen (LTS) çekirdek
2 ila 6 yıl arası desteklenen bir Linux çekirdeği. LTS çekirdekleri yılda bir kez yayınlanır ve Google'ın her bir ACK'sinin temelidir.

Şube türleri

ACK KMI çekirdek dalı
GKI çekirdeklerinin oluşturulduğu şube. Örneğin, android12-5.10 ve android13-5.15.
Android ana hattı
Android özellikleri için birincil geliştirme dalı. Yeni bir LTS çekirdeği yukarı akış bildirildiğinde, karşılık gelen yeni GKI çekirdeği android ana hattından 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ıta yüklendi. Bu görüntü, Google'ın cihazın Google tarafından onaylanmış bir çekirdekle gönderildiğini doğrulayabilmesi için katıştırılmış sertifikalar içermesi anlamında onaylanmıştır.
Dinamik olarak yüklenebilir çekirdek modülü (DLKM)
Cihazın gereksinimlerine bağlı olarak cihaz önyüklemesi sırasında dinamik olarak yüklenebilen bir modül. GKI ve tedarikçi firma modüllerinin her ikisi de DLKM türleridir. DLKM'ler .ko biçiminde yayınlanır ve sürücüler 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)
Bir ACK kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve bir Android aygıtının önyükleme bölümüne flaş olarak yüklenmeye uygun, Google tarafından onaylanmış bir önyükleme görüntüsü.
KMI
Satıcı modüllerinin GKI çekirdeğinden bağımsız olarak güncellenmesine izin veren, GKI çekirdeği ile tedarikçi firma modülleri arasındaki bir arayüz. Bu arabirim, iş ortağına göre simge 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şturulmuş çekirdek modülleri. Bu modüller, GKI çekirdeğinin yapıtları olarak oluşturulmuştur ve GKI ile birlikte system_dlkm_staging_archive.tar.gz arşivi olarak sunulur. GKI modülleri, çekirdek oluşturma zamanı anahtar çifti kullanılarak Google tarafından imzalanır ve yalnızca birlikte oluşturuldukları GKI çekirdeğiyle uyumludur.
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üklenebilen bir çekirdek modülü türüdür.

Sıradaki ne?

,

Android çekirdeği, bir yukarı akış Linux Uzun Süreli Desteklenen (LTS) çekirdeğini temel alır. Google'da LTS çekirdekleri, Android Ortak Çekirdekleri (ACK'ler) olarak bilinenleri oluşturmak için Android'e özgü yamalarla birleştirilir.

Daha yeni ACK'ler (sürüm 5.4 ve üstü), 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üllerinden ayrılmasını destekler.

GKI çekirdeği, bir çip üzerinde sistem (SoC) ve karta özgü kod içeren donanıma özgü 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 tedarikçi firma modülü mimarisini göstermektedir:

GKI mimarisi
Şekil 1. GKI mimarisi

çekirdek sözlüğü

Bu bölüm, çekirdek belgeleri boyunca kullanılan terimleri içerir.

çekirdek türleri

Android Ortak Çekirdeği (ACK)
Bir LTS çekirdeğinin aşağı akışında olan ve Linux ana hattı veya Uzun Süreli Desteklenen (LTS) çekirdekleriyle birleştirilmemiş Android topluluğunu ilgilendiren 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 bilinirler.
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 taşınamaz; özellik seti, R'de 4.19 ile başlatılan ve S'ye yükseltilen bir cihaza benzer olacaktır).
jenerik çekirdek çekirdeği
Tüm cihazlarda ortak olan GKI çekirdeği bölümü.
Genel Çekirdek Görüntüsü (GKI) çekirdeği
Daha yeni (5.4 ve üstü) 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 Google tarafından geliştirilen ve uygulanabilir 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 idi.
Uzun Süreli Desteklenen (LTS) çekirdek
2 ila 6 yıl arası desteklenen bir Linux çekirdeği. LTS çekirdekleri yılda bir kez yayınlanır ve Google'ın her bir ACK'sinin 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 hattı
Android özellikleri için birincil geliştirme dalı. Yeni bir LTS çekirdeği yukarı akış bildirildiğinde, karşılık gelen yeni GKI çekirdeği android ana hattından 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ıta yüklendi. Bu görüntü, Google'ın cihazın Google tarafından onaylanmış bir çekirdekle gönderildiğini doğrulayabilmesi için katıştırılmış sertifikalar içermesi anlamında onaylanmıştır.
Dinamik olarak yüklenebilir çekirdek modülü (DLKM)
Cihazın gereksinimlerine bağlı olarak cihaz önyüklemesi sırasında dinamik olarak yüklenebilen bir modül. GKI ve tedarikçi firma modüllerinin her ikisi de DLKM türleridir. DLKM'ler .ko biçiminde yayınlanır ve sürücüler 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)
Bir ACK kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve bir Android aygıtının önyükleme bölümüne flaş olarak yüklenmeye uygun, Google tarafından onaylanmış bir önyükleme görüntüsü.
KMI
Satıcı modüllerinin GKI çekirdeğinden bağımsız olarak güncellenmesine izin veren, GKI çekirdeği ile tedarikçi firma modülleri arasındaki bir arayüz. Bu arabirim, iş ortağına göre simge 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şturulmuş çekirdek modülleri. Bu modüller, GKI çekirdeğinin yapıtları olarak oluşturulmuştur ve GKI ile birlikte system_dlkm_staging_archive.tar.gz arşivi olarak sunulur. GKI modülleri, çekirdek oluşturma zamanı anahtar çifti kullanılarak Google tarafından imzalanır ve yalnızca birlikte oluşturuldukları GKI çekirdeğiyle uyumludur.
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üklenebilen bir çekirdek modülü türüdür.

Sıradaki ne?