Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Обзор универсального загрузчика (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 .
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Generic Bootloader (GBL) overview\n\nThe *Generic Bootloader (GBL)* is a standardized, updatable bootloader solution\ndesigned to streamline the Android boot process. GBL replaces the highly\nfragmented landscape of vendor-specific bootloaders with a single, consistently\nmaintained component. This change reduces redundancy, improves security, and\nsimplifies updates across the Android ecosystem.\n\nGBL consists of the following components:\n\n*core Android boot logic*\n: The logic that includes the main program loop, boot mode detection, and\n loading the kernel.\n\n*Fastboot*\n: A communication protocol and diagnostic tool used for device flashing and\n debug.\n\n*Vendor extensions*\n: Extension of the aforementioned components of GBL by creating\n your own protocols. These protocols are agreed upon in advance before GBL adds\n them to their dependency list. Vendor extensions are optional.\n\n*UEFI protocol handlers*\n: Implementations for required and recommended UEFI protocols, including block\n I/O, memory allocation, and random number generation. Reference implementations\n are found in the boot firmware projects (EDK2, UBoot, LK).\n\n*Android Specific UEFI Protocol definitions*\n: Custom UEFI protocols for AVB, Fastboot, slot selection, OS configuration,\n and more. Implementations are found in Android Silicon Vendor firmware projects.\n\nBeginning with Android 16, if you ship a device based on ARM-64 chipset, we\nstrongly recommend that you deploy the latest Google-signed version of GBL and\nintegrate it into your boot chain.\n\nWhat's next?\n------------\n\nTo learn how to deploy the Generic Bootloader, refer to\n[Deploy gbl](/docs/core/architecture/bootloader/generic-bootloader/gbl-dev)."]]