GKI 1.0: testes de compatibilidade

Esta página descreve como conseguir imagens de inicialização com artefatos de build do kernel para testes de compatibilidade.

Acessar imagens de inicialização

No AOSP, é possível acessar imagens de inicialização pré-criadas em ci.android.com. As imagens de inicialização estão contidas no arquivo aosp_arm64-img-*.zip no destino de build aosp_arm64, conforme mostrado abaixo:

As imagens de inicialização assinadas e não assinadas têm as seguintes opções de compactação do kernel:

  • boot-5.4.img é um kernel descompactado.
  • boot-5.4-gz é um kernel compactado com gzip.
  • boot-5.4-lz4 é um kernel compactado lz4.

Para fins de desenvolvimento, é possível usar pré-builds do kernel e imagens de inicialização GKI que exportam todos os símbolos no kernel (os símbolos são untrimmed). Pré-builds do kernel não aparados são gerados no destino kernel_debug_aarch64 para um build de kernel específico em ci.android.com. As imagens de inicialização GKI não aparadas são geradas em builds de userdebug junto com as imagens de inicialização GKI normais e têm nomes de arquivos que terminam em -allsyms.img.

Extrair artefatos de build do kernel

Ao depurar problemas em um arquivo boot.img do GKI, é útil ter os artefatos de build associados ao kernel nesse arquivo. Por exemplo, é possível usar o vmlinux sem stripping para depuração e o manifesto para reproduzir o build do kernel da GKI localmente. Para conseguir artefatos de build:

  1. Localize o número de build do kernel pré-criado usado para criar o boot.img da GKI. O número de build aparece no final da versão do kernel, precedido pelas letras ab. O exemplo a seguir mostra o número de build em negrito:

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796

    Também é possível determinar o número de build do kernel usando grep para encontrar uma imagem de inicialização que contenha um kernel descompactado:

    grep -a "Linux version " boot-5.4.img
  2. Abra o build pré-criado do kernel usando o número de build no seguinte URL: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Por exemplo, usando o número de build da etapa 1, o URL é o seguinte: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Ao usar um build não cortado, substitua kernel_aarch64 no link por kernel_debug_aarch64.