r   e   k   l   a   m   a
r   e   k   l   a   m   a

Zamiast płakać nad fragmentacją Androida zrobili dla niego UEFI

Strona główna AktualnościOPROGRAMOWANIE

Podobno dla niektórych problemem jest to, że udział w rynku Androida 7.0 nie przekracza kilku procent – nie rozumiejąc architektury tego systemu, domagają się, by był aktualizowany tak jak iOS, a gdy tego nie ma, krzyczą o „fragmentacji”. Czy jest jednak jakieś wyjście z tych problemów z najpopularniejszym systemem operacyjnym na świecie? Dlaczego nie słychać płaczu, że sfragmentowany jest Windows, dostępny w tylu różnych wersjach na rynku? Odpowiedź tkwi oczywiście w UEFI/BIOS-ie – dzięki niemu instalacja nowego systemu na pececie nie stanowi żadnego problemu. A co by było, gdybyśmy mieli takie UEFI na Androidzie?

Od niedawna rozwijany jest projekt o nazwie EFIDroid. Jego autorzy postawili sobie za cel rozwiązanie problemu z instalacją nowych systemów na smartfonie, nawet umożliwienie zainstalowania wielu systemów obok siebie, bez konieczności ich modyfikowania, wgrywania jakichś łatek do kernela i znoszenia później niedogodności wywołanych przez niekompatybilność oprogramowania. Dlatego stworzyli coś, o czym Google powinno pomyśleć od samego początku – odpowiednik interfejsu firmware UEFI dla Androida.

Wykorzystano w tym celu intelowe środowisko deweloperskie EDK II, przeznaczone właśnie do implementacji obsługi UEFI w systemach operacyjnych, przerabiając w nim opensource’owy bootloader Qualcomma – LK (Little Kernel). Little Kernel to więcej niż bootloader, to kompletny system operacyjny, mieszczący się w kilkunastu kilobajtach i przeznaczony dla urządzeń wbudowanych. Korzysta z niego m.in. Fuchsia, ten słynny system operacyjny Google’a, który miałby kiedyś zastąpić Androida.

r   e   k   l   a   m   a

EFIDroid uruchamia się jako bootloader drugiego etapu – pozwalając oryginalnemu bootloaderowi obsłużyć interfejsy sprzętowe urządzenia. LK funkcjonuje tu jako warstwa abstrakcji pomiędzy sterownikami a warstwą UEFI. Jej głównym zadaniem jest załadowanie linuksowego jądra, w dość specyficznej postaci – to stworzony przez Intela Linux Kernel Library, czyli plik obiektowy utworzony z kodu Linuksa, który może być bezpośrednio linkowany przez aplikacje. Gdy UEFI sobie w takiej formie Linuksa załaduje, zyskuje swoją najważniejszą funkcjonalność.

Od tej pory można bowiem bezpośrednio pisać i czytać do linuksowych systemów plików, a co za tym idzie, uruchamiać różne ROM-y czy środowiska recovery czy wyświetlać logi z poprzednich rozruchów (np. gdyby poszło coś nie tak). Oczywiście to nie wszystko – mając wszechstronne środowisko UEFI można uruchamiać z niego oprogramowanie diagnostyczne (np. Memtest86), powłokę systemową, czy jak twierdzą deweloperzy, nawet proste gry. Wszystko to może być zainstalowane w wybranym przez użytkownika miejscu w systemie plików, nie wchodząc ze sobą w konflikty.

Piękna architektura – dziś jednak niestety ograniczona w swojej do kompatybilności do niewielkiej liczby smartfonów, działających na procesorach z rodziny Snapdragon. Na tej liście mamy OnePlus One, Nokię X2, Moto G 4G, Moto E, Fairphone i Vegę Iron 2. Na szczęście zaczęły pojawiać się nieoficjalne porty na Xiaomi Mi2, Mi3w, Mi4c, Redmi Note 3 Pro, Moto G oraz Moto G 2014 LTE.

Oczywiście by zainstalować EFIDroida, trzeba dysponować na tych urządzeniach rootem, nie trzeba za to stosować żadnych specjalnych kerneli. Instalator został już wydany, po uruchomieniu ma pozwolić na instalację warstwy UEFI i czynności zarządzające, oraz oczywiście instalację innych ROM-ów. Możemy eksperymentować śmiało, bo instalacja problematycznego systemu niczym nie grozi, najwyżej go odinstalujemy z poziomu EFIDroida.

Więcej o EFIdroidzie można znaleźć na jego stronie na GitHubie.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.