Ringkasan kernel

Kernel Android didasarkan pada upstream Kernel Linux yang Didukung Jangka Panjang (LTS). Di Google, LTS {i>kernel<i} dikombinasikan dengan {i>patch<i} khusus Android untuk membentuk apa yang dikenal sebagai Kernel Umum (ACK) Android.

ACK yang lebih baru (versi 5.4 dan yang lebih baru) juga dikenal sebagai kernel GKI. Kernel GKI mendukung pemisahan kode Generic Core Kernel agnostik hardware dan Modul GKI dari khusus hardware modul vendor.

Kernel GKI berinteraksi dengan modul vendor khusus hardware yang berisi sistem di {i>chip<i} (SoC) dan kode khusus {i>board<i}. Interaksi antara {i>kernel<i} 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 dan vendor GKI arsitektur modul:

Arsitektur GKI
Gambar 1. Arsitektur GKI

Daftar istilah kernel

Bagian ini berisi istilah yang digunakan di seluruh dokumentasi {i>kernel<i}.

Jenis kernel

Kernel Umum Android (ACK)
Kernel yang berada di downstream kernel LTS dan menyertakan patch yang menarik untuk Android komunitas yang belum digabungkan ke dalam kernel Linux mainline atau Long Term Didukung (LTS). ACK yang lebih baru (versi 5.4 dan yang lebih baru) juga dikenal sebagai kernel GKI karena mendukung pemisahan kode Kernel Generik agnostik hardware dan modul GKI agnostik hardware.
Kernel Proyek Open Source Android (AOSP)
Lihat Kernel Umum Android.
{i>Kernel<i} Fitur
Kernel yang fitur rilis platformnya dijamin akan diimplementasikan. Sebagai 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; set fitur akan serupa ke perangkat yang diluncurkan dengan versi 4.19 di Android 11 dan diupgrade ke Android 12.
kernel inti generik
Bagian dari kernel GKI yang umum di semua perangkat.
Kernel Image Kernel Generik (GKI)
ACK kernel apa pun yang lebih baru (5.4 dan yang lebih baru) (saat ini hanya aarch64). Ini {i>kernel<i} memiliki dua bagian: {i>Kernel<i} GKI inti dengan kode yang umum di semua perangkat dan modul GKI yang dikembangkan oleh Google yang dapat dimuat secara dinamis di perangkat jika berlaku.
Kernel Module Interface (KMI)
Lihat Kernel GKI.
Meluncurkan Kernel
Kernel yang valid untuk meluncurkan perangkat bagi rilis platform Android tertentu. Sebagai misalnya, di Android 12, kernel peluncuran yang valid adalah 4.19, 5.4, dan 5.10.
Kernel yang Didukung Jangka Panjang (LTS)
Kernel Linux yang didukung selama 2 sampai 6 tahun. LTS kernel dirilis sekali per tahun dan merupakan 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 menerima LTS baru kernel dideklarasikan sebagai upstream, kernel GKI baru yang sesuai adalah bercabang dari android-mainline.
Alur utama Linux
Cabang pengembangan utama untuk kernel Linux upstream, termasuk kernel LTS.

Istilah lainnya

Image boot tersertifikasi
Kernel yang dikirimkan dalam bentuk biner (boot.img) dan di-flash ke perangkat. Gambar ini disertifikasi karena berisi sertifikat tersemat sehingga Google dapat pastikan perangkat dikirim 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 seluler. GKI dan modul vendor adalah jenis DLKM. DLKM dirilis di .ko bentuk dan dapat menjadi {i>driver<i} atau dapat memberikan fungsionalitas {i>kernel<i} lainnya.
Project GKI
Project Google yang menangani fragmentasi kernel dengan memisahkan kernel inti umum fungsionalitas mulai dari SoC dan dukungan dewan khusus vendor ke dalam modul yang dapat dimuat.
Gambar Kernel Generik (GKI)
Image booting yang disertifikasi oleh Google dan berisi kernel GKI yang dibuat dari hierarki sumber ACK dan sesuai untuk di-flash ke partisi booting perangkat Android.
KMI
Antarmuka antara kernel GKI dan modul vendor yang mengizinkan vendor modul otomatis untuk diupdate secara independen dari {i>kernel<i} GKI. Antarmuka ini terdiri dari {i>kernel<i} fungsi dan data global yang telah diidentifikasi sebagai dependensi vendor/OEM menggunakan daftar simbol per partner.
Modul GKI
Modul kernel yang dibuat oleh Google yang dapat dimuat secara dinamis di perangkat jika berlaku. Modul-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 build kernel dan hanya kompatibel dengan GKI {i>kernel<i} yang mereka bangun.
Modul vendor
Modul khusus hardware yang dikembangkan oleh partner dan berisi SoC serta khusus perangkat fungsionalitasnya. Modul vendor adalah jenis modul kernel yang dapat dimuat secara dinamis.

Apa selanjutnya?

  • Jika Anda baru mengenal pengembangan {i>kernel<i} Android, Anda mungkin ingin mulai dengan membaca berikut ini:
  • Jika Anda baru mengenal pengembangan {i> kernel<i} GKI, mulailah dengan membaca Pengembangan GKI.
  • Jika Anda menggunakan versi {i>kernel<i} 4.19 atau lebih lama dan mencari dokumentasi terkait, lihat dokumen kernels (<=4.19) overview.