Persyaratan Kernel Inti

Android 8.0 dan lebih tinggi mewajibkan versi kernel minimum dan konfigurasi kernel, yang diverifikasi oleh pembaruan Vendor Test Suite (VTS) dan over-the-air (OTA). Kernel perangkat Android harus mengaktifkan dukungan kernel .config dan opsi untuk membaca konfigurasi kernel saat runtime melalui sistem file procfs .

Dukungan kernel .config

Semua kernel perangkat harus mengaktifkan keseluruhan android-base.cfg , yang harus menyertakan opsi konfigurasi kernel berikut (atau versi kernel yang setara):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

Versi kernel

Untuk Android 9, persyaratan versi kernel minimum Dukungan Jangka Panjang (LTS) 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 lebih tinggi.
  • Semua SoC lain yang meluncurkan perangkat Android yang menjalankan Android 9 harus menggunakan kernel 4.4.107 atau lebih tinggi.
  • Kernel perangkat berbasis 4.14 harus menyertakan rilis LTS 4.14.42 atau lebih tinggi.
  • Terlepas dari tanggal peluncurannya, semua SoC dengan perangkat yang diluncurkan pada Android 8.0 dan lebih tinggi tetap tunduk pada perubahan kernel yang diperlukan untuk mengaktifkan Treble.
  • Perangkat Android lama yang diupgrade ke Android 8.0 atau lebih tinggi dapat terus menggunakan versi kernel dasar aslinya.

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

Dukungan pohon perangkat

Jika platform tidak mendukung spesifikasi Konfigurasi Lanjutan dan Antarmuka Daya (ACPI) , dukungan pohon perangkat di kernel harus diaktifkan dan bootloader harus meneruskan deskripsi perangkat keras dalam bentuk pohon perangkat ke kernel. Devicetree juga harus tersedia untuk dibaca oleh Android, dan harus mampu meneruskan parameter spesifik vendor dan ODM ke Android. CONFIG_OF bersifat wajib, bersama dengan semua opsi konfigurasi kernel CONFIG_OF_* khusus perangkat dan subsistem lainnya.

Menggunakan DebugFS

Implementasi antarmuka vendor tidak dapat mengandalkan sistem file DebugFS untuk mengakses informasi debug. Hal ini karena di Android 7.0–10, DebugFS dapat diaktifkan, namun pengujian VTS mungkin dilakukan dengan DebugFS dilepas.

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

Di Android 11, VTS menerapkan dua persyaratan berikut:

  • CONFIG_DEBUG_FS tidak diaktifkan di konfigurasi kernel perangkat.
  • DebugFS tidak terdaftar di bawah /proc/filesystems .

DebugFS di Android 11

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

Kasus penggunaan Pembuatan debug pengguna Android 11
Inisialisasi file DebugFS satu kali, saat startup . Akses ini hanya terjadi satu kali selama waktu boot. Vendor init melakukan ini.
Pembuatan laporan bug : HAL dumpstate membaca file DebugFS , yang menjadi bagian dari laporan bug. Dilakukan oleh dumpstate HAL dalam DumpstateBoard() saat dipanggil oleh alat dumpstate.
Pengujian dan validasi khusus perangkat Adb root dan shell