Обзор универсального загрузчика (GBL)

Универсальный загрузчик (GBL) — это стандартизированное обновляемое решение для загрузчика, разработанное для оптимизации процесса загрузки Android. GBL заменяет сильно фрагментированную среду загрузчиков, специфичных для разных производителей, единым, постоянно поддерживаемым компонентом. Это изменение снижает избыточность, повышает безопасность и упрощает обновления в экосистеме Android.

ГБЛ состоит из следующих компонентов:

основная логика загрузки Android
Логика, включающая основной цикл программы, определение режима загрузки и загрузку ядра.
Быстрая загрузка
Протокол связи и диагностический инструмент, используемый для прошивки и отладки устройств.
Расширения поставщиков
Расширение вышеупомянутых компонентов GBL путём создания собственных протоколов. Эти протоколы согласовываются заранее, до того как GBL добавляет их в свой список зависимостей. Расширения от поставщиков необязательны.
Обработчики протоколов UEFI
Реализации обязательных и рекомендуемых протоколов UEFI, включая блочный ввод-вывод, выделение памяти и генерацию случайных чисел. Реализации можно найти в проектах загрузочных прошивок (EDK2, UBoot, LK).
Определения протоколов UEFI, специфичные для Android
Пользовательские протоколы UEFI для AVB, Fastboot, выбора слотов, настройки ОС и т. д. Реализации можно найти в проектах прошивок Android Silicon Vendor.

Начиная с Android 16, если вы поставляете устройство на базе чипсета ARM-64, мы настоятельно рекомендуем вам развернуть последнюю версию GBL, подписанную Google, и интегрировать ее в вашу цепочку загрузки.

Что дальше?

Чтобы узнать, как развернуть универсальный загрузчик, обратитесь к разделу Развертывание gbl .