EFIDroid: program ładujący drugiego stopnia wykorzystujący oprogramowanie sprzętowe UEFI do obsługi wielu rozruchów [XDA Spotlight]

Multi-bootowanie to skomplikowany temat i włączenie go często wymaga poprawek do jądra lub odzyskiwania. EFIDroid to narzędzie, które działa wokół tego problemu.

Podwójne uruchamianie i implementacje z wieloma pamięciami ROM były głównym wyzwaniem dla programistów Androida przez jakiś czas. Poprzednie rozwiązania zazwyczaj wymagały znacznych nakładów rozwój specyficzny dla urządzenia oraz dalsze wsparcie ze strony twórców ROM. Nawet wtedy są one często bardziej skomplikowane, niż są warte dla przeciętnego użytkownika pamięci ROM. EFIDroid stara się temu wszystkiemu zaradzić.

EFIDroid, wcześniej znany jako GRUB4Android, został stworzony przez uznanego programistę i współpracownika XDA m11kkaa jako środek umożliwiający skuteczne przyzwolenie prawie każdy ROM można uruchamiać na wiele sposobów bez modyfikacji żądaną pamięć ROM lub bieżące odzyskiwanie. Oznacza to brak poprawek do jądra, nie kexec, żadnych problemów z niekompatybilnością ROM i żadnych problemów dla użytkowników i programistów ROM.


Co to jest EFIDroid?

Źródło obrazu: EFIDroid

EFIDroid to bootloader drugiego stopnia zaprojektowany tak, aby oryginalny kod bootloadera urządzenia mógł obsługiwać sam interfejs sprzętowy, upraszczając w ten sposób pracę, którą należy wykonać, aby przenieść tę aplikację na różne urządzenia. Opiera się to na rozwiązaniach Intela EDK II projekt, który ma ugruntowaną bazę kodu i zapewnia znaczną rozszerzalność. Ta implementacja wykorzystuje bootloader typu open source firmy Qualcomm, Małe jądro (LK)i jako takie jest wsparcie obecnie ograniczone do urządzeń Snapdragon.

Instalacja jest tak prosta, jak pobranie pliku Aplikacja EFIDroidManager ze sklepu Google Play na zrootowanym urządzeniu, pod warunkiem, że Twoje urządzenie ma obsługę połączoną z projektem repozytorium githuba. Jeśli Twoje urządzenie jest obsługiwane, aplikacja pobierze odpowiedni kod i umożliwi instalację, odinstaluj, zainstaluj ponownie i napraw EFIDroid, a także pozwól zarządzać ROMami w trybie multiboot konfiguracja. Po zainstalowaniu EFIDroid ROMy można zainstalować w wybranej lokalizacji (zwykle gdzieś, np /data/media/0/multiboot/NAME).

W tej chwili obsługiwanych jest tylko kilka urządzeń, w tym Moto E (Kondor), Moto G 4G (Wędrowiec), Nokii X2, Jeden dodać jeden, Vega Iron 2 i Fairphone 2. Jednak m11kkaa jest poszukuje programistów do pomocy przy przenoszeniu EFIDroid do innych urządzeń – niektórzy już zyskują „nieoficjalne wsparcie”. Jeśli możesz uruchomić EFIDroid na innym urządzeniu, proces włączenia go do aplikacji wymaga po prostu wysyłanie żądania ściągnięcia do gita EFIDroid magazyn. M11kkaa poinformował nas również, że ma plany na przyszłość dotyczące rozszerzenia aplikacji o potencjalną obsługę wtyczek rozruchowych i aplikacji UEFI (choć należy pamiętać, że na razie są to tylko plany).


Jak to działa

EFIDroid wykorzystuje LK jako warstwę abstrakcji do interakcji ze sprzętem urządzenia. Aplikacja umożliwia pełne wykorzystanie tych komponentów poprzez szerokie możliwości UEFI – wśród nich możliwość ładowania jądra systemu Linux w dowolnym momencie

późniejszy punkt.

EFIDroid wykorzystuje bibliotekę jądra systemu Linux jako środek do kompilowania jądra systemu Linux jako biblioteki oprogramowania. Umożliwia to UEFI korzystanie ze sterowników systemu plików do odczytu i zapisu na wielu partycjach rozruchowych oraz z wielu partycji rozruchowych, a także daje możliwość uruchamiania z wielu pamięci ROM lub środowisk odzyskiwania. EFIDroid może również wyświetlać komunikaty o błędach z wcześniej nieudanego rozruchu. Twórca wspomniał nawet o potencjalnym wykorzystaniu Biblioteki jądra systemu Linux do dodania obsługi ekranów dotykowych w przyszłości.

Wszystko to oczywiście wymaga dostępu do roota i odblokowanego bootloadera na twoim urządzeniu ale nie wymaga niestandardowego jądra.

Źródło obrazu: EFIDroid


Więcej niż tylko multiboot 

Implementacja bootloadera UEFI otwiera urządzenia z Androidem na wiele możliwości. W środowisku UEFI możliwe są różne wtyczki, w tym diagnostyka, taka jak Memtest86, otwieranie wiersza poleceń, a nawet gry. Chociaż potrzebne jest wsparcie, aby wprowadzić więcej tych możliwości w życie, EFIDroid nadal oferuje pewne kluczowe funkcje dla kompatybilnych urządzeń. Niezależnie od tego, czy jest używany po prostu jako alternatywny program ładujący dla urządzeń, które mogą nie mieć opcji odzyskiwania, czy też jako narzędzie do zarządzania i rozwiązując problemy z wieloma ROMami lub środowiskami odzyskiwania, to narzędzie oferuje wszystkie powyższe funkcje i robi to w sposób przyjazny dla użytkownika prosty interfejs użytkownika uruchomić.

Aby kontynuować dyskusję, przejdź do wątek forumowy lub śledź projekt pod linkami poniżej!

EFIDroid na Githubie

Oficjalna strona EFIDroid

Społeczność Slack EFIDroid


Czy wypróbowałeś już EFIDroid? Czy chcesz zobaczyć wsparcie dla swojego urządzenia? Daj nam znać w komentarzach poniżej!