GKI 1.0: Kompatibilitätstests

Auf dieser Seite wird beschrieben, wie Sie Boot-Images mit Kernel-Build-Artefakten für Kompatibilitätstests erhalten.

Boot-Images abrufen

In AOSP können Sie vorkonfigurierte Boot-Images von ci.android.com herunterladen. Die Boot-Images befinden sich im aosp_arm64-img-*.zip-Archiv im aosp_arm64-Buildziel:

Partner können signierte oder nicht signierte Boot-Images so abrufen:

  • Rufen Sie unter ci.android.com im aosp-main-Branch android12-5.4-basierte, nicht signierte Boot-Images ab (im Build-Ziel aosp_arm64). Diese Boot-Images enthalten ein Ramdisk, das aus dem AOSP-main-Branch erstellt wurde. Verwenden Sie keine boot-debug-Images. Sie sind nur für Geräte vor der Einführung von GKI gedacht.
  • Holen Sie sich unter partner.android.com signierte Boot-Images auf der Basis von android11-5.4. Diese Boot-Images enthalten ein Ramdisk, das aus dem r-fs-release-Branch erstellt wurde. boot.img-Signatur erfolgt nach demselben Verfahren wie die GSI-Signatur.

Sowohl signierte als auch signaturlose Boot-Images sind mit den folgenden Kernelkomprimierungsoptionen verfügbar:

  • boot-5.4.img ist ein unkomprimierter Kernel.
  • boot-5.4-gz ist ein gzip-komprimierter Kernel.
  • boot-5.4-lz4 ist ein LZ4-komprimierter Kernel.
Verwenden Sie für Kompatibilitätstests Boot-Images mit Kerneln, die nur die Symbole exportieren, die in der KMI-Symbolliste aufgeführt sind (die Symbole sind trimmed).

Für Entwicklungszwecke können Sie Kernel-Prebuilts und GKI-Boot-Images verwenden, die alle Symbole im Kernel exportieren (die Symbole sind untrimmed). Nicht zugeschnittene Kernel-Prebuilts werden im Ziel kernel_debug_aarch64 für einen bestimmten Kernel-Build auf ci.android.com generiert. Nicht zugeschnittene GKI-Boot-Images werden in Userdebug-Builds neben den normalen zugeschnittenen GKI-Boot-Images generiert und haben Dateinamen, die auf -allsyms.img enden.

Kernel-Build-Artefakte abrufen

Wenn Sie Probleme in einer GKI-boot.img-Datei beheben, ist es hilfreich, auch die Build-Artefakte zu haben, die mit dem Kernel in dieser Datei verknüpft sind. Sie können beispielsweise die nicht gestrippte vmlinux für das Debuggen und das Manifest zum lokalen Reproduzieren des GKI-Kernel-Builds verwenden. So rufen Sie Build-Artefakte ab:

  1. Suchen Sie die Build-Nummer für den vorkonfigurierten Kernel, mit dem die GKI boot.img erstellt wurde. Die Build-Nummer wird am Ende der Kernelversion angezeigt, gefolgt von den Buchstaben ab. Im folgenden Beispiel ist die Build-Nummer fett formatiert:

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

    Sie können die Build-Nummer des Kernels auch mit grep ermitteln, um ein Boot-Image mit einem nicht komprimierten Kernel zu finden:

    grep -a "Linux version " boot-5.4.img
  2. Öffnen Sie den vorkonfigurierten Kernel mit der Build-Nummer in der folgenden URL: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Mit der Build-Nummer aus Schritt 1 lautet die URL beispielsweise: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Wenn du einen nicht zugeschnittenen Build verwendest, ersetze kernel_aarch64 im Link durch kernel_debug_aarch64.