EFIDroid: un bootloader di seconda fase che utilizza il firmware UEFI per l'avvio multiplo [XDA Spotlight]

Il multi-boot è un argomento complicato e per abilitarlo spesso sono necessarie patch al kernel o ripristino. EFIDroid è uno strumento che risolve questo problema.

Le implementazioni dual boot e multi-ROM hanno rappresentato una grande sfida per gli sviluppatori Android per un pò di tempo. Le soluzioni precedenti in genere richiedevano notevoli risorse sviluppo specifico del dispositivo e ulteriore supporto da parte degli sviluppatori ROM. Anche in questo caso, sono spesso più complicati di quanto valgano per l’utente medio della ROM. EFIDroid cerca di porre rimedio a tutto ciò.

Precedentemente noto come GRUB4Android, EFIDroid è stato creato da XDA Recognized Developer e Collaboratore m11kkaa come mezzo per consentire effettivamente quasi tutte le ROM possono essere avviate in più versioni senza modifiche la ROM desiderata o il ripristino corrente. Ciò significa che nessuna patch del kernel, no kexec, nessun problema di incompatibilità della ROM e nessun grattacapo per gli utenti o gli sviluppatori della ROM.


Cos'è EFIDroid?

Credito immagine: EFIDroid

EFIDroid è un bootloader di seconda fase progettato per consentire al codice del bootloader originale del dispositivo di gestire l'interfaccia hardware stessa, semplificando così il lavoro necessario per trasferire questa applicazione su dispositivi diversi. Questo è basato su Intel EDK II progetto che ha una base di codice ben consolidata e prevede una sostanziale estensibilità. Questa implementazione utilizza il bootloader open source di Qualcomm, Piccolo Kernel (LK), e come tale, il supporto lo è attualmente limitato ai dispositivi Snapdragon.

L'installazione è semplice come scaricare il file Applicazione EFIDroidManager dal Google Play Store su un dispositivo rooted, a condizione che il tuo dispositivo abbia il supporto unito a quello del progetto repository github. Se il tuo dispositivo è supportato, l'applicazione scaricherà il relativo codice e ti consentirà di installarlo, disinstalla, reinstalla e ripara EFIDroid, oltre a consentirti di gestire le tue ROM in un multiboot configurazione. Una volta installato EFIDroid, le ROM possono essere installate nella posizione di tua scelta (di solito da qualche parte come /data/media/0/multiboot/NAME).

Al momento sono supportati solo pochi dispositivi, incluso il Moto E (Condor), Moto G 4G (Pellegrino), Nokia X2, Uno più uno, Vega Iron 2 e il Fairphone2. Tuttavia, m11kkaa lo è alla ricerca di sviluppatori che aiutino con il porting di EFIDroid ad altri dispositivi – alcuni stanno già ottenendo un “supporto non ufficiale”. Se riesci a far funzionare EFIDroid su un altro dispositivo, il processo per incorporarlo nell'applicazione richiede semplicemente inviando una richiesta pull al git EFIDroid deposito. M11kkaa ci ha anche informato che ha piani futuri per espandere l'app per supportare potenzialmente plugin di avvio e app UEFI (anche se tieni presente che questi sono solo piani per il momento).


Come funziona

EFIDroid sfrutta LK come livello di astrazione per interagire con l'hardware del dispositivo. L'app consente a questi componenti di sfruttare appieno le ampie funzionalità di UEFI, tra cui la possibilità di caricare un kernel Linux contemporaneamente

punto successivo.

EFIDroid utilizza la libreria del kernel Linux come mezzo per compilare il kernel Linux come libreria software. Ciò consente a UEFI di utilizzare i driver del file system per leggere e scrivere da e verso più partizioni di avvio, oltre a dargli la possibilità di avviarsi su più ROM o ambienti di ripristino. EFIDroid può anche visualizzare messaggi di errore da un avvio precedentemente fallito. Il creatore ha anche menzionato il potenziale utilizzo della Linux Kernel Library per aggiungere il supporto touchscreen in futuro.

Tutto ciò ovviamente richiede l'accesso root e un bootloader sbloccato sul tuo dispositivo ma non richiede un kernel personalizzato.

Credito immagine: EFIDroid


Molto più che un semplice avvio multiplo 

L'implementazione di un bootloader UEFI apre ai dispositivi Android molte possibilità. Nell'ambiente UEFI sono possibili diversi plug-in, tra cui la diagnostica come Memtest86, l'apertura di una riga di comando e persino i giochi. Sebbene sia necessario supporto per sfruttare maggiormente queste possibilità, EFIDroid offre ancora alcune funzionalità chiave per i dispositivi compatibili. Utilizzato semplicemente come bootloader alternativo per dispositivi che potrebbero non avere opzioni di ripristino o come strumento per la gestione e risoluzione dei problemi relativi a più ROM o ambienti di ripristino, questo strumento offre tutto quanto sopra e lo fa in modo intuitivo e intuitivo interfaccia utente semplice avviare.

Per ulteriori discussioni, vai al discussione del forum oppure segui il progetto ai link qui sotto!

EFIDroid su Github

Sito ufficiale di EFIDroid

Comunità Slack di EFIDroid


Hai già provato EFIDroid? Desideri ricevere assistenza per il tuo dispositivo? Fateci sapere nei commenti qui sotto!