Od kilku dobrych miesięcy nakręcałem się na smartfona pod kontrolą Linuxa. Widziałem kilka projektów i najróżniejsze systemy, ale najbliższy moim potrzebom zawsze był system Ubuntu Touch. Po zrobieniu researchu okazało się, że najlepszą kompatybilność z mobilną wersją Ubuntu bez wydawania tysięcy złotych mają telefony Google Pixel. Przez dłuższy czas obserwowałem aukcje i w końcu udało mi się trafić na świetny egzemplarz Pixel 3a za mniej niż 300 zł. Nie czekając wiele zamówiłem smartfona, poczekałem kilka dni i telefon w końcu znalazł się w moich rękach.
Google Pixel 3a
Smartfon pochodzi oczywiście z rynku sprzętów używanych. Kupienie obecnie nowego Pixela 3a graniczyłoby z cudem, a i cena byłaby pewnie zabójcza. W małej paczce znalazłem trzy małe zawiniątka z folii bąbelkowej, a w środku kolejno telefon, ładowarkę i kabel. Ładowarka to całkiem porządny sprzęcik ładujący nawet do 2,4A, kabelek z jednej strony USB A, z drugiej USB C, który wydaje się być dobrej jakości. Aukcja dotyczyła samego telefonu, nie było informacji o akcesoriach, więc miło się zdziwiłem. Sam telefon był w bardzo dobrym stanie – brak rys na ekranie, tył lekko podrapany, ale nie nazwałbym telefonu zużytym. Ogólnie – kandydat idealny, z małym wyjątkiem, o którym wcześniej nie wiedziałem…

Downgrade Androida
Pobawiłem się chwilę telefonem, żeby zobaczyć, czy wszystko działa, czy trzyma bateria, czy odpala się aparat i tak dalej. Telefon sprawił wrażenie bardzo zadbanego, wszystko działało jak należy. Podsumowując – bardzo dobry zakup, byłem bardzo zadowolony, jeszcze… Wszedłem jeszcze raz na stronę Ubuntu Touch, żeby zobaczyć jakie kolejne kroki powinienem wykonać, aby wgrać system na telefon. Wtedy dopiero zauważyłem, że telefon musi pracować pod kontrolą Androida 9, żeby instalacja przebiegła pomyślnie.
Wszedłem więc w ustawienia telefonu, informacje o systemie a tam niespodzianka – Android 12. Ktoś dokonał aktualizacji na możliwie najwyższy dostępny dla tego modelu system. W sumie to się nie dziwię, bo jeśli ktoś korzystał z telefonu na co dzień, to praca na Andku 9 była bez sensu. Informacja na stronie mówi, że należy zdowngrade’ować telefon do Androida 9 w ostatnim wydaniu. Jest nawet link do konkretnego buildu. Stwierdziłem, że to na pewno nic trudnego i zacząłem downgrade – pobrałem obraz, zrestartowałem telefon w trybie bootloadera, wklepuję komendę na wgranie obrazu, operacja wykonuje się chwilę i… „nie można dokonać aktualizacji oprogramowania”. Kilka minut googlowania później okazuje się, że do wgrania Androida 9 potrzebna jest starsza wersja bootloadera, a Google zablokował możliwość cofania się do starszych wersji bootloaderów…
Czyżby wszelkie plany pogrzebane? Jeszcze nie! Znalazłem wątek na forum, gdzie użytkownicy pisali o udanej próbie instalacji z tym samym bootloaderem, który jest na moim telefonie. Nie pozostało mi nic innego jak spróbować, w końcu nic nie tracę.
UBPorts na Linuxie
Do pracy z Ubuntu Touch wykorzystywany jest program UBPorts. Z pomocą programów adb oraz fastboot aplikacja UBPorts automatycznie wykrywa smartfona podłączonego do komputera, uruchamia ponownie w trybie bootloadera, a następnie za pomocą prostych instrukcji nakierowuje na odpowiednie działania. Skorzystałem z programu w formie pakietu Appimage, ale możliwe jest także zainstalowanie go z paczki .deb lub przez Snapa (oczywiście na dystrybucjach opartych o Ubuntu). Coś, co przykuło moją uwagę to świetnie wyglądający interfejs i wszystkie animacje przewijające się przez okno programu.
Instalacja Ubuntu Touch
Proces instalacji Ubuntu Touch na odblokowanym telefonie (włączone debugowanie USB w opcjach telefonu oraz włączenie instalacji OEM, następnie uruchomienie w trybie bootloadera) jest bardzo prosty. Po podłączeniu telefonu do komputera kablem USB uruchomiłem UBPorts, podążałem za instrukcjami dotyczącymi resetowania telefonu czy wejścia w tryb Recovery, resztę robił za mnie soft. Po kilku minutach aplikacja poinformowała mnie o zakończonej instalacji, a telefon uruchomił się ponownie.
Nie będę ukrywał, że już myślałem, że całość się udała a po restarcie będę miał działający telefon z Ubuntu Touch. Ale niestety… Po ponownym uruchomieniu telefon wszedł w tryb Recovery a po próbie zamontowania systemu i ponownego uruchomienia zaskoczył tylko tryb UBPorts Recovery. Siedziałem nad tematem tak długo, że zrobiło się ciemno (widać na drugim zdjęciu poniżej), ale nic nie udało się zrobić. Telefon za nic w świecie nie chce uruchomić systemu Ubuntu Touch – ani ze slotu A, ani ze slotu B, w trybie zwykłym, awaryjnym, czy w ogóle żadnym.
Dlaczego nie wyszło?
W tym momencie warto odpowiedzieć sobie na pytanie – dlaczego nie wyszło? Przecież znałem metodę, kupiłem odpowiedni sprzęt i wyposażenie. Ale czy aby na pewno? No właśnie nie. Zgubiło mnie tempo – chciałem zrobić wszystko za szybko! Po znalezieniu ogłoszenia z telefonem zacząłem działać szybko zamiast sprytnie, przez co całkowicie pominąłem kwestię wersji systemu, o co mogłem przecież zapytać sprzedającego przed transakcją. Co to dla mnie oznacza? Przede wszystkim dwie rzeczy – że muszę nauczyć się lepiej i spokojniej czytać dokumentację oraz żeby zmniejszyć tempo pracy na rzecz jej jakości. W końcu gdybym poczekał nawet miesiąc czy dwa dłużej nic by się nie stało, a byłbym kilka stówek do przodu.
Podsumowanie
Na szczęście to nie koniec przygody z Ubuntu Touch. Będę polował na inny telefon – teraz już z odpowiednim systemem (bootloaderem) na pokładzie. Pixela 3a wykorzystam natomiast do zainstalowania LineageOS, który jest zdegooglowanym forkiem Androida. Możecie spodziewać się wpisu na te temat całkiem niedługo! Mam nadzieję, że ktoś będzie mógł skorzystać na moim błędzie i po prostu nie popełnić go, wybierając od razu odpowiedni sprzęt.
A myślałeś o PostmarketOS i Plasma Mobile? Może by to poszło na tym pixelu.
Do tej pory rozważałem e/OS i LineageOS. Sprawdzę PostmarketOS i Plasma Mobile 🙂 Jeśli któryś z nich będzie kompatybilny, to przetestuję 😉