EFIDroid: een tweede fase bootloader die UEFI-firmware gebruikt om te multibooten [XDA Spotlight]

Multi-booting is een ingewikkeld onderwerp, en om dit mogelijk te maken zijn vaak patches voor je kernel of herstel nodig. EFIDroid is een tool die daar omheen werkt.

Dual-booting en multi-ROM-implementaties zijn een grote uitdaging geweest voor Android-ontwikkelaars geruime tijd. Eerdere oplossingen hadden doorgaans aanzienlijke bedragen nodig apparaatspecifieke ontwikkeling en verdere ondersteuning van ROM-ontwikkelaars. Zelfs dan zijn ze vaak ingewikkelder dan ze waard zijn voor de gemiddelde ROM-gebruiker. EFIDroid probeert dit allemaal te verhelpen.

EFIDroid, voorheen bekend als GRUB4Android, is gemaakt door een door XDA erkende ontwikkelaar en bijdrager m11kkaa als een middel om effectief toe te staan vrijwel elk ROM kan multi-booten zonder aanpassingen het gewenste ROM of het huidige herstel. Dat betekent geen kernelpatches, nee kexec, geen problemen met ROM-incompatibiliteit en geen kopzorgen voor ROM-gebruikers of ontwikkelaars.


Wat is EFIDroid?

Beeldcredits: EFIDroid

EFIDroid is een

tweede fase bootloader ontworpen om de originele bootloadercode van het apparaat de hardware-interface zelf te laten verwerken, waardoor het werk dat moet worden gedaan om deze applicatie naar verschillende apparaten te porten, wordt vereenvoudigd. Dit is gebaseerd op Intel EDK II project dat een gevestigde codebasis heeft en aanzienlijke uitbreidbaarheid biedt. Deze implementatie maakt gebruik van de open source bootloader van Qualcomm, Kleine Kernel (LK), en als zodanig is er steun momenteel beperkt tot Snapdragon-apparaten.

Installatie is net zo eenvoudig als het downloaden van de EFIDroidManager-applicatie vanuit de Google Play Store op een geroot apparaat, op voorwaarde dat uw apparaat ondersteuning heeft die is samengevoegd met die van het project github-opslagplaats. Als uw apparaat wordt ondersteund, downloadt de applicatie de relevante code en kunt u deze installeren, verwijder, installeer en repareer EFIDroid, en laat u toe uw ROM's in een multiboot te beheren configuratie. Zodra EFIDroid is geïnstalleerd, kunnen ROM's worden geïnstalleerd op de locatie van uw keuze (meestal ergens zoals /data/media/0/multiboot/NAME).

Op dit moment worden slechts een handvol apparaten ondersteund, waaronder de Moto E (Condor), Moto G 4G (Slechtvalk), NokiaX2, Een plus een, Vega Iron 2 en de Fairphone 2. M11kkaa is dat echter wel op zoek naar ontwikkelaars om te helpen met het porten van EFIDroid naar andere apparaten – sommigen krijgen al ‘onofficiële steun’. Als je EFIDroid op een ander apparaat kunt laten werken, vereist het proces om het in de applicatie op te nemen eenvoudigweg een pull-verzoek verzenden naar de EFIDroid-git opslagplaats. M11kkaa liet ons ook weten dat hij toekomstige plannen heeft om de app uit te breiden om mogelijk opstartplug-ins en UEFI-apps te ondersteunen (hoewel dit op dit moment slechts plannen zijn).


Hoe het werkt

EFIDroid maakt gebruik van LK als een abstractielaag voor interactie met apparaathardware. Met de app kunnen deze componenten volledig worden benut door de brede mogelijkheden van UEFI – waaronder de mogelijkheid om een ​​Linux-kernel op een bepaald tijdstip te laden.

later punt.

EFIDroid gebruikt de Linux Kernel Library als middel om de Linux Kernel als softwarebibliotheek te compileren. Hierdoor kan UEFI bestandssysteemstuurprogramma's gebruiken voor het lezen en schrijven van en naar meerdere opstartpartities, en kan het ook opstarten naar meerdere ROM's of herstelomgevingen. EFIDroid kan ook foutmeldingen weergeven van een eerder mislukte opstart. De maker heeft zelfs melding gemaakt van het mogelijk gebruik van de Linux Kernel Library om in de toekomst touchscreen-ondersteuning toe te voegen.

Dit alles vereist uiteraard root-toegang en een ontgrendelde bootloader op uw apparaat maar vereist geen aangepaste kernel.

Beeldcredits: EFIDroid


Meer dan alleen multiboot 

De implementatie van een UEFI-bootloader opent Android-apparaten voor veel mogelijkheden. Binnen de UEFI-omgeving zijn diverse plug-ins mogelijk, waaronder diagnostiek zoals Memtest86, het openen van een opdrachtregel en zelfs games. Hoewel ondersteuning nodig is om meer van deze mogelijkheden tot bloei te brengen, biedt EFIDroid momenteel nog steeds enkele belangrijke functies voor compatibele apparaten. Of het nu eenvoudigweg wordt gebruikt als alternatieve bootloader voor apparaten die mogelijk geen herstelopties hebben, of als hulpmiddel voor het beheren en problemen oplossen met meerdere ROM's of herstelomgevingen, deze tool biedt al het bovenstaande en doet dit met een gebruiksvriendelijke en ongecompliceerde gebruikersinterface opstarten.

Ga voor verdere discussies naar de forumdraad of volg het project via onderstaande links!

EFIDroid op Github

Officiële website van EFIDroid

EFIDroid's Slack-gemeenschap


Heb jij EFIDroid al eens uitgeprobeerd? Wilt u ondersteuning zien voor uw apparaat? Laat het ons weten in de reacties hieronder!