EFIDroid: Bootloader druhej fázy využívajúci firmvér UEFI na multiboot [XDA Spotlight]

Viacnásobné bootovanie je komplikovaná téma a jeho aktivácia si často vyžaduje záplaty pre vaše jadro alebo obnovu. EFIDroid je nástroj, ktorý to rieši.

Duálne bootovanie a implementácia viacerých ROM boli pre vývojárov Androidu veľkou výzvou už dosť dlho. Predchádzajúce riešenia si zvyčajne vyžadovali značné množstvo vývoj špecifický pre zariadenie a ďalšiu podporu od vývojárov ROM. Dokonca aj vtedy sú často komplikovanejšie, ako majú pre priemerného používateľa ROM. EFIDroid toto všetko sa snaží napraviť.

EFIDroid, predtým známy ako GRUB4Android, bol vytvorený uznávaným vývojárom a prispievateľom XDA m11kkaa ako prostriedok efektívneho umožnenia takmer akúkoľvek ROM, ktorú je možné spustiť z viacerých strán bez úpravy požadovanú ROM alebo aktuálnu obnovu. To znamená žiadne záplaty jadra, nie kexec, žiadne problémy s nekompatibilitou ROM a žiadne bolesti hlavy pre používateľov alebo vývojárov ROM.


Čo je EFIDroid?

Obrazový kredit: EFIDroid

EFIDroid je a bootloader druhej fázy navrhnutý tak, aby umožnil pôvodnému kódu zavádzača zariadenia zvládnuť samotné hardvérové ​​rozhranie, čím sa zjednoduší práca, ktorú je potrebné vykonať pri portovaní tejto aplikácie na rôzne zariadenia. Toto je založené na Intel

EDK II projekt, ktorý má dobre zavedenú kódovú základňu a poskytuje značnú rozšíriteľnosť. Táto implementácia využíva open source bootloader od Qualcommu, malé jadro (LK), a ako taká je podpora v súčasnosti obmedzené na zariadenia Snapdragon.

Inštalácia je rovnako jednoduchá ako stiahnutie Aplikácia EFIDroidManager z obchodu Google Play na rootovanom zariadení za predpokladu, že vaše zariadenie má podporu zlúčenú s podporou projektu úložisko github. Ak je vaše zariadenie podporované, aplikácia stiahne príslušný kód a nechá vás nainštalovať, odinštalovať, preinštalovať a opraviť EFIDroid a tiež vám umožní spravovať vaše ROM v multiboot konfigurácia. Po nainštalovaní EFIDroidu je možné ROM nainštalovať na vami zvolené miesto (zvyčajne niekde, napr /data/media/0/multiboot/NAME).

V súčasnosti je podporovaných iba niekoľko zariadení vrátane Moto E (Condor), Moto G 4G (peregrine), Nokia X2, OnePlus One, Vega Iron 2 a Fairphone 2. Avšak m11kkaa je hľadá vývojárov na pomoc s portovaním EFIDroid do iných zariadení - niektorí už získavajú „neoficiálnu podporu“. Ak dokážete spustiť EFIDroid na inom zariadení, proces jeho začlenenia do aplikácie si jednoducho vyžaduje odoslanie požiadavky na stiahnutie do EFIDroid git Úložisko. M11kkaa nás tiež informoval, že má v budúcnosti plány na rozšírenie aplikácie, aby potenciálne podporovala zavádzacie doplnky a aplikácie UEFI (hoci majte na pamäti, že v tomto bode sú to len plány).


Ako to funguje

EFIDroid využíva LK ako abstraktnú vrstvu na interakciu s hardvérom zariadenia. Aplikácia umožňuje, aby tieto komponenty naplno využívali široké možnosti UEFI – medzi nimi aj schopnosť načítať jadro Linuxu pri

neskorší bod.

EFIDroid využíva knižnicu Linux Kernel Library ako prostriedok na kompiláciu Linux Kernel ako softvérovej knižnice. To umožňuje UEFI používať ovládače súborového systému na čítanie a zápis do a z viacerých zavádzacích oddielov, ako aj možnosť zaviesť systém z viacerých ROM alebo prostredí obnovy. EFIDroid môže tiež zobraziť chybové správy z predtým neúspešného spustenia. Tvorca sa dokonca zmienil o potenciálnom použití knižnice jadra Linuxu na pridanie podpory dotykovej obrazovky v budúcnosti.

To všetko samozrejme vyžaduje prístup root a odomknutý bootloader na vašom zariadení ale nevyžaduje vlastné jadro.

Obrazový kredit: EFIDroid


Viac než len Multiboot 

Implementácia zavádzača UEFI otvára zariadeniam Android mnoho možností. V prostredí UEFI sú možné rôzne zásuvné moduly vrátane diagnostiky, ako je Memtest86, otvorenie príkazového riadku a dokonca aj hry. Aj keď je potrebná podpora, aby sa viac z týchto možností uskutočnilo, EFIDroid v súčasnosti stále ponúka niektoré kľúčové funkcie pre kompatibilné zariadenia. Či už sa používa jednoducho ako alternatívny bootloader pre zariadenia, ktorým môžu chýbať možnosti obnovenia, alebo ako nástroj na správu a odstraňovanie problémov s viacerými ROM alebo prostrediami obnovy, tento nástroj ponúka všetky vyššie uvedené a robí to s užívateľsky prívetivým a priame používateľské rozhranie naštartovať.

Pre ďalšie diskusie zamierte na vlákno na fóre alebo sledujte projekt na nižšie uvedených odkazoch!

EFIDroid na Github

Oficiálna webová stránka EFIDroid

komunita Slack spoločnosti EFIDroid


Vyskúšali ste už EFIDroid? Chceli by ste vidieť podporu pre vaše zariadenie? Dajte nám vedieť v komentároch nižšie!