Der Generic Bootloader (GBL) ist eine standardisierte, aktualisierbare Bootloader-Lösung, die den Android-Bootvorgang optimieren soll. GBL ersetzt die stark fragmentierte Landschaft der anbieterspezifischen Bootloader durch eine einzige, einheitlich gepflegte Komponente. Durch diese Änderung wird die Redundanz reduziert, die Sicherheit verbessert und Updates im gesamten Android-Ökosystem vereinfacht.
GBL besteht aus den folgenden Komponenten:
- die grundlegende Android-Bootlogik
- Die Logik, die die Hauptprogrammschleife, die Erkennung des Bootmodus und das Laden des Kernels umfasst.
- Fastboot
- Ein Kommunikationsprotokoll und Diagnosetool, das zum Flashen und Entwickeln von Geräten verwendet wird.
- Anbieterweiterungen
- Erweiterung der oben genannten GBL-Komponenten durch Erstellen eigener Protokolle. Diese Protokolle werden im Voraus vereinbart, bevor GBL sie der Abhängigkeitsliste hinzufügt. Anbietererweiterungen sind optional.
- UEFI-Protokoll-Handler
- Implementierungen für erforderliche und empfohlene UEFI-Protokolle, einschließlich Block-E/A, Arbeitsspeicherzuweisung und Generierung von Zufallszahlen. Referenzimplementierungen finden Sie in den Boot-Firmware-Projekten (EDK2, UBoot, LK).
- Android-spezifische UEFI-Protokolldefinitionen
- Benutzerdefinierte UEFI-Protokolle für AVB, Fastboot, Steckplatzauswahl, Betriebssystemkonfiguration und mehr. Implementierungen finden Sie in den Firmwareprojekten von Android-Silicon-Anbietern.
Wenn Sie ab Android 16 ein Gerät mit ARM64-Chipsatz ausliefern, empfehlen wir Ihnen dringend, die neueste von Google signierte Version von GBL bereitzustellen und in Ihre Boot-Kette einzubinden.
Und jetzt?
Informationen zum Bereitstellen des generischen Bootloaders finden Sie unter gbl bereitstellen.