Для Android 8.0 и более поздних версий требуется минимальная версия ядра и конфигурация ядра, которые проверяются с помощью Vendor Test Suite (VTS) и беспроводных (OTA) обновлений. Ядра устройств Android должны включать поддержку ядра .config
и возможность чтения конфигурации ядра во время выполнения через файловую систему procfs
.
Поддержка .config ядра
Все ядра устройств должны полностью включать android-base.cfg , который должен включать следующие параметры конфигурации ядра (или их эквивалент версии ядра):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
Версия ядра
Для Android 9 минимальные требования к версии ядра с долгосрочной поддержкой (LTS) — 4.4.107, 4.9.84 и 4.14.42.
- Все SoC, выпущенные в 2018 году, должны запускаться с ядром 4.9.84 или выше.
- Все другие SoC, запускающие Android-устройства под управлением Android 9, должны использовать ядро 4.4.107 или выше.
- Ядра устройств на основе 4.14 должны включать версию 4.14.42 или выше LTS.
- Независимо от даты запуска, все SoC с устройствами, запускаемыми на Android 8.0 и выше, подлежат изменениям ядра, необходимым для включения Treble.
- Старые устройства Android, обновляющиеся до Android 8.0 или более поздней версии, могут продолжать использовать свою исходную базовую версию ядра.
Дополнительные сведения о ядрах LTS см. в разделе Долгосрочные стабильные ядра и общие ядра Android .
Поддержка дерева устройств
Если платформа не поддерживает спецификацию Advanced Configuration and Power Interface (ACPI) , поддержка дерева устройств в ядре должна быть включена, а загрузчики должны передавать описание оборудования в виде дерева устройств в ядро. Дерево устройств также должно быть доступно для Android для чтения, и оно должно иметь возможность передавать параметры поставщика и ODM в Android. CONFIG_OF
является обязательным, наряду со всеми другими параметрами конфигурации ядра CONFIG_OF_*
, специфичными для устройства и подсистемы.
Использование отладочной файловой системы
Реализация интерфейса поставщика не может полагаться на файловую систему DebugFS
для доступа к отладочной информации. Это связано с тем, что в Android 7.0–10 DebugFS
может быть включена, но тестирование VTS может выполняться с размонтированной DebugFS
.
В Android 11 DebugFS
нельзя получить доступ или установить его на производственных устройствах, поэтому производители устройств должны удалить его. До Android 11 dumpstate
доступ к статистике привязки из DebugFS
. Поскольку пользовательские сборки, запускаемые с Android 11 или более поздней версии, не могут получить доступ к DebugFS
, dumpstate
получает доступ к статистике привязки из binderfs
. Чтобы включить Binderfs
, включите конфигурацию ядра CONFIG_ANDROID_BINDERFS
.
В Android 11 VTS применяет эти два требования:
-
CONFIG_DEBUG_FS
не включен в конфигурации ядра устройства. -
DebugFS
не указан в/proc/filesystems
.
DebugFS в Android 11
В следующей таблице описано, как каждая из этих трех категорий поддерживается в Android 11. Обратите внимание, что следующее относится только к сборкам userdebug, поскольку DebugFS
не может быть смонтирован в пользовательских сборках. Никогда не монтируйте DebugFS
в пользовательских сборках для устройств, запускаемых на Android 11.
Вариант использования | Сборка пользовательской отладки Android 11 |
---|---|
Одноразовая инициализация файлов DebugFS во время запуска . Этот доступ происходит только один раз во время загрузки. | Vendor init делает это. |
Генерация отчета об ошибке : HAL дампа состояния считывает файлы DebugFS , которые становятся частью отчета об ошибке. | Выполняется с помощью HAL дампа состояния в DumpstateBoard() при вызове инструмента дампа состояния. |
Тестирование и проверка конкретных устройств | Адб корень и оболочка |