O carregador de inicialização genérico (GBL, na sigla em inglês) é uma solução de carregador de inicialização padronizada e atualizável projetada para simplificar o processo de inicialização do Android. O GBL substitui o cenário altamente fragmentado de bootloaders específicos do fornecedor por um único componente mantido de forma consistente. Essa mudança reduz a redundância, melhora a segurança e simplifica as atualizações em todo o ecossistema do Android.
O GBL é composto pelos seguintes componentes:
- lógica de inicialização principal
- A lógica que inclui o loop principal do programa, a detecção do modo de inicialização e o carregamento do kernel.
- Gerenciadores de protocolo UEFI
- Implementações para protocolos UEFI obrigatórios e recomendados, incluindo E/S de bloco, hash, alocação de memória e geração de números aleatórios. Essas implementações são encontradas nos projetos de firmware de inicialização (EDK2, UBoot, LK).
- Protocolos específicos do Android
- Protocolos UEFI personalizados para AVB, Fastboot, seleção de slot, configuração do SO e muito mais.
- Inicialização rápida
- Um protocolo de comunicação que permite a atualização rápida e a lógica de depuração padronizadas do dispositivo.
- Extensões do fornecedor
- Extensão dos componentes mencionados acima do GBL criando seus próprios protocolos. Esses protocolos são acordados com antecedência antes de a GBL adicioná-los à lista de dependências. As extensões do fornecedor são opcionais.
A partir do Android 16, se você enviar um dispositivo baseado no chipset ARM-64, recomendamos implantar a versão assinada pelo Google mais recente do GBL e integrá-la à cadeia de inicialização.