艁adowanie

Nie tylko iOS i Android… Ubuntu Touch! (na Google Pixel 3a XL)

馃嚞馃嚙 Go to english version of this post / Przejd藕 do angielskiej wersji tego wpisu

Nie ma co ukrywa膰, 偶e na rynku system贸w dla urz膮dze艅 mobilnych (smartfon贸w) mamy bardzo ograniczony wyb贸r, bo mo偶emy w zasadzie wybra膰 spo艣r贸d dw贸ch system贸w – iOS od Apple lub Android od Google (pofragmentowany na nak艂adki od poszczeg贸lnych producent贸w). To wersja dla zwyk艂ych 艣miertelnik贸w, bo istnieje jeszcze przeogromny 艣wiat Custom ROM贸w, czyli wariacji systemu Android tworzonych przez entuzjast贸w. Dla ch臋tnych, kt贸rzy chc膮 zg艂臋bi膰 temat polecam Forum XDA Developers, kt贸re od lat kr贸luje w zakresie tej tematyki. Ja jednak chcia艂bym w tym wpisie pokaza膰 co艣 wyr贸偶niaj膮cego si臋 z t艂umu, a mianowicie mobiln膮 wersj臋 Ubuntu, kt贸r膮 zainstaluj臋 na smartfonie Google Pixel 3a XL, kt贸ry ju偶 teraz jest do艣膰 leciwym sprz臋tem, bo jego oficjalna premiera by艂a w maju 2019 roku. Specjalnie na potrzeby tego wpisu zakupi艂em egzemplarz za 500 z艂.

Zakup odpowiedniego smartfona

Lista urz膮dze艅 wspieraj膮cych Ubuntu Touch w momencie pisania tego wpisu sk艂ada si臋 z 55 pozycji, wi臋c nie jest tak kr贸tka jakby si臋 mog艂o wydawa膰. Tak jak napisa艂em we wst臋pie ja postawi艂em na Pixela 3a XL. I to w艂a艣nie dla tego modelu oraz dla jego mniejszej wersji Pixel 3a (bez XL w nazwie) b臋d臋 opisywa艂 ca艂膮 procedur臋.

Je偶eli chodzi o zakup to istotne jest, aby by艂 to model posiadaj膮cy mo偶liwo艣膰 odblokowania bootloadera (czyli takiego telefonowego programu rozruchowego). Nie wszystkie Pixele maj膮 tak膮 mo偶liwo艣膰 i nie da si臋 tego ustali膰 np. po numerze seryjnym. Niestety trzeba to sprawdzi膰 indywidualnie dla ka偶dego telefonu. W przypadku zakupu online musimy o to poprosi膰 sprzedawc臋, a przy zakupie bezpo艣rednim zrobi膰 to samemu po uzyskaniu zezwolenia sprzedawcy.

Jak to sprawdzi膰? B臋d臋 to opisywa艂 dla angielskiej wersji j臋zykowej systemu, bo tak b臋dzie mi naj艂atwiej. Wszystkie wskazane nazwy maj膮 zapewne swoje odpowiedniki po polsku, ale jakby kto艣 mia艂 problem z ich znalezieniem to proponuj臋 zmieni膰 j臋zyk systemu na angielski. Wracaj膮c do meritum鈥 Nale偶y wej艣膰 do ustawie艅 telefonu, nast臋pnie About phone, odnale藕膰 na samym dole Build number i naciska膰 to tak d艂ugo a偶 wy艣wietli si臋 napis You are now a developer!. W taki spos贸b odblokowuje si臋 dodatkowe (ukryte dla standardowego u偶ytkownika) ustawienia dla deweloper贸w.

Teraz wracamy do g艂贸wnego okna ustawie艅 i przechodzimy do System i dalej Developer options, kt贸re w艂a艣nie odblokowali艣my. Potrzebujemy tutaj w艂膮czy膰 dwie opcje:

  1. OEM unlocking (Allow the bootloader to be unlocked) – tak jak m贸wi podpowied藕, jest to opcja, kt贸ra umo偶liwia odblokowanie bootloadera tego urz膮dzenia,
  2. USB debugging (Debug mode when USB is connected) – tryb debugowania urz膮dzenia poprzez USB, a po ludzku jest to opcja umo偶liwiaj膮ca manipulowanie w urz膮dzeniu poprzez USB, tj. przez komputer, do kt贸rego p贸藕niej pod艂膮czymy Pixela i wgramy w ten spos贸b nowy system oraz wszystkie potrzebne do tego sk艂adniki.

Telefony, kt贸re maj膮 zablokowan膮 mo偶liwo艣膰 odblokowania bootloadera b臋d膮 mia艂y t膮 pierwsz膮 opcj臋 (OEM unlocking) wyszarzon膮, tj. niedost臋pn膮. Po tym w艂a艣nie mo偶na rozpozna膰 telefon, kt贸rego nie nale偶y kupowa膰.

W przypadku wyskoczenia komunikatu dotycz膮cego tego czy zezwalamy na debugowanie USB (Allow USB debugging?) zaznaczamy opcj臋 Always allow from this computer (z ang. Zawsze pozwalaj z tego komputera) i klikamy Allow (z ang. Zezw贸l).

Przed rozpocz臋ciem dalszych czynno艣ci proponuj臋 zrobi膰 dwie rzeczy:

  1. zrestartowa膰 telefon,
  2. na艂adowa膰 go do pe艂na.

W trakcie 艂adowania we藕miemy si臋 za odpowiednie przygotowanie komputera.

Przygotowanie komputera do odblokowania bootloadera

Przed rozpocz臋ciem procesu odblokowywania bootloadera i flashowania (wgrywania) nowego systemu musimy przygotowa膰 komputer przy pomocy kt贸rego b臋dziemy robi膰 te czynno艣ci. Ja postawi艂em na m贸j laptop do zada艅 specjalnych (pancerny Getac S410) dzia艂aj膮cy na Windowsie, jednak偶e nic nie stoi na przeszkodzie, aby zrobi膰 to samo na komputerze z Linuxem, a nawet macOS. Po prostu niekt贸re kroki mog膮 si臋 delikatnie r贸偶nic, ale og贸lnie chodzi o to samo i uzyska si臋 ten sam efekt. Dobrze jest te偶 zaopatrzy膰 si臋 w sprawdzony i przede wszystkim dzia艂aj膮cy kabel USB, kt贸ry pozwala na transfer danych, a nie tylko na 艂adowanie (tak, s膮 takie na rynku jakby kto艣 nie mia艂 styczno艣ci). Do tego tak ryzykowane dzia艂ania jak wgrywanie systemu do innego urz膮dzenia zaleca si臋 robi膰 na laptopie. Dlaczego? To proste. W przypadku zaniku pr膮du laptop przeskoczy na zasilanie bateryjne zamiast je utraci膰 i ucegli膰 nam telefon.

Na komputerze z Windows musimy w zasadzie wykona膰 cztery czynno艣ci:

  1. zainstalowa膰 (je偶eli nie mamy) Microsoft Visual C++, kt贸re mo偶na pobra膰 ze strony Microsoftu (to wersja 2015, ale gdzie艣 przeczyta艂em, 偶e zaleca si臋 te偶 instalacj臋 2012 dost臋pnej tutaj),
  2. zainstalowa膰 Minimal ADB and Fastboot, do kt贸rego zawsze aktualny link znajduje si臋 w tym w膮tku na forum XDA Developers,
  3. zainstalowa膰 instalator od UBports, kt贸ry jest dost臋pny pod tym linkiem,
  4. zainstalowa膰 sterownik Google USB Driver dost臋pny pod tym linkiem.

O ile krok 1-3 nie powinny dla nikogo stanowi膰 problemu tak chcia艂bym si臋 pochyli膰 na moment nad czynno艣ci膮 wskazan膮 w punkcie 4. Pod podanym linkiem dost臋pna jest paczka .ZIP (archiwum), kt贸ra nale偶y rozpakowa膰 w dowolnym miejscu. Nast臋pnie trzeba pod艂膮czy膰 telefon do komputera, na telefonie otworzy膰 Centrum powiadomie艅 (ruch palcem od g贸rnej kraw臋dzi urz膮dzenia w d贸艂), znale藕膰 opcj臋 Charging this device via USB (Tap for more options) i nacisn膮膰 na ni膮. To ustawienia USB Preferences, kt贸re pozwalaj膮 zmieni膰 to w jaki spos贸b telefon ma komunikowa膰 si臋 z komputerem. Domy艣lnie zaznaczon膮 opcj膮 jest pozwolenie jedynie na 艂adowanie telefonu bez wymiany danych (No data transfer) my jednak chcemy zmieni膰 to na (Use USB for) File transfer / Android Auto. W ten spos贸b pozwalamy na transfer danych pomi臋dzy obydwoma urz膮dzeniami, a telefon pojawi si臋 na naszym komputerze jako dysk zewn臋trzny.

Na komputerze przechodzimy do Menu Start i nast臋pnie Mened偶er urz膮dze艅 (Device Manager). Zostanie wy艣wietlona lista wszystkich urz膮dze艅 znajduj膮cych si臋 w naszym komputerze lub do niego pod艂膮czonych. Je偶eli nie instalowali艣my wcze艣niej sterownika Google USB Driver to na tej li艣cie powinni艣my mie膰 jedn膮 pozycj臋, kt贸rej ikona b臋dzie mia艂a znak 偶贸艂tego tr贸jk膮ta z wykrzyknikiem i by膰 podpisana Android, Pixel 3a lub co艣 w tym stylu. Gdy to zobaczysz na pewno b臋dziesz wiedzia艂/a o co chodzi. Gwoli doprecyzowania b臋dzie to prawdopodobnie w sekcji Inne urz膮dzenia (Other devices). Klikamy prawym przyciskiem myszy na to urz膮dzenie i z menu kontekstowego wybieramy Aktualizuj sterownik (Update driver). Zostanie odpalone okno, w kt贸rym wybieramy drug膮 opcj臋, czyli Przegl膮daj m贸j komputer w poszukiwaniu sterownik贸w (Browse my computer for drivers). Nast臋pnie wybieramy Pozw贸l mi wybra膰 z listy dost臋pnych sterownik贸w na moim komputerze (Let me pick from a list of available drivers on my computer), przycisk Dalej (Next) i gdy ju偶 jeste艣my w oknie prosz膮cym Wybierz sterownik, kt贸ry chcesz zainstalowa膰 dla tego sprz臋tu (Select the device driver you want to install for this hardware) korzystamy z przycisku Z dysku… (Have Disk…). Wyskoczy kolejne okienko, w kt贸rym musimy odnale藕膰 przycisk Przegl膮daj… (Browse…), naciskamy go i wskazujemy plik android_winsub.inf, kt贸ry znajduje si臋 z pobranej i wypakowanej paczce Google USB Driver. Dalej ju偶 tylko przeklikujemy Otw贸rz (Open), OK, Dalej (Next), Tak (Yes), Instaluj (Install) i po pomy艣lnej instalacji ko艅czymy przyciskiem Zamknij (Close). Po tym wszystkim urz膮dzenie, kt贸re wcze艣niej mia艂o 偶贸艂ty tr贸jk膮t z wykrzyknikiem ju偶 nie powinno go mie膰 i zosta膰 rozpoznane jako normalne urz膮dzenie z zainstalowanymi poprawnymi sterownikami.

Je偶eli kto艣 potrzebuje wizualnego przewodnika po powy偶szych czynno艣ciach to polecam filmik tego Pana (chyba) Hindusa.

Odblokowanie bootloadera

Pixela zostawiamy dalej pod艂膮czonego do komputera. Na komputerze uruchamiamy wcze艣niej zainstalowany program Minimal ADB and Fastboot, co powinno skutkowa膰 otworzeniem okna wiersza polece艅 (windowsowy terminal). Zaczynamy od sprawdzenia czy nasz telefon jest prawid艂owo pod艂膮czony, skonfigurowany i widoczny dla narz臋dzia do odblokowania bootloadera:

adb devices

Przy pierwszym wpisaniu tego polecenia pod List of devices attached mo偶e nam zosta膰 wy艣wietlony komunikat z identyfikatorem urz膮dzenia (numer seryjny) i obok niego fraz膮 unauthorized, co oznacza, 偶e musimy jeszcze raz wyrazi膰 na telefonie zgod臋 na debugowanie przez USB. Wykonujemy powy偶sze polecenie jeszcze raz i tym razem powinni艣my ju偶 zobaczy膰 fraz臋 device obok identyfikatora urz膮dzenia. To potwierdza, 偶e wszystko do tego momentu wykonali艣my prawid艂owo.

Nast臋pnym poleceniem wywo艂amy przej艣cie telefonu w tryb Bootloadera:

adb reboot bootloader

Na telefonie powinno si臋 pojawi膰 co艣 podobnego do widocznego na poni偶szym zdj臋ciu:

Jak wida膰 weszli艣my do Bootloadera, ale Device state widnieje jako locked. Naszym celem jest zmiana tego stanu na unlocked. Wracamy do wiersza polece艅 na komputerze i tym razem wpisujemy:

fastboot flashing unlock

Przechodzimy na telefon, gdzie musimy potwierdzi膰, 偶e bootloader ma zosta膰 odblokowany. W tym celu naciskamy jednokrotnie dowolny z przycisk贸w g艂o艣no艣ci (w tym trybie s艂u偶膮 one do prze艂膮czania opcji, kt贸re chcemy wybra膰), tak aby wybrana zosta艂a opcja Unlock the bootloader, i potwierdzamy wyb贸r przyciskiem Power.

Po kr贸tkiej chwili wr贸cimy z powrotem do g艂贸wnego menu bootloadera, gdzie powinni艣my ju偶 zobaczy膰 Device state: unlocked. Sukces! Bootloader odblokowany, urz膮dzenie stoi przed nami otworem.

Na koniec dobrze jest jeszcze prawid艂owo zako艅czy膰 dzia艂anie narz臋dzia Minimal ADB and Fastboot wydaj膮c polecenie:

adb kill-server

i nast臋pnie zamkn膮膰 okno wiersza polece艅.

Przywr贸cenie wymaganej wersji systemu Android

W dokumentacji UBports mo偶na przeczyta膰, 偶e w celu wgrania Ubuntu Touch konieczne jest cofni臋cie wersji systemu operacyjnego Android, dzia艂aj膮cego na naszym urz膮dzeniu, do konkretnego wydania. W momencie pisania tego poradnika jest to wydanie o oznaczeniu PQ3B.190801.002. Pisz臋 o tym, gdy偶 nie wiem ile czasu min臋艂o od napisania tego poradnika do momentu kiedy z niego korzystasz i mo偶liwe jest, 偶e nowsze wersje Ubuntu Touch b臋d膮 wymaga艂y innej wersji Androida do instalacji. Dlatego zawsze polecam wej艣膰 tutaj i sprawdzi膰 t臋 informacj臋 na chwil臋 przed podj臋ciem dalszych dzia艂a艅. Istotne s膮 te偶 tak zwane code name’y (z ang. nazwy kodowe), kt贸re dla ka偶dego modelu Pixela s膮 inne:

  • dla Google Pixela 3a jest to SARGO,
  • dla Google Pixela 3a XL jest to BONITO.

Jest to istotne p贸藕niej, a znajomo艣膰 tych nazw pozwoli unikn膮膰 pomylenia obraz贸w system贸w i wzi臋cia obrazu dla niew艂a艣ciwego modelu, co w zasadzie mo偶e w najgorszym wypadku ucegli膰 ca艂kowicie telefon. Ja b臋d臋 operowa艂 na Bonito, bo mam Pixela 3a XL, ale te same kroki mo偶na wykona膰 dla Pixela 3a korzystaj膮c z obrazu podpisanego Sargo.

Flashowanie (wgrywanie) systemu na urz膮dzenia Pixel dokonuje si臋 przy u偶yciu przegl膮darki Chrome. C贸偶鈥 Telefon od Google, wi臋c zrobili tak, aby ich przegl膮darka by艂a niezb臋dna. Sprytne, prawda? Mo偶e i tak, ale my jeste艣my bardziej przebiegli, bo mo偶e niewiele os贸b wie, ale tak naprawd臋 nie potrzeba konkretnie przegl膮darki Chrome, a dowoln膮 dzia艂aj膮c膮 na silniku Chromium, czyli mo偶emy r贸wnie dobrze u偶y膰 przegl膮darki Microsoft Edge! Do tego u偶yjemy jej, aby zrobi膰 krok do pozbycia si臋 z telefonu systemu od Google, wi臋c totalnie ucieramy nosa tej偶e korporacji 馃槈

Odpalamy przegl膮dark臋 Microsoft Edge, wchodzimy na stron臋 https://developers.google.com/android/images?hl=pl#bonito, zje偶d偶amy na sam d贸艂, gdzie widnieje niebieski przycisk Potwierdzam przy Znam i akceptuj臋 powy偶sze warunki korzystania z us艂ugi, naciskamy go. Zostaniemy przeniesieni do listy obraz贸w fabrycznych dla smartfon贸w Nexus oraz Pixel. Tak jak wcze艣niej ju偶 wspomnia艂em znajdujemy na niej wydanie o oznaczeniu PQ3B.190801.002, uwa偶aj膮c przy tym, aby by艂 to obraz dedykowany do naszego urz膮dzenia.

Po odnalezieniu odpowiedniego obrazu naciskamy obok W formacie Flash (dziwne t艂umaczenie na polski, bo w wersji angielskiej jest to po prostu Flash). Zostaniemy przeniesieni do webowego narz臋dzia do wgrywania system贸w Android. Tym razem nie b臋d臋 opisywa艂 dok艂adnie przebiegu procesu, bo to co nale偶y po kolei zrobi膰 wida膰 idealnie na poni偶szych zrzutach ekranu.

Efektem b臋dzie przywr贸cenie systemu Android 9 na naszego Pixela. Telefon zosta艂 tak偶e wyczyszczony, wi臋c ponownie trzeba na nim zrobi膰 podstawow膮 konfiguracj臋, gdzie proponuj臋 pomin膮膰 wi臋kszo艣膰 opcji i po prostu korzysta膰 z przycisku Skip. Nie ma nawet sensu konfiguracji Wi-Fi, bo za chwil臋 telefon zostanie znowu wyczyszczony po wgraniu systemu docelowego (Ubuntu Touch). Jedyne co jest istotne po podstawowym skonfigurowaniu systemu to wej艣膰 do ustawie艅, znowu odblokowa膰 opcje deweloperskie i sprawdzi膰 czy debugowanie USB jest w艂膮czone. Je偶eli nie jest to oczywi艣cie je w艂膮czamy i zgadzamy si臋 na debugowanie USB z naszego laptopa (tak jak opisa艂em wcze艣niej).

Flashowanie Ubuntu Touch

Ubuntu Touch wgramy wcze艣niej zainstalowanym instalatorem UBports. Tak jak wcze艣niej ca艂y proces pokaza艂em na zrzutach ekranu poni偶ej.

Ubuntu Touch – pierwsze wra偶enia

Inicjatywa jak膮 jest projekt Ubuntu Touch jest bardzo, ale to bardzo, istotna, warta szacunku i godna wsparcia. Jest to ewidentnie pr贸ba dania ludziom wolno艣ci w zakresie wyboru systemu operacyjnego, kt贸ry nie b臋dzie ich szpiegowa艂 na ka偶dym kroku. Do tego jest otwarty i kompletnie darmowy. System jest ca艂kiem nie藕le dopasowany do urz膮dze艅 wielko艣ci na jakich ma by膰 uruchomiony i wida膰, 偶e autorzy w pierwszej kolejno艣ci postawili na to, aby dzia艂a艂y wszystkie podstawowe funkcjonalno艣ci telefonu. Mam tutaj dzia艂aj膮ce takie podstawy jak Wi-Fi, czy transmisja danych kom贸rkowych, ale tak偶e takie szczeg贸艂y jak czytnik linii papilarnych.

Jednak偶e wy偶ej wymienione podstawy to nie wszystko. To co najgorzej boli, gdy u偶ywa si臋 Ubuntu Touch, to absolutny brak aplikacji. Niestety w „sklepie” z aplikacjami jest dramatycznie ma艂o pozycji, co wida膰 na poni偶szych zrzutach ekranu. Pobawi艂em si臋 w aptekarza i policzy艂em wszystkie z nich – na moment pisania tego wpisu s膮 to 184 pozycje…

Czy Ubuntu Touch zainstalowane na smartfonie Google Pixel 3a XL mo偶e by膰 urz膮dzeniem do codziennego u偶ytku? W mojej ocenie niestety nie. Jednak jest to na pewno bardzo ciekawy temat i ka偶demu polecam sprawdzi膰 „z czym to si臋 je”. Marz臋, aby ten projekt zosta艂 doprowadzony znacznie dalej ni偶 to gdzie znajduje si臋 teraz. Na pewno b臋d臋 go dalej obserwowa艂.


Je偶eli podoba艂 Ci si臋 ten wpis to mo偶esz mnie wesprze膰! 馃檪

Tomasz Dunia

馃嚨馃嚤 Z wykszta艂cenia Mechatronik. Z zawodu G艂贸wny Konstruktor w PAK-PCE Polski Autobus Wodorowy (Neso Bus). Po pracy Ojciec Roku. W nocy Wannabe Programista. Wszystko to daje przepis na zwyk艂ego nerda :) 馃嚞馃嚙 Mechatronics by education. By profession Chief Constructor in PAK-PCE Polish Hydrogen Bus (Neso Bus). After work Father of the Year. At night Wannabe Programmer. All this gives a recipe for an ordinary nerd :)

svg

Co my艣lisz?

Poka偶 komentarze / Napisz komentarz

6 komentarzy

Odpowiedz

svg
Szybka nawigacja
  • 01

    Nie tylko iOS i Android… Ubuntu Touch! (na Google Pixel 3a XL)