Kernel Android didasarkan pada kernel Linux Long Term Supported (LTS) hulu. Di Google, kernel LTS digabungkan dengan tambalan khusus Android untuk membentuk apa yang dikenal sebagai Android Common Kernels (ACKs) .
ACK yang lebih baru (versi 5.4 dan lebih tinggi) juga dikenal sebagai kernel GKI . Kernel GKI mendukung pemisahan kode kernel inti generik agnostik perangkat keras dan modul GKI dari modul vendor khusus perangkat keras .
Kernel GKI berinteraksi dengan modul vendor khusus perangkat keras yang berisi sistem pada chip (SoC) dan kode khusus papan. Interaksi antara kernel GKI dan modul vendor diaktifkan oleh Kernel Module Interface (KMI) yang terdiri dari daftar simbol yang mengidentifikasi fungsi dan data global yang diperlukan oleh modul vendor. Gambar 1 menunjukkan kernel GKI dan arsitektur modul vendor:

Glosarium kernel
Bagian ini berisi istilah-istilah yang digunakan di seluruh dokumentasi kernel.
Jenis kernel
- Kernel Umum Android (ACK)
- Kernel yang merupakan downstream dari kernel LTS dan menyertakan tambalan yang menarik bagi komunitas Android yang belum digabungkan ke kernel Linux mainline atau Long Term Supported (LTS). ACK yang lebih baru (versi 5.4 dan lebih tinggi) juga dikenal sebagai kernel GKI karena mendukung pemisahan kode Kernel Generik agnostik perangkat keras dan modul GKI agnostik perangkat keras.
- Kernel Proyek Sumber Terbuka Android (AOSP).
- Lihat Kernel Umum Android.
- Fitur Kernel
- Kernel yang fitur rilis platformnya dijamin untuk diimplementasikan. Misalnya, di Android 12, dua kernel fitur adalah android12-5.4 dan android12-5.10. Fitur Android 12 tidak dapat di-backport ke kernel 4.19; kumpulan fitur akan serupa dengan perangkat yang diluncurkan dengan 4.19 pada R dan ditingkatkan ke S).
- kernel inti generik
- Porsi kernel GKI yang umum di semua perangkat.
- Kernel Gambar Kernel Generik (GKI).
- Kernel ACK yang lebih baru (5.4 dan lebih tinggi) (saat ini hanya aarch64). Kernel ini memiliki dua bagian: Inti kernel GKI dengan kode umum di semua perangkat dan modul GKI yang dikembangkan oleh Google yang dapat dimuat secara dinamis di perangkat jika memungkinkan.
- Kernel Antarmuka Modul Kernel (KMI).
- Lihat kernel GKI .
- Luncurkan Kernel
- Kernel yang valid untuk meluncurkan perangkat untuk rilis platform Android tertentu. Misalnya, di Android 12, kernel peluncuran yang valid adalah 4.19, 5.4, dan 5.10.
- Kernel Dukungan Jangka Panjang (LTS).
- Kernel Linux yang didukung selama 2 hingga 6 tahun. Kernel LTS dirilis setahun sekali dan menjadi dasar untuk setiap ACK Google.
Jenis cabang
- Cabang kernel ACK KMI
- Cabang tempat kernel GKI dibuat. Misalnya, android12-5.10 dan android13-5.15.
- Android-mainline
- Cabang pengembangan utama untuk fitur Android. Saat kernel LTS baru dideklarasikan di upstream, kernel GKI baru yang sesuai dicabangkan dari android-mainline.
- Lini utama Linux
- Cabang pengembangan utama untuk kernel Linux hulu, termasuk kernel LTS.
Istilah lain
- Gambar boot bersertifikat
- Kernel dikirim dalam bentuk biner (
boot.img
) dan di-flash ke perangkat. Gambar ini disertifikasi dalam arti mengandung sertifikat tersemat sehingga Google dapat memverifikasi bahwa perangkat dikirimkan dengan kernel yang disertifikasi oleh Google. - Modul kernel yang dapat dimuat secara dinamis (DLKM)
- Modul yang dapat dimuat secara dinamis selama booting perangkat bergantung pada kebutuhan perangkat. Modul GKI dan vendor keduanya adalah jenis DLKM. DLKM dirilis dalam bentuk
.ko
dan dapat berupa driver atau dapat memberikan fungsionalitas kernel lainnya. - proyek GKI
- Proyek Google menangani fragmentasi kernel dengan memisahkan fungsi kernel inti umum dari SoC khusus vendor dan dukungan papan menjadi modul yang dapat dimuat.
- Gambar Kernel Generik (GKI)
- Image boot yang disertifikasi oleh Google yang berisi kernel GKI yang dibuat dari pohon sumber ACK dan cocok untuk di-flash ke partisi boot perangkat Android.
- KMI
- Antarmuka antara kernel GKI dan modul vendor yang memungkinkan modul vendor diperbarui secara independen dari kernel GKI. Antarmuka ini terdiri dari fungsi kernel dan data global yang telah diidentifikasi sebagai dependensi vendor/OEM menggunakan daftar simbol per mitra.
- modul GKI
- Modul kernel yang dibuat oleh Google yang dapat dimuat secara dinamis di perangkat jika memungkinkan. Modul ini dibuat sebagai artefak kernel GKI dan dikirimkan bersama GKI sebagai arsip
system_dlkm_staging_archive.tar.gz
. Modul GKI ditandatangani oleh Google menggunakan pasangan kunci waktu pembuatan kernel dan hanya kompatibel dengan kernel GKI tempat modul tersebut dibuat. - Modul penjual
- Modul khusus perangkat keras yang dikembangkan oleh mitra dan berisi SoC dan fungsionalitas khusus perangkat. Modul vendor adalah jenis modul kernel yang dapat dimuat secara dinamis.
Apa berikutnya?
- Jika Anda baru dalam pengembangan kernel Android, Anda mungkin ingin memulai dengan membaca yang berikut ini:
- Kernel Stabil Jangka Panjang - Latar belakang kernel LTS upstream yang dimasukkan ke dalam ACK.
- Android Common Kernels - Latar belakang ACK.
- Jika Anda baru mengenal pengembangan kernel GKI, mulailah dengan membaca GKI development .
- Jika Anda menggunakan versi kernel 4.19 atau lebih lama dan mencari dokumentasi terkait, lihat bagian ikhtisar Kernel sebelumnya (<=4.19) .