Podstawowe wymagania jądra

Android 8.0 lub nowszy wymaga korzystania z minimalnej wersji jądra i jądra systemu które są weryfikowane przez Vendor Test Suite (VTS) i bezprzewodowo (OTA). Jądro urządzeń z Androidem musi włączać jądro .config z możliwością odczytu konfiguracji jądra w czasie działania procfs.

Obsługa plików .config jądra

Wszystkie jądra urządzeń muszą obsługiwać android-base.cfg, który musi zawierać: kernel-config (lub ich odpowiednik w wersji jądra):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

Wersja jądra

W przypadku Androida 9 minimalne wsparcie długoterminowe (LTS) Wymagania dotyczące wersji jądra to 4.4.107, 4.9.84 i 4.14.42.

  • Wszystkie układy SOC wyprodukowane w 2018 roku muszą uruchamiać się z jądrem 4.9.84 lub nowsza.
  • Wszystkie pozostałe układy SOC na urządzeniach z Androidem 9 musi korzystać z jądra w wersji 4.4.107 lub nowszej.
  • Jądra urządzeń oparte na wersji 4.14 muszą zawierać kanał LTS w wersji 4.14.42 lub nowszej. wersji.
  • Niezależnie od daty wprowadzenia na rynek wszystkie układy SOC z urządzeniami uruchamiają się na Androidzie 8.0. i wyższych, podlegają zmianom w jądrze wymaganym do włączenia Treble.
  • Starsze urządzenia z Androidem z Androidem 8.0 lub nowszym mogą: korzystają z pierwotnej wersji podstawowego jądra systemu.

Szczegółowe informacje o jądrach LTS znajdziesz tutaj Długoterminowa stabilne jądra Standardowe rdzenie Androida

Obsługa Devicetree

Jeśli platforma nie obsługuje specyfikacji Advanced Configuration and Power Interface (ACPI), w jądrze musi być włączona obsługa drzewa urządzeń, a programy rozruchowe muszą przejść opisu sprzętu w formie drzewa urządzeń do jądra systemu operacyjnego. Drzewo urządzeń musi być także dostępna do odczytu przez Androida i musi być w stanie przekazać i parametry specyficzne dla ODM na Androidzie. Pole CONFIG_OF jest obowiązkowe. wraz ze wszystkimi innymi CONFIG_OF_* związanymi z Twoim urządzeniem i podsystemem konfiguracji jądra systemu operacyjnego.

Używanie DebugFS

Implementacja interfejsu dostawcy nie może polegać na DebugFS systemu plików, aby uzyskać dostęp do informacji na potrzeby debugowania. Dzieje się tak dlatego, że w Androidzie w wersji od 7.0 do 10 można włączyć funkcję DebugFS, ale testy VTS można przeprowadzić, gdy DebugFS jest odłączona.

Na Androidzie 11 nie można uzyskać dostępu do aplikacji DebugFS ani podłączyć urządzenia na urządzeniach produkcyjnych, więc producenci urządzeń muszą je usuwać. Przed Androidem 11 Użytkownik dumpstate uzyskał dostęp do statystyk powiązania z: DebugFS. Ponieważ kompilacje użytkowników uruchamiane z Androidem 11 lub nowszym nie mają dostępu do DebugFS, dumpstate uzyskuje dostęp do statystyk powiązania z binderfs Aby włączyć Binderfs, włącz jądro konfiguracja CONFIG_ANDROID_BINDERFS.

W Androidzie 11 moduł VTS egzekwuje te 2 wymagania:

  • Usługa CONFIG_DEBUG_FS nie jest włączona w konfiguracji jądra urządzenia.
  • DebugFS nie znajduje się na liście /proc/filesystems.

DebugFS w Androidzie 11

W tabeli poniżej opisujemy, jak każda z tych kategorii jest jest obsługiwana w Androidzie 11. Pamiętaj, że parametr poniższe zastosowanie ma zastosowanie tylko do kompilacji debugowania użytkownika, ponieważ funkcji DebugFS nie można w kompilacjach użytkowników. Nigdy nie podłączaj DebugFS w kompilacjach użytkowników na urządzeniach na Androidzie 11.

Przypadek użycia Kompilacja debugowania użytkownika na Androidzie 11
Jednorazowe zainicjowanie plików DebugFS podczas uruchamiania. Dostęp ten jest możliwy tylko raz podczas uruchamiania. Robi to dostawca.
Generowanie raportów o błędach: lista HAL odczytuje dane z raportu o błędzie. DebugFS plików, które stały się częścią raportu o błędzie. Wykonywane przez HAL stanu zrzutu w ciągu DumpstateBoard() po wywołaniu za pomocą narzędzia Dumpstate.
Testowanie i weryfikacja pod kątem konkretnych urządzeń Poziom główny AdB i powłoka