Core Kernel Requirements
Android 8.0 e superior mandam uma versão mínima do kernel e configuração do kernel que é verificada pelo Vendor Test Suite (VTS) e atualizações over-the-air (OTA). Os kernels de dispositivos Android devem habilitar o kernel .config
suporte e a opção para ler a configuração do kernel em tempo de execução através de procfs
.
Kernel .config support
Todos os kernels de dispositivos devem habilitar toda a base do andróide.cfg, que deve incluir as seguintes opções kernel-config (ou seu equivalente kernel-versão):
CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
Versão do kernel
Para Android 9, os requisitos mínimos da versão do kernel com suporte a longo prazo (LTS) são 4.4.107, 4.9.84, e 4.14.42.
- Todos os SoCs (system-on-chips) produzidos em 2018 devem ser lançados com o kernel 4.9.84 ou mais recente.
- Todos os outros SoCs que lançam dispositivos Android rodando Android 9 devem usar o kernel 4.4.107 ou superior.
- Os kernels de dispositivos baseados no 4.14 devem incluir o lançamento do LTS 4.14.42 ou superior.
- Independentemente da data de lançamento, todos os SoCs com lançamento de dispositivos no Android 8.0 ou superior continuam sujeitos às alterações de kernel necessárias para ativar o Treble.
- Os dispositivos Android mais antigos que actualizem para o Android 8.0 ou superior podem continuar a usar a sua versão original do kernel base.
Para detalhes sobre kernels LTS, veja kernels estáveis de longo prazo e kernels comuns Android
Suporte de devicetree
Se a plataforma não suportar Advanced Configuration and Power Interface (ACPI), o suporte a devicetree no kernel deve ser habilitado e os bootloaders devem passar a descrição do hardware na forma de um devicetree para o kernel. A árvore de dispositivo também deve estar disponível para o Android para ler e ser capaz de passar parâmetros específicos do fornecedor e do ODM para o Android. CONFIG_OF
é obrigatório, junto com todos os outros dispositivos e subsistemas específicos CONFIG_OF_*
opções de configuração do kernel.
DebugFS
A implementação da interface do fornecedor não pode confiar em debugfs
. No Android 7.0-10, debugfs
pode ser ativado, mas testes VTS podem ser feitos com debugfs
desmontado.
No Android 11, debugfs
não pode ser acessado ou montado em dispositivos de produção. Os fabricantes de dispositivos devem remover debugfs
. Antes do Android 11, o dumpstate acessado estatísticas de binder a partir de debugfs. Como o usuário constrói lançando com o Android 11 não pode mais acessar debugfs dumpstate agora também pode acessar estatísticas de binderfs. Binderfs pode ser habilitado ativando a configuração do kernel CONFIG_ANDROID_BINDERFS.
No Android 11 , o VTS reforça que CONFIG_DEBUG_FS
não está habilitado na configuração do kernel do dispositivo e debugfs
não está listado em /proc/filesystems
.