Persyaratan Kernel Inti

Android 8.0 dan yang lebih tinggi mengamanatkan 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 Long Term Support (LTS) minimum 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 berdasarkan 4.14 harus menyertakan rilis LTS 4.14.42 atau lebih tinggi.
  • Terlepas dari tanggal peluncuran, semua SoC dengan peluncuran perangkat di Android 8.0 dan lebih tinggi tetap tunduk pada perubahan kernel yang diperlukan untuk mengaktifkan Treble.
  • Perangkat Android lama yang ditingkatkan 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 Devicetree

Jika platform tidak mendukung spesifikasi Advanced Configuration and Power Interface (ACPI) , dukungan devicetree di kernel harus diaktifkan dan bootloader harus meneruskan deskripsi perangkat keras dalam bentuk devicetree ke kernel. Devicetree juga harus tersedia untuk dibaca Android, dan harus dapat meneruskan parameter khusus vendor dan ODM ke Android. CONFIG_OF adalah 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. Itu karena di Android 7.0-10, DebugFS dapat diaktifkan, tetapi 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, statistik binder mengakses dumpstate dari DebugFS . Karena build pengguna yang diluncurkan dengan Android 11 atau lebih tinggi tidak dapat mengakses DebugFS , dumpstate mengakses statistik binder dari binderfs . Untuk mengaktifkan Binderfs , aktifkan konfigurasi kernel CONFIG_ANDROID_BINDERFS .

Di Android 11, VTS memberlakukan 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 hal berikut ini hanya berlaku untuk build userdebug karena DebugFS tidak dapat dipasang di build pengguna. Jangan pernah memasang DebugFS di build pengguna untuk perangkat yang diluncurkan di Android 11.

Gunakan kasus build debug pengguna Android 11
Inisialisasi file DebugFS satu kali, selama startup . Akses ini hanya terjadi sekali selama waktu boot. Vendor init melakukan ini.
Pembuatan laporan bug : HAL DebugFS , yang menjadi bagian dari laporan bug. Dilakukan oleh dumpstate HAL dalam DumpstateBoard() saat dipanggil oleh alat dumpstate.
Pengujian dan validasi khusus perangkat Akar dan cangkang adb