GKI 1.0: Teste de compatibilidade

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

Obter imagens de inicialização

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

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

  • boot-5.4.img é um kernel não compactado.
  • boot-5.4-gz é um kernel compactado com gzip.
  • boot-5.4-lz4 é um kernel compactado lz4.

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 não são untrimmed ). Pré-construções de kernel não cortadas são geradas no destino kernel_debug_aarch64 para uma compilação de kernel específica em ci.android.com . As imagens de inicialização GKI não aparadas são geradas em compilações userdebug junto com as imagens de inicialização GKI aparadas normais e têm nomes de arquivo que terminam com -allsyms.img .

Obter artefatos de compilação do kernel

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

  1. Localize o número de compilação do kernel pré-compilado 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 na seguinte URL: https://ci.android.com/builds/submitted/ <number> /kernel_aarch64/latest

    Por exemplo, usando o número de compilação da etapa 1, a URL é a 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 .