Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie Sie die GBL-Binärdatei bereitstellen.
Anforderungen an die Boot-Firmware
Für die Verwendung von GBL muss die Boot-Firmware die folgenden Anforderungen erfüllen:
UEFI-Konformität Die Firmware muss die erforderlichen UEFI-Protokolle implementieren und verwenden. Die Firmware muss auch anbieterspezifische Erweiterungen mit definierten UEFI-Protokollen zulassen.
Sicherheit Die Firmware muss alle Aspekte von Android Verified Boot (AVB) implementieren, damit nur authentifizierte Images geladen werden.
Bootmodi Das Binärprogramm sollte verschiedene Bootmodi unterstützen, z. B. den normalen Boot, den Wiederherstellungsboot und den Fastboot.
Dynamische Partitionierung. Die Boot-Firmware muss eine Logik zur Auswahl des Slots implementieren, die das Lesen des richtigen A/B-Boot-Slots unterstützt und mit dynamischen Partitionen und userdata in super kompatibel ist.
Betriebssystemkonfiguration Die Firmware muss die Kernel-Befehlszeile, den Gerätebaum (Device Tree, DTB) und die Boot-Konfiguration mit OEM-Anpassungen ändern können, die zum Starten des Geräts erforderlich sind.
Geschütztes Laden von VMs Die Binärdatei sollte die vorab geprüfte Firmware der geschützten VM vor dem Android-Kernel laden, wenn geschützte VMs vorhanden sind. Weitere Informationen finden Sie unter Bootsequenz von Microdroid.
Speicherverwaltung. Die Boot-Firmware muss die UEFI-API zur Speicherzuweisung unterstützen.
Kompatibilität und Abwärtskompatibilität Die Firmware sollte auf Geräten mit unterschiedlichen Anbietern und SoCs funktionieren und abwärtskompatibel mit der entsprechenden Android-Version sein.
Unterstützung für Boot-Firmware
Mit den erforderlichen Änderungen zur Unterstützung der Anforderungen im vorherigen Abschnitt funktionieren die folgenden UEFI-Firmwareimplementierungen mit der GBF:
EDK2 (Tianocore) EDK2 ist eine beliebte Open-Source-UEFI-Implementierung. Für EDK2-basierte Bootloader ist GBL-Unterstützung erforderlich. UEFI-Unterstützung ist bereits vorhanden.
U-Boot. Ein flexibles und weit verbreitetes Open-Source-Bootloader-Projekt, das für die Verwendung mit GBL immer kompatibler mit UEFI wird.
LittleKernel (LK) Ein Open-Source-Bootloader, der von einigen Anbietern verwendet wird.
GBL ausführen
Sie können ein vorkonfiguriertes GBL-Binärprogramm zum Ausführen herunterladen oder ein eigenes erstellen und ausführen.
GBL-Binärdatei abrufen und ausführen
GBL wird als einzelne EFI-App-Binärdatei verteilt. Sie können dieses Binärprogramm unabhängig von der Basisfirmware des Geräts mit dem Standardaktualisierungsmechanismus von Android aktualisieren.
Wenn Sie ab Android 16 ein Gerät mit ARM-64-Chipsatz ausliefern, empfehlen wir Ihnen dringend, die aktuellste von Google signierte Version von GBL bereitzustellen und in Ihre Bootkette einzubinden.
GBL erstellen und ausführen
So erstellen und führen Sie die GBL aus:
Prüfen Sie, ob das Repository-Tool und das Bazel-Bootstrap installiert sind:
sudo apt install repo bazel-bootstrap
Initialisieren Sie Ihr aktuelles Verzeichnis für die Versionskontrolle mit der Manifestdatei uefi-gbl-mainline:
Wenn Sie Fragen haben, wenden Sie sich an das GBL-Team. Senden Sie dazu eine E-Mail an android-gbl@google.com.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Deploy GBL\n\nThis page explains how to deploy the GBL binary.\n\nBoot firmware requirements\n--------------------------\n\nTo use GBL, the boot firmware must meet the following requirements:\n\n- UEFI compliance. The firmware must implement and use the\n required UEFI protocols. The firmware must also allow for vendor-specific\n extensions using defined UEFI protocols.\n\n- Security. The firmware must implement all aspects of Android\n Verified Boot (AVB), ensuring only authenticated images are loaded.\n\n- Boot modes. The binary should be able to handle various boot modes, such as normal boot, recovery boot, and fastboot.\n\n- Dynamic partitioning. The boot firmware must implement slot selection logic so\n that it supports reading the correct A/B boot slot and is compatible with\n dynamic partitions and userdata in super.\n\n- OS configuration. The firmware must be capable of modifying the kernel\n command line, device tree (DTB), and bootconfig with OEM customizations\n needed to boot the device.\n\n- Protected VM loading. The binary should correctly load preverified protected\n VM firmware before the Android kernel in the presence of protected VMs. For\n further information, see Microdroid [boot sequence](/docs/core/virtualization/microdroid#boot-sequence).\n\n- Memory management. The boot firmware must support the UEFI memory allocation\n API.\n\n- Compatibility and backward compatibility. The firmware should work on devices\n with different vendor, SOCs, and maintain backward compatibility with the\n corresponding Android version.\n\n### Boot firmware support\n\nWith the modifications necessary to support requirements in the previous\nsection, the following UEFI firmware implementations work with the GBF:\n\n- [EDK2 (Tianocore)](https://github.com/tianocore/edk). A EDK2 is a popular open-source UEFI implementation. GBL support is needed for EDK2-based bootloaders, and UEFI support is already present.\n- [U-Boot](https://docs.u-boot.org/en/latest/). A flexible and widely used open-source bootloader project that is gaining UEFI compatibility for GBL usage.\n- [LittleKernel (LK)](https://github.com/littlekernel/lk). An open-source bootloader used by some vendors.\n\nRun GBL\n-------\n\nYou can obtain a prebuilt GBL binary to run or build your own and run it.\n\n### Obtain and run the GBL binary\n\nGBL is distributed as a single EFI app binary. You can update this\nbinary independently from the device's base firmware using Android's standard\nupdate mechanism.\n\nBeginning with Android 16, if you ship a device based\non ARM-64 chipset, we strongly recommend that you deploy the [latest\nGoogle-signed version](https://dl.google.com/android-gbl/android16/20250703/signed-gbl-img-13709664.zip) of GBL and integrate it into your boot chain.\n\n### Build and run the GBL\n\nTo build and run the GBL:\n\n1. Verify that you have the repo tool and Bazel bootstrap installed:\n\n sudo apt install repo bazel-bootstrap\n\n2. Initialize your current directory for source control using the `uefi-gbl-mainline` manifest file:\n\n repo init -u https://android.googlesource.com/kernel/manifest -b uefi-gbl-mainline\n repo sync -j16\n\n3. Build the EFI app:\n\n ./tools/bazel run //bootable/libbootloader:gbl_efi_dist --extra_toolchains=@gbl//toolchain:all\n\n4. Run the EFI app within Cuttlefish:\n\n cvd start --android_efi_loader=\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003epath_to_the_EFI_app\u003c/span\u003e\u003c/var\u003e ...\n\n Instead of booting Android directly, this `cvd start` command uses the EFI\n app to boot Android.\n\n| **Note:** For x86 platform, use the EFI image built for x86_64.\n\nFile bugs and contact the bootloader team\n-----------------------------------------\n\nTo report a bug for the GBL, navigate to the\n[Android Generic Bootloader component in Buganizer](https://issuetracker.google.com/issues/new?component=1602063&template=2011730).\n\nFor questions, contact the GBL team, send an email to `android-gbl@google.com`."]]