Jak mieć roota i recovery, nie mając roota i recovery?

Wiem, że tytuł bloga może wprawić w zakłopotanie, ale tak - to jest możliwe. Można korzystać z dobrodziejstw roota na telefonie, czyli androidowych "uprawnień administracyjnych" nie mając go odblokowanego bezpośrednio w systemie. Można również korzystać z dobrodziejstw recovery, czyli systemu awaryjnego, w skrócie służącego do tworzenia, jak i przywracania kopii zapasowych, nie posiadając go wgranego na nasz telefon.

Jednak po co to robić? Jaka jest nasza motywacja? Wyjaśnienie jest proste - wgranie roota, a tym bardziej recovery, wypróżnia naszą gwarancję (z ang. void warranty). Tracimy gwarancję. Jednak, aby nam się udało, trzeba mieć odblokowany bootloader, czyli podsystem uruchamiający nasze urządzenie. W pecetowym świecie jego odpowiednikiem jest BIOS. I tutaj wszystko zależy od producenta - czy Wam się gwarancja wypróżni, czy nie. W moim przypadku (Oneplus 6) producent zezwala na wszystkie modyfikacje.

Inną zaletą sposobu, który dzisiaj opiszę, jest możliwość otrzymywania aktualizacji podróżujących magicznie przez powietrze - OTA (z ang. Over The Air). Są to popularne od pewnego czasu aktualizacje systemu Android, które zapewnia producent Waszego urządzenia. Zazwyczaj zajmują kilkaset megabajtów. W klasycznej sytuacji (ze zmodyfikowanym systemem) musielibyście wgrywać cały system od nowa (mający nawet od jednego do kilku gigabajtów), żeby uzyskać je bez problemów, ale nam to nie grozi.

Przejdźmy do rzeczy

Na wstępie muszę zaznaczyć, że całą operację przeprowadzałem na swoim Oneplus 6 i ją właśnie opiszę. Na modelach innych producentów niektóre rzeczy mogą się bardzo różnić lub nawet być niemożliwe do zrealizowania. Nie biorę żadnej odpowiedzialności za uceglone telefony.

Wymagania:

  • naładowany telefon z Androidem
  • komputer
  • kabel do telefonu
  • połączenie z internetem
  • dużo wolnego czasu na wypadek, gdyby coś poszło nie tak

0. Czynności wstępne

Przeczytajcie wszystkie kroki zanim zaczniecie.

Przed przystąpieniem do czegokolwiek należy wykonać kopię wszystkich naszych danych, ponieważ krok pierwszy spowoduje ich usunięcie. Możecie też uzbroić się w paczkę Waszego systemu operacyjnego, tak by można było go wgrać od nowa, jeśli coś pójdzie nie tak. Osobiście sobie to darowałem i jak zwykle obgryzałbym paznokcie w chwili trwogi.

Wyłączcie wszelkie zabezpieczenia ekranu blokady, jeśli będziecie chcieli wykonać później kopię systemu, to przywrócenie jej nic Wam nie da - zatrzymacie się na ekranie blokady przywróconego telefonu.

Bardzo ważne:
Odblokujcie opcje programistyczne wielokrotnie stukając w numer kompilacji systemu w informacjach o telefonie. Następnie zdejmijcie w nich blokadę OEM oraz włączcie debugowanie USB. Włączcie również zaawansowany restart telefonu, jeśli go macie.

Upewnijcie się, że na komputerze macie zainstalowane sterowniki do telefonu.

Zainstalujcie na komputerze ADB, np. stąd: https://adb.clockworkmod.com/
Są to sterowniki niezbędne do komunikacji z telefonem z użyciem komend. Sprawdźcie czy działają otwierając Waszą ulubioną konsolę i wpisując "adb".

1. Odblokowanie bootladera

To pierwsza rzecz, która może wyglądać bardzo różnie w różnych przypadkach. Jak zwykle odsyłam na XDA, żebyście sprawdzili prawidłową procedurę dla swojego sprzętu. Ta czynność zazwyczaj oznacza utratę gwarancji, w moim przypadku nie.

To co musiałem zrobić, to zrestartować urządzenie do trybu bootloader (lub jak kto woli fastboot - bo tak się nazywa narzędzie, z którego korzystamy). Można to wykonać przyciskając kilka przycisków na raz (Volume Up oraz Power) przy wyłączonym telefonie lub odblokować zaawansowany restart w ustawieniach programistycznych.

Gdy zrestartujemy już telefon, podłączcie go do komputera.

W konsoli wpiszcie:

fastboot devices

Jeśli na liście wyświetli się Wasze urządzenie, to możemy jechać dalej. Poniższa komenda odblokuje bootloader i wymaże wszystkie Wasze dane.

fastboot oem unlock

Na urządzeniu będziecie musieli potwierdzić operację. Zrestartuje się (możliwe, że kilka razy) i uruchomi wyczyszczony system.
Teraz należy ponowić kroki z punktu 0 związane z opcjami programistycznymi.

Od tego momentu telefon przy uruchamianiu może wyświetlać informację o zdjętej blokadzie.

2. Recovery i root, czyli TWRP i Magisk

Znajdźcie recovery dla Waszego urządzenia z oficjalnej strony TWRP: https://twrp.me/Devices/ 

Pobierzcie najnowszy plik z rozszerzeniem ".img".

Pobierzcie również najnowszą, stabilną paczkę Magisk z oficjalnego wątku na XDA: https://forum.xda-developers.com/apps/magisk/official-magisk-v7-univer...

Przekopiujcie go na pamięć telefonu (wewnętrzną, czy zewnętrzną - nie ma różnicy).

Znowu musimy wrócić do bootloadera. Zróbmy to niczym szef przez ADB:

adb reboot bootloader

A następnie uruchommy (tak, jest takie słowo, sprawdziłem) TWRP. Przypominam, że klawisz TAB uzupełnia nazwy ścieżek i plików:

fastboot boot .\twrp-3.2.3-1-enchilada.img

TWRP powinno się załadować z Waszego komputera.

I teraz uwaga!
Nie przesuwajcie tego dzyngla, który się pojawi w prawo. Zgodnie z naszymi założeniami, nie chcecie mieć TWRP na swoim urządzeniu, a jedynie pozostać w trybie Read Only. Nie trudźcie się również w personalizowanie TWRP, nic nie zostanie zapamiętane. Pozostawcie wszystko domyślne.

Następnie stwórzcie backup swojego systemu, jeśli macie, to najlepiej na zewnętrzną kartę pamięci. Po utworzeniu się kopii, możecie przekopiować ją na swój komputer bezpośrednio po kablu nadal będąc w TWRP. 

Gdy to mamy już za sobą, wystarczy w TWRP wybrać opcję Install, wybrać paczkę zip z Magiskiem i zainstalować.

W tej chwili możecie już zrestartować system, używając opcji Reboot > System.

Urządzenie może zrestartować się kilka razy.

Mamy to ziomeczki

"Cel naszej pracy został osiągnięty" - jakby to powiedział potencjalny inżynier po prezentacji. Osiągnęliśmy systemless root, co oznacza, że nie musieliśmy modyfikować partycji systemowej, a jedynie partycję boot. Aplikacje bankowe, Google Pay, jak i gry, nie będą w stanie wykryć tej modyfikacji.

Co więcej mamy również dostęp do TWRP, mimo że nie jest fizycznie na naszym urządzeniu. W każdej chwili możemy podpiąć telefon do komputera w trybie bootloader i załadować obraz naszego recovery stosując wymienione komendy.

Dzięki temu, że nie zmodyfikowaliśmy w jawny sposób systemu nadal możemy uzyskiwać aktualizacje OTA, jedyne co trzeba zrobić, to przed tym odinstalować Magisk opcją w aplikacji i później ponownie go fleszować z recovery.

W Waszym przypadku cała operacja może się znacząco różnić, ale przy pomocy XDA, powinniście być w stanie analogicznie powtórzyć każdy krok. Prawdopodobnie najbardziej może się różnić sposób odblokowania bootloadera.

No i cóż, w moim przypadku zachowałem gwarancję, choć zdaję sobie sprawę, że w większości przypadków będzie gorzej.

Do zobaczenia i niech root będzie z Wami.