EFIDroid: um bootloader de segundo estágio usando firmware UEFI para inicialização múltipla [XDA Spotlight]

A inicialização múltipla é um assunto complicado e, para habilitá-la, geralmente são necessários patches no kernel ou recuperação. EFIDroid é uma ferramenta que contorna isso.

Implementações de inicialização dupla e multi-ROM têm sido um grande desafio para desenvolvedores Android há algum tempo. As soluções anteriores normalmente precisavam de melhorias substanciais desenvolvimento específico do dispositivo e suporte adicional de desenvolvedores de ROM. Mesmo assim, muitas vezes são mais complicados do que valem para o usuário médio de ROM. EFIDroid procura remediar tudo isso.

Anteriormente conhecido como GRUB4Android, EFIDroid foi criado pelo XDA Recognized Developer and Contributor m11kkaa como um meio de permitir efetivamente quase qualquer ROM para inicialização múltipla sem modificação a ROM desejada ou a recuperação atual. Isso significa que não há patches de kernel, não kexec, sem problemas de incompatibilidade de ROM e sem dores de cabeça para usuários ou desenvolvedores de ROM.


O que é EFIDroid?

Crédito da imagem: EFIDroid

EFIDroid é um bootloader de segundo estágio projetado para permitir que o código do bootloader original do dispositivo lide com a própria interface de hardware, simplificando assim o trabalho que precisa ser feito para portar este aplicativo para diferentes dispositivos. Isto é baseado na Intel EDK II projeto que possui uma base de código bem estabelecida e fornece extensibilidade substancial. Esta implementação utiliza o bootloader de código aberto da Qualcomm, Núcleo Pequeno (LK)e, como tal, o apoio é atualmente limitado a dispositivos Snapdragon.

A instalação é tão simples quanto baixar o Aplicativo EFIDroidManager da Google Play Store em um dispositivo com acesso root, desde que seu dispositivo tenha suporte integrado ao projeto repositório github. Se o seu dispositivo for compatível, o aplicativo fará o download do código relevante e permitirá que você instale, desinstalar, reinstalar e reparar EFIDroid, bem como permitir que você gerencie suas ROMs em uma inicialização múltipla configuração. Depois que o EFIDroid estiver instalado, as ROMs podem ser instaladas no local de sua escolha (geralmente em algum lugar como /data/media/0/multiboot/NAME).

No momento, apenas alguns dispositivos são suportados, incluindo o Moto E (Condor), Moto G 4G (Peregrino), Nokia X2, Um mais um, Vega Iron 2 e o Fairphone 2. No entanto, m11kkaa é procurando desenvolvedores para ajudar na portabilidade do EFIDroid para outros dispositivos – alguns já ganhando “apoio não oficial”. Se você conseguir fazer o EFIDroid funcionar em outro dispositivo, o processo para incorporá-lo ao aplicativo requer simplesmente enviando uma solicitação pull para o git EFIDroid repositório. M11kkaa também nos informou que tem planos futuros para expandir o aplicativo para potencialmente suportar plug-ins de inicialização e aplicativos UEFI (embora tenha em mente que estes são apenas planos neste momento).


Como funciona

EFIDroid aproveita LK como uma camada de abstração para interagir com o hardware do dispositivo. O aplicativo permite que esses componentes sejam aproveitados ao máximo pelos amplos recursos do UEFI - entre eles, a capacidade de carregar um kernel Linux em um determinado momento.

ponto posterior.

EFIDroid utiliza a Biblioteca Kernel Linux como meio de compilar o Kernel Linux como uma biblioteca de software. Isso permite que a UEFI use drivers de sistema de arquivos para leitura e gravação em e a partir de múltiplas partições de inicialização, além de permitir a inicialização em múltiplas ROMs ou ambientes de recuperação. EFIDroid também pode exibir mensagens de erro de uma inicialização com falha anterior. O criador até mencionou o potencial uso da Biblioteca Kernel do Linux para adicionar suporte à tela sensível ao toque no futuro.

Tudo isso, é claro, requer acesso root e um bootloader desbloqueado no seu dispositivo mas não requer um kernel personalizado.

Crédito da imagem: EFIDroid


Mais do que apenas inicialização múltipla 

A implementação de um bootloader UEFI abre muitas possibilidades aos dispositivos Android. Vários plug-ins, incluindo diagnósticos como Memtest86, abertura de linha de comando e até jogos são possíveis no ambiente UEFI. Embora seja necessário suporte para concretizar mais dessas possibilidades, o EFIDroid ainda oferece atualmente alguns recursos importantes para dispositivos compatíveis. Seja usado simplesmente como um bootloader alternativo para dispositivos que podem não ter opções de recuperação ou como uma ferramenta para gerenciar e solução de problemas de múltiplas ROMs ou ambientes de recuperação, esta ferramenta oferece todos os itens acima e faz isso de forma amigável e UI simples para inicializar.

Para mais discussões, vá para o tópico do fórum ou acompanhe o projeto nos links abaixo!

EFIDroid no Github

Site oficial do EFIDroid

Comunidade Slack do EFIDroid


Você já experimentou o EFIDroid antes? Gostaria de ver suporte para o seu dispositivo? Deixe-nos saber nos comentários abaixo!