Pornirea multiplă este un subiect complicat, iar pentru a-l activa necesită adesea patch-uri pentru kernel sau recuperare. EFIDroid este un instrument care funcționează în jurul asta.
Pornirea duală și implementările multi-ROM au reprezentat o provocare majoră pentru dezvoltatorii Android de ceva vreme. Soluțiile anterioare au avut nevoie de obicei de substanțe substanțiale dezvoltarea specifică dispozitivului și sprijin suplimentar din partea dezvoltatorilor de ROM. Chiar și atunci, ele sunt adesea mai complicate decât merită pentru utilizatorul mediu de ROM. EFIDroid încearcă să remedieze toate acestea.
Cunoscut anterior ca GRUB4Android, EFIDroid a fost creat de un dezvoltator și colaborator recunoscut XDA m11kkaa ca mijloc de a permite efectiv aproape orice ROM să fie multi-boot fără modificare ROM-ul dorit sau recuperarea curentă. Asta înseamnă că nu există patch-uri de nucleu, nu kexec, fără probleme de incompatibilitate ROM și fără bătăi de cap pentru utilizatorii sau dezvoltatorii de ROM.
Ce este EFIDroid?
EFIDroid este un bootloader din a doua etapă conceput pentru a permite codului de încărcare inițial al dispozitivului să gestioneze interfața hardware în sine, simplificând astfel munca care trebuie făcută pentru a porta această aplicație pe diferite dispozitive. Aceasta se bazează pe Intel EDK II proiect care are o bază de cod bine stabilită și oferă o extensibilitate substanțială. Această implementare folosește bootloader-ul open source Qualcomm, Micul sâmbure (LK), și ca atare, sprijinul este limitat în prezent la dispozitivele Snapdragon.
Instalarea este la fel de simplă ca și descărcarea Aplicația EFIDroidManager din Magazinul Google Play pe un dispozitiv înrădăcinat, cu condiția ca dispozitivul să aibă suport îmbinat cu cel al proiectului depozitul github. Dacă dispozitivul dvs. este acceptat, aplicația va descărca codul relevant și vă va permite să instalați, dezinstalați, reinstalați și reparați EFIDroid, precum și vă permite să vă gestionați ROM-urile într-un multiboot configurație. Odată ce EFIDroid este instalat, ROM-urile pot fi instalate în locația dorită (de obicei undeva, cum ar fi /data/media/0/multiboot/NAME).
În prezent, sunt acceptate doar câteva dispozitive, inclusiv Moto E (Condor), Moto G 4G (Peregrine), Nokia X2, Unu plus unu, Vega Iron 2 și Fairphone 2. Cu toate acestea, m11kkaa este caută dezvoltatori care să ajute la portarea EFIDroid la alte dispozitive - unii obțin deja „sprijin neoficial”. Dacă puteți face ca EFIDroid să funcționeze pe un alt dispozitiv, procesul de încorporare a acestuia în aplicație necesită pur și simplu trimiterea unei cereri de extragere către git EFIDroid repertoriu. M11kkaa ne-a informat, de asemenea, că are planuri viitoare de a extinde aplicația pentru a putea susține pluginuri de pornire și aplicații UEFI (deși rețineți că acestea sunt doar planuri în acest moment).
Cum functioneaza
EFIDroid folosește LK ca strat de abstractizare pentru a interacționa cu hardware-ul dispozitivului. Aplicația permite ca aceste componente să fie profitate din plin de capacitățile largi ale UEFI - printre acestea, capacitatea de a încărca un kernel Linux la un
punct ulterior.
EFIDroid utilizează Linux Kernel Library ca mijloc de a compila Linux Kernel ca bibliotecă de software. Acest lucru permite UEFI să utilizeze drivere de sistem de fișiere pentru citirea și scrierea în și din mai multe partiții de pornire, precum și oferindu-i posibilitatea de a porni în mai multe ROM-uri sau medii de recuperare. EFIDroid poate afișa și mesaje de eroare de la o pornire eșuată anterior. Creatorul a menționat chiar și posibilitatea utilizării Bibliotecii Kernel Linux pentru a adăuga suport pentru ecranul tactil în viitor.
Toate acestea necesită, desigur, acces root și un bootloader deblocat pe dispozitivul dvs dar nu necesită un nucleu personalizat.
![](/f/6c61ed5dce10bbad5dbc2cdd8bcf8386.png)
![](/f/830fb3e24d26f6fdd3cd58e6ba5825e1.png)
Credit imagine: EFIDroid
Mai mult decât Multiboot
Implementarea unui bootloader UEFI deschide dispozitivele Android către multe posibilități. În mediul UEFI sunt posibile diverse plug-in-uri, inclusiv diagnostice precum Memtest86, deschiderea unei linii de comandă și chiar jocuri. Deși este nevoie de asistență pentru a realiza mai multe dintre aceste posibilități, EFIDroid oferă în prezent câteva caracteristici cheie pentru dispozitivele compatibile. Fie că este utilizat pur și simplu ca un bootloader alternativ pentru dispozitivele care nu pot avea opțiuni de recuperare sau ca instrument de gestionare și depanarea mai multor ROM-uri sau medii de recuperare, acest instrument oferă toate cele de mai sus și face acest lucru într-un mod ușor de utilizat și interfață de utilizare simplă să boot-eze.
Pentru discuții suplimentare, mergeți la fir de forum sau urmăriți proiectul la link-urile de mai jos!
EFIDroid pe Github
Site-ul oficial al EFIDroid
Comunitatea Slack a EFIDroid
Ați încercat înainte EFIDroid? Doriți să vedeți asistență pentru dispozitivul dvs.? Spune-ne în comentariile de mai jos!