Dual-boot and multi-ROM implementations have traditionally been a big challenge for developers. Previous solutions have typically required significant development for each device and increased support for ROM developers. So these solutions do not usually compensate and in order to try to solve this EFIDroid was born.
Formerly known as GRUB4Android, EFIDroid was created by the prestigious developer of XDA m11kkaa as a means to allow almost any ROM to be multi-booted without modifying the desired ROM or recovery. This means that we do not need patches for the kernel and that we will not have ROM incompatibility problems either.
EFIDroid is a second-stage boot loader designed to allow the original device boot loader code to handle the hardware interface itself. This simplifies the work to connect this application to different devices. This is based on the Intel EDK II project. This implementation uses the Qualcomm open source boot manager, Little Kernel (LK), and as such, support is currently limited to Snapdragon devices.
The installation is as simple as downloading the EFIDroidManager application from the Google Play Store, requires root and the device has compatibility with the project github repository.
At the moment the following devices compatible with EFIDroid are Moto E (Condor), MotoG 4G (Peregrine), Nokia X2, OnePlus One, Vega Iron 2, and Fairphone 2.
The implementation of an UEFI bootloader opens Android devices to many possibilities. For example we can use several plug-ins such as Memtest86 to perform diagnostics, opening a command line, and even games are possible within the UEFI environment.