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

Generic Bootloader (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 .