Persyaratan kernel inti

Android 8.0 dan yang lebih tinggi mewajibkan versi kernel dan kernel minimum konfigurasinya, yang diverifikasi oleh Vendor Test Suite (VTS) dan over-the-air update OTA. Kernel perangkat Android harus mengaktifkan kernel .config dan opsi untuk membaca konfigurasi {i> kernel<i} pada waktu {i>runtime<i} melalui sistem file procfs.

Dukungan .config kernel

Semua {i>kernel<i} perangkat harus mengaktifkan seluruh android-base.cfg, yang harus menyertakan hal berikut opsi {i>kernel-config<i} (atau versi {i>kernel<i} yang setara):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

Versi kernel

Untuk Android 9, Dukungan Jangka Panjang (LTS) minimum persyaratan versi {i>kernel<i} adalah 4.4.107, 4.9.84, dan 4.14.42.

  • Semua SoC yang diproduksi pada tahun 2018 harus diluncurkan dengan kernel 4.9.84 atau yang lebih tinggi.
  • Semua SoC lain yang meluncurkan perangkat Android yang menjalankan Android 9 harus menggunakan kernel 4.4.107 atau yang lebih tinggi.
  • Kernel perangkat berdasarkan 4.14 harus menyertakan LTS 4.14.42 atau yang lebih tinggi data.
  • Terlepas dari tanggal peluncuran, semua SoC dengan perangkat diluncurkan di Android 8.0 dan yang lebih tinggi tetap tunduk pada perubahan {i>kernel<i} yang diperlukan untuk mengaktifkan Treble.
  • Perangkat Android lama yang diupgrade ke Android 8.0 atau yang lebih baru dapat terus menggunakan versi {i> kernel<i} dasar aslinya.

Untuk detail tentang kernel LTS, lihat Jangka panjang kernel stabil dan Kernel Umum Android

Dukungan Devicetree

Jika platform tidak mendukung spesifikasi Advanced Configuration and Power Interface (ACPI), dukungan devicetree dalam kernel harus diaktifkan dan bootloader harus meneruskan deskripsi perangkat keras dalam bentuk {i>devicetree<i} ke {i>kernel<i}. Devicetree juga harus tersedia untuk dibaca oleh Android, dan harus dapat lulus dan parameter khusus ODM untuk Android. CONFIG_OF bersifat wajib, beserta semua CONFIG_OF_* khusus perangkat dan subsistem lainnya opsi konfigurasi kernel.

Menggunakan DebugFS

Implementasi antarmuka vendor tidak dapat bergantung pada DebugFS sistem file untuk mengakses informasi debug. Hal itu karena di Android 7.0 hingga 10, DebugFS dapat diaktifkan, tetapi pengujian VTS mungkin dilakukan jika DebugFS dilepas.

Di Android 11, DebugFS tidak dapat diakses atau dipasang di perangkat produksi, jadi produsen perangkat harus menghapusnya. Sebelum Android 11, dumpstate mengakses statistik binder dari DebugFS. Karena build pengguna yang diluncurkan dengan Android 11 atau yang lebih tinggi tidak dapat mengakses DebugFS, dumpstate mengakses statistik binder dari binderfs. Untuk mengaktifkan Binderfs, aktifkan kernel konfigurasi CONFIG_ANDROID_BINDERFS.

Di Android 11, VTS menerapkan dua persyaratan berikut:

  • CONFIG_DEBUG_FS tidak diaktifkan dalam konfigurasi kernel perangkat.
  • DebugFS tidak tercantum dalam /proc/filesystems.

DebugFS di Android 11

Tabel berikut menjelaskan bagaimana masing-masing dari ketiga kategori ini didukung di Android 11. Perhatikan bahwa berikut ini hanya berlaku untuk build userdebug karena DebugFS tidak dapat yang terpasang di build pengguna. Jangan pernah memasang DebugFS di build pengguna untuk perangkat diluncurkan di Android 11.

Kasus penggunaan Build userdebug Android 11
Inisialisasi file DebugFS satu kali, selama startup. Akses ini hanya terjadi sekali selama waktu booting. {i>Init<i} vendor melakukan ini.
Pembuatan laporan bug: HAL dumpstate membaca DebugFS, yang menjadi bagian dari laporan bug. Dilakukan oleh dumpstate HAL dalam DumpstateBoard() saat dipanggil oleh alat dumpstate.
Pengujian dan validasi khusus perangkat Root dan shell adb