GKI 1.0: Teste de compatibilidade

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

Obtenha imagens de inicialização

No AOSP, você pode obter imagens de inicialização pré-construídas em ci.android.com . As imagens de inicialização estão contidas no aosp_arm64-img-*.zip no destino de compilação aosp_arm64 , conforme a seguir:

Os parceiros podem obter imagens de inicialização não assinadas ou assinadas, da seguinte forma:

  • Obtenha imagens de inicialização não assinadas baseadas em android12-5.4 na ramificação aosp-main em ci.android.com (veja o destino de compilação aosp_arm64 ). Essas imagens de inicialização contêm um ramdisk criado a partir da ramificação main do AOSP. Não use imagens boot-debug ; eles se destinam apenas a dispositivos pré-GKI.
  • Obtenha imagens de inicialização assinadas baseadas em android11-5.4 em partner.android.com . Essas imagens de inicialização contêm um ramdisk construído a partir do branch r-fs-release . A assinatura boot.img segue o mesmo processo da assinatura GSI.

As imagens de inicialização assinadas e não assinadas vêm nas seguintes opções de compactação de kernel:

  • boot-5.4.img é um kernel descompactado.
  • boot-5.4-gz é um kernel compactado gzip.
  • boot-5.4-lz4 é um kernel compactado lz4.
Para testes de compatibilidade, use imagens de inicialização com kernels que exportam apenas os símbolos que aparecem na lista de símbolos KMI (os símbolos são trimmed ).

Para fins de desenvolvimento, você pode usar pré-compilações do kernel e imagens de inicialização GKI que exportam todos os símbolos no kernel (os símbolos são untrimmed ). Pré-construídos de kernel não ajustados são gerados no destino kernel_debug_aarch64 para uma compilação de kernel específica em ci.android.com . Imagens de inicialização GKI não cortadas são geradas em compilações de userdebug junto com as imagens de inicialização GKI cortadas normais e têm nomes de arquivos que terminam com -allsyms.img .

Obtenha artefatos de construção do kernel

Ao depurar problemas em um arquivo boot.img do GKI, é útil também ter os artefatos de compilação associados ao kernel nesse arquivo. Por exemplo, você pode usar o vmlinux não removido para depuração e o manifesto para reproduzir a compilação do kernel GKI localmente. Para obter artefatos de construção:

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

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab 6638796

    Você também pode determinar o número de compilação do kernel usando grep para encontrar uma imagem de inicialização contendo um kernel descompactado:

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

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

    Ao usar uma compilação não cortada, substitua kernel_aarch64 no link por kernel_debug_aarch64 .