O Android 8.0 e versões mais recentes exigem uma versão mínima do kernel e do kernel
do cliente, que são verificadas pelo Conjunto de testes de fornecedor (VTS, na sigla em inglês) e via OTA
(OTA). Os kernels do dispositivo Android precisam ativar o kernel .config
e a opção de ler a configuração do kernel no ambiente de execução por meio do
procfs
.
Suporte a .config do kernel
Todos os kernels do dispositivo devem ativar todo o android-base.cfg, que precisa incluir o seguinte Opções kernel-config (ou a versão equivalente do kernel):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
Versão do kernel
Para o Android 9, o Suporte de longo prazo (LTS) mínimo os requisitos de versão do kernel são 4.4.107, 4.9.84 e 4.14.42.
- Todos os SoCs produzidos em 2018 precisam ser lançados com kernel 4.9.84 ou superior.
- Todos os outros SoCs que estão lançando dispositivos com o Android 9 precisa usar o kernel 4.4.107 ou superior.
- Os kernels de dispositivo baseados na versão 4.14 precisam incluir o LTS 4.14.42 ou superior lançamento.
- Independentemente da data de lançamento, todos os SoCs com dispositivos são lançados no Android 8.0 e superiores permanecem sujeitos às alterações do kernel necessárias para ativar o Treble.
- Dispositivos Android mais antigos que fizerem upgrade para o Android 8.0 ou versões mais recentes podem continuar com: usam a versão original do kernel de base.
Para mais detalhes sobre kernels de LTS, consulte Longo prazo kernels estáveis e Kernels comuns do Android
Suporte a Devicetree
Se a plataforma não for compatível com a especificação Advanced Configuration and Power Interface (ACPI),
o suporte a devicetree no kernel deve ser ativado e os carregadores de inicialização devem passar o
descrição de hardware na forma de uma árvore de dispositivos para o kernel. A árvore de dispositivos
também deve estar disponível para o Android ler e deve ser capaz de passar dados
e parâmetros específicos de ODM para o Android. CONFIG_OF
é obrigatório,
com todas as outras CONFIG_OF_*
específicas do dispositivo e do subsistema
opções de configuração do kernel.
Usar o DebugFS
A implementação da interface do fornecedor não pode depender do DebugFS
para acessar informações de depuração.
Isso porque, nas versões 7.0 a 10 do Android, a DebugFS
pode ser ativada,
mas o teste VTS pode ser feito com DebugFS
desconectados.
No Android 11, o DebugFS
não pode ser acessado ou montado em
dispositivos de produção, portanto, os fabricantes precisam removê-los. Antes do Android 11,
dumpstate
acessou as estatísticas de vinculação de DebugFS
.
Porque os builds do usuário lançados com o Android 11 ou mais recente não podem acessar
DebugFS
, dumpstate
acessa estatísticas de binder de
binderfs
Para ativar Binderfs
, ative o kernel
configuração CONFIG_ANDROID_BINDERFS
.
No Android 11, o VTS aplica estes dois requisitos:
CONFIG_DEBUG_FS
não está ativado na configuração do kernel do dispositivo.DebugFS
não está listado em/proc/filesystems
.
DebugFS no Android 11
A tabela a seguir descreve como cada uma dessas três categorias é
com suporte no Android 11. Observe que o
a seguir só se aplica a builds userdebug, já que DebugFS
não pode ser
montados em builds do usuário. Nunca montar DebugFS
em builds do usuário para dispositivos
lançamento no Android 11.
Caso de uso | Build userdebug do Android 11 |
---|---|
Inicialização única de arquivos DebugFS durante a inicialização.
Esse acesso acontece apenas uma vez durante o tempo de inicialização.
|
O init do fornecedor faz isso. |
Geração de relatórios de bugs: a HAL de dumpstate lê.
Arquivos DebugFS , que se tornam parte do relatório do bug.
|
Feito pela HAL de dumpstate dentro de DumpstateBoard() quando invocado.
pela ferramenta dumpstate.
|
Teste e validação específicos do dispositivo | Raiz Adb e shell |