Omówienie ogólnego programu rozruchowego (GBL)

Ogólny program rozruchowy (GBL) to standardowe rozwiązanie w zakresie programów rozruchowych, które można aktualizować. Zostało ono zaprojektowane w celu usprawnienia procesu uruchamiania Androida. GBL zastępuje wysoce rozdrobnioną strukturę programów rozruchowych specyficznych dla dostawców jednym, spójnie utrzymywanym komponentem. Ta zmiana zmniejsza nadmiarowość, zwiększa bezpieczeństwo i upraszcza aktualizacje w ekosystemie Androida.

GBL składa się z tych komponentów:

podstawową logikę uruchamiania Androida,
Logika obejmująca główną pętlę programu, wykrywanie trybu rozruchu i ładowanie jądra.
Fastboot
Protokół komunikacyjny i narzędzie diagnostyczne używane do flashowania i debugowania urządzeń.
Rozszerzenia dostawców
Rozszerzenie wspomnianych komponentów GBL przez utworzenie własnych protokołów. Te protokoły są uzgadniane z wyprzedzeniem, zanim GBL doda je do listy zależności. Rozszerzenia dostawców są opcjonalne.
Moduły obsługi protokołów UEFI
Implementacje wymaganych i zalecanych protokołów UEFI, w tym blokowych operacji wejścia/wyjścia, alokacji pamięci i generowania liczb losowych. Implementacje referencyjne znajdują się w projektach oprogramowania układowego rozruchu (EDK2, UBoot, LK).
Definicje protokołu UEFI specyficzne dla Androida
Niestandardowe protokoły UEFI dla AVB, Fastboot, wyboru gniazda, konfiguracji systemu operacyjnego i innych funkcji. Implementacje znajdują się w projektach oprogramowania sprzętowego dostawców układów scalonych na Androida.

Począwszy od Androida 16, jeśli wprowadzasz na rynek urządzenie oparte na chipsecie ARM-64, zdecydowanie zalecamy wdrożenie najnowszej wersji GBL z certyfikatem Google i zintegrowanie jej z łańcuchem rozruchowym.

Co dalej?

Aby dowiedzieć się, jak wdrożyć ogólny program wczytujący, zapoznaj się z sekcją Wdrażanie gbl.