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 do Android
- A lógica que inclui o loop principal do programa, a detecção do modo de inicialização e o carregamento do kernel.
- Inicialização rápida
- Um protocolo de comunicação e uma ferramenta de diagnóstico usados para atualizar e depurar dispositivos.
- 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.
- Gerenciadores de protocolo UEFI
- Implementações para protocolos UEFI obrigatórios e recomendados, incluindo E/S de bloco, alocação de memória e geração de números aleatórios. As implementações de referência são encontradas nos projetos de firmware de inicialização (EDK2, UBoot, LK).
- Definições do protocolo UEFI específicas do Android
- Protocolos UEFI personalizados para AVB, Fastboot, seleção de slot, configuração do SO e muito mais. As implementações são encontradas em projetos de firmware do fornecedor de silício do Android.
A partir do Android 16, se você enviar um dispositivo baseado em chipset ARM-64, recomendamos que você instale a versão mais recente do GBL assinada pelo Google e a integre à cadeia de inicialização.
Quais são as próximas etapas?
Para saber como implantar o carregador de inicialização genérico, consulte Implantar o gbl.