GKI 1.0: test di compatibilità

Questa pagina descrive come ottenere immagini di avvio con gli elementi di compilazione del kernel per i test di compatibilità.

Ottenere immagini di avvio

In AOSP, puoi ottenere immagini di avvio precompilate da ci.android.com. Le immagini di avvio sono contenute nell'archivio aosp_arm64-img-*.zip nel aosp_arm64 target di compilazione, come segue:

I partner possono ottenere immagini di avvio firmate o non firmate come segue:

  • Ottieni immagini di avvio non firmate basate su android12-5.4 dal ramo aosp-main su ci.android.com (cerca nel target di compilazione aosp_arm64). Queste immagini di avvio contengono un ramdisk costruito dal ramo main di AOSP. Non utilizzare le immagini boot-debug, poiché sono destinate solo ai dispositivi precedenti a GKI.
  • Ottieni immagini di avvio firmate basate su android11-5.4 da partner.android.com. Queste immagini di avvio contengono un ramdisk creato dal ramo r-fs-release. La firma boot.img segue la stessa procedura della firma GSI.

Le immagini di avvio firmate e non firmate sono disponibili nelle seguenti opzioni di compressione del kernel:

  • boot-5.4.img è un kernel non compresso.
  • boot-5.4-gz è un kernel compresso con gzip.
  • boot-5.4-lz4 è un kernel compresso con lz4.
Per i test di compatibilità, utilizza immagini di avvio con kernel che esportano solo i simboli visualizzati nell'elenco dei simboli KMI (i simboli sono trimmed).

Per scopi di sviluppo, puoi utilizzare precompilati del kernel e immagini di avvio GKI che esportano tutti i simboli nel kernel (i simboli sono untrimmed). I precompilati del kernel non tagliati vengono generati nel target kernel_debug_aarch64 per una determinata build del kernel su ci.android.com. Le immagini di avvio GKI non tagliate vengono generate nelle build userdebug insieme alle normali immagini di avvio GKI tagliate e hanno nomi file che terminano con -allsyms.img.

Ottenere gli artefatti della build del kernel

Quando esegui il debug dei problemi in un file GKI boot.img, è utile avere anche gli elementi di compilazione associati al kernel in quel file. Ad esempio, puoi utilizzare il file vmlinux non stripped per il debug e il manifest per riprodurre la compilazione del kernel GKI localmente. Per ottenere gli elementi della build:

  1. Individua il numero di build del kernel precompilato utilizzato per creare il GKI boot.img. Il numero di build viene visualizzato alla fine della versione del kernel, precededo dalle lettere ab. L'esempio seguente mostra il numero di build in grassetto:

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

    Puoi anche determinare il numero di build del kernel utilizzando grep per trovare un'immagine di avvio contenente un kernel non compresso:

    grep -a "Linux version " boot-5.4.img
  2. Apri la build precompilata del kernel utilizzando il numero di build nel seguente URL: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Ad esempio, utilizzando il numero di build del passaggio 1, l'URL è il seguente: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Quando utilizzi una build non ritagliata, sostituisci kernel_aarch64 nel link con kernel_debug_aarch64.