Wymagania dotyczące jądra
Android 8.0 i nowsze wymagają minimalnej wersji jądra i konfiguracji jądra, która jest weryfikowana przez VTS (Vendor Test Suite) i aktualizacje OTA (over-the-air). Jądra urządzeń Android muszą włączyć obsługę jądra .config
i opcję odczytu konfiguracji jądra w czasie wykonywania przez procfs
.
Wsparcie .config jądra
Wszystkie jądra urządzeń muszą włączyć całość android-base.cfg, która musi zawierać następujące opcje kernel-config (lub ich odpowiedniki w wersji jądra):
CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
Wersja jądra
Dla Androida 9, minimalne wymagania wersji jądra Long Term Support (LTS) to 4.4.107, 4.9.84, i 4.14.42.
- Wszystkie układy system-on-chips (SoC) wyprodukowane w 2018 roku muszą uruchamiać się z jądrem 4.9.84 lub nowszym.
- Wszystkie inne układy SoC uruchamiające urządzenia z systemem Android z systemem Android 9 muszą używać jądra 4.4.107 lub nowszego.
- Jądra urządzeń oparte na 4.14 muszą zawierać wersję 4.14.42 lub wyższą LTS.
- Niezależnie od daty premiery, wszystkie SoC z urządzeniami uruchamianymi z systemem Android 8.0 i wyższym podlegają zmianom jądra wymaganym do włączenia Treble.
- Starsze urządzenia z Androidem aktualizujące się do Androida 8.0 lub wyższego mogą nadal korzystać ze swojej oryginalnej wersji jądra bazowego.
Szczegóły na temat jąder LTS, zobacz Długoterminowe stabilne jądra i Android Common Kernels
Obsługa devicetree
Jeśli platforma nie obsługuje Advanced Configuration and Power Interface (ACPI), obsługa devicetree w jądrze musi być włączona, a bootloadery muszą przekazać opis sprzętu w formie devicetree do jądra. Drzewo devicetree musi być również dostępne dla Androida do odczytu i być w stanie przekazać parametry specyficzne dla dostawcy i ODM do Androida. CONFIG_OF
jest obowiązkowe, wraz ze wszystkimi innymi specyficznymi dla urządzeń i podsystemów CONFIG_OF_*
opcjami konfiguracyjnymi jądra.
DebugFS
Implementacja interfejsu dostawcy nie może polegać na debugfs
. W Androidzie 7.0-10, debugfs
można włączyć, ale testy VTS mogą być wykonywane z debugfs
niezamontowanym.
W Androidzie 11, debugfs
nie może być dostępny lub zamontowany na urządzeniach produkcyjnych. Producenci urządzeń powinni usunąć debugfs
. Przed Androidem 11, dumpstate uzyskiwał dostęp do statystyk bindera z debugfs. Ponieważ kompilacje użytkowników startujące z Androidem 11 nie mają już dostępu do debugfs, dumpstate może teraz również uzyskać dostęp do statystyk bindera z binderfs. Binderfs może być włączony przez włączenie konfiguracji jądra CONFIG_ANDROID_BINDERFS.
W systemie Android 11 , VTS wymusza, że CONFIG_DEBUG_FS
nie jest włączone w konfiguracji jądra urządzenia i debugfs
nie jest wymienione pod /proc/filesystems
.