EFIDroid: Ein Bootloader der zweiten Stufe, der UEFI-Firmware für Multiboot verwendet [XDA Spotlight]

Multi-Booting ist ein kompliziertes Thema, und um es zu aktivieren, sind oft Patches für Ihren Kernel oder eine Wiederherstellung erforderlich. EFIDroid ist ein Tool, das dies umgeht.

Dual-Boot- und Multi-ROM-Implementierungen stellen für Android-Entwickler eine große Herausforderung dar für einige Zeit. Frühere Lösungen erforderten in der Regel einen erheblichen Aufwand gerätespezifische Entwicklung und weitere Unterstützung von ROM-Entwicklern. Selbst dann sind sie oft komplizierter, als sie für den durchschnittlichen ROM-Benutzer wert sind. EFIDroid versucht, all dies zu beheben.

EFIDroid, früher bekannt als GRUB4Android, wurde von XDA Recognized Developer and Contributor erstellt m11kkaa als Mittel zur wirksamen Ermöglichung Fast jedes ROM kann ohne Änderungen mehrfach gebootet werden das gewünschte ROM oder die aktuelle Wiederherstellung. Das heißt, keine Kernel-Patches, nein kexec, keine ROM-Inkompatibilitätsprobleme und keine Kopfschmerzen für ROM-Benutzer oder Entwickler.


Was ist EFIDroid?

Bildnachweis: EFIDroid

EFIDroid ist ein Bootloader der zweiten Stufe Entwickelt, um es dem ursprünglichen Bootloader-Code des Geräts zu ermöglichen, die Hardwareschnittstelle selbst zu verwalten, wodurch die Arbeit vereinfacht wird, die für die Portierung dieser Anwendung auf verschiedene Geräte erforderlich ist. Dies basiert auf Intels EDK II Projekt, das über eine gut etablierte Codebasis verfügt und erhebliche Erweiterbarkeit bietet. Diese Implementierung nutzt den Open-Source-Bootloader von Qualcomm. Kleiner Kernel (LK), und als solche ist die Unterstützung derzeit auf Snapdragon-Geräte beschränkt.

Die Installation ist so einfach wie das Herunterladen EFIDroidManager-Anwendung aus dem Google Play Store auf einem gerooteten Gerät, vorausgesetzt, Ihr Gerät verfügt über eine in die des Projekts integrierte Unterstützung Github-Repository. Wenn Ihr Gerät unterstützt wird, lädt die Anwendung den entsprechenden Code herunter und ermöglicht Ihnen die Installation. Deinstallieren, Neuinstallieren und Reparieren von EFIDroid sowie die Verwaltung Ihrer ROMs in einem Multiboot Aufbau. Sobald EFIDroid installiert ist, können ROMs am Speicherort Ihrer Wahl installiert werden (normalerweise an einem Ort wie z /data/media/0/multiboot/NAME).

Derzeit werden nur eine Handvoll Geräte unterstützt, darunter das Moto E (Condor), Moto G 4G (Peregrine), Nokia X2, Eins plus eins, Vega Iron 2 und die Fairphone 2. Allerdings ist m11kkaa Ich suche nach Entwicklern, die bei der Portierung von EFIDroid helfen zu anderen Geräten – einige erhalten bereits „inoffizielle Unterstützung“. Wenn Sie EFIDroid auf einem anderen Gerät zum Laufen bringen können, ist lediglich der Prozess zur Integration in die Anwendung erforderlich Senden einer Pull-Anfrage an den EFIDroid-Git Repository. M11kkaa hat uns auch darüber informiert, dass er in Zukunft Pläne hat, die App zu erweitern, um möglicherweise Boot-Plugins und UEFI-Apps zu unterstützen (wobei man bedenken sollte, dass es sich dabei zum jetzigen Zeitpunkt lediglich um Pläne handelt).


Wie es funktioniert

EFIDroid nutzt LK als Abstraktionsschicht für die Interaktion mit der Gerätehardware. Mit der App können diese Komponenten vollständig von den vielfältigen Funktionen von UEFI genutzt werden – darunter die Möglichkeit, einen Linux-Kernel gleichzeitig zu laden

späterer Punkt.

EFIDroid nutzt die Linux-Kernel-Bibliothek, um den Linux-Kernel als Softwarebibliothek zu kompilieren. Dadurch kann UEFI Dateisystemtreiber zum Lesen und Schreiben auf und von mehreren Startpartitionen verwenden und erhält außerdem die Möglichkeit, von mehreren ROMs oder Wiederherstellungsumgebungen zu starten. EFIDroid kann auch Fehlermeldungen von einem zuvor fehlgeschlagenen Start anzeigen. Der Ersteller hat sogar erwähnt, dass er in Zukunft möglicherweise die Linux-Kernel-Bibliothek verwenden könnte, um Touchscreen-Unterstützung hinzuzufügen.

All dies erfordert natürlich Root-Zugriff und einen entsperrten Bootloader auf Ihrem Gerät erfordert jedoch keinen benutzerdefinierten Kernel.

Bildnachweis: EFIDroid


Mehr als nur Multiboot 

Die Implementierung eines UEFI-Bootloaders eröffnet Android-Geräten viele Möglichkeiten. Innerhalb der UEFI-Umgebung sind verschiedene Plug-Ins möglich, darunter Diagnosen wie Memtest86, das Öffnen einer Befehlszeile und sogar Spiele. Obwohl Unterstützung erforderlich ist, um weitere dieser Möglichkeiten zu verwirklichen, bietet EFIDroid derzeit noch einige wichtige Funktionen für kompatible Geräte. Ob einfach als alternativer Bootloader für Geräte, denen möglicherweise keine Wiederherstellungsoptionen zur Verfügung stehen, oder als Tool zur Verwaltung und Bei der Fehlerbehebung bei mehreren ROMs oder Wiederherstellungsumgebungen bietet dieses Tool alle oben genannten Funktionen und das auf benutzerfreundliche Weise unkomplizierte Benutzeroberfläche obendrein.

Weitere Diskussionen finden Sie unter Forenthread oder folgen Sie dem Projekt über die untenstehenden Links!

EFIDroid auf Github

Offizielle Website von EFIDroid

EFIDroids Slack-Community


Haben Sie EFIDroid schon einmal ausprobiert? Möchten Sie Unterstützung für Ihr Gerät sehen? Lass es uns unten in den Kommentaren wissen!