GKI 1.0: Pruebas de compatibilidad

En esta página, se describe cómo obtener imágenes de inicio con artefactos de compilación del kernel para pruebas de compatibilidad.

Cómo obtener imágenes de arranque

En AOSP, puedes obtener imágenes de inicio precompiladas de ci.android.com. Las imágenes de inicio se encuentran en el archivo aosp_arm64-img-*.zip del destino de compilación aosp_arm64, de la siguiente manera:

Los socios pueden obtener imágenes de inicio firmadas o sin firmar de la siguiente manera:

  • Obtén imágenes de arranque sin firmar basadas en android12-5.4 de la rama aosp-main en ci.android.com (busca en el destino de compilación aosp_arm64). Estas imágenes de arranque contienen un ramdisk compilado a partir de la rama main de AOSP. No uses las imágenes boot-debug, ya que solo están diseñadas para dispositivos anteriores a GKI.
  • Obtén imágenes de arranque firmadas basadas en android11-5.4 desde partner.android.com. Estas imágenes de arranque contienen un ramdisk compilado a partir de la rama r-fs-release. La firma de boot.img sigue el mismo proceso que la firma de GSI.

Las imágenes de arranque firmadas y sin firmar tienen las siguientes opciones de compresión del kernel:

  • boot-5.4.img es un kernel sin comprimir.
  • boot-5.4-gz es un kernel comprimido con gzip.
  • boot-5.4-lz4 es un kernel comprimido con lz4.
Para las pruebas de compatibilidad, usa imágenes de inicio con kernels que exporten solo los símbolos que aparecen en la lista de símbolos de KMI (los símbolos son trimmed).

Para fines de desarrollo, puedes usar compilaciones previas del kernel y de imágenes de arranque de GKI que exporten todos los símbolos del kernel (los símbolos son untrimmed). Las compilaciones previas del kernel sin recortar se generan en el destino kernel_debug_aarch64 para una compilación de kernel en particular en ci.android.com. Las imágenes de arranque de GKI sin recortar se generan en compilaciones de userdebug junto con las imágenes de arranque de GKI normales y tienen nombres de archivo que terminan con -allsyms.img.

Cómo obtener artefactos de compilación del kernel

Cuando se depuran problemas en un archivo boot.img de GKI, es útil tener los artefactos de compilación asociados con el kernel en ese archivo. Por ejemplo, puedes usar el vmlinux sin quitarle el encabezado para depurar y el manifiesto para reproducir la compilación del kernel de GKI de forma local. Para obtener artefactos de compilación, sigue estos pasos:

  1. Busca el número de compilación del kernel compilado previamente que se usó para crear el boot.img de GKI. El número de compilación aparece al final de la versión del kernel, precedido por las letras ab. En el siguiente ejemplo, se muestra el número de compilación en negrita:

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

    También puedes determinar el número de compilación del kernel con grep para encontrar una imagen de arranque que contenga un kernel sin comprimir:

    grep -a "Linux version " boot-5.4.img
  2. Abre la compilación precompilada del kernel con el número de compilación en la siguiente URL: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Por ejemplo, con el número de compilación del paso 1, la URL es la siguiente: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Cuando uses una compilación sin recortar, reemplaza kernel_aarch64 en el vínculo por kernel_debug_aarch64.