niedziela, 16 sierpnia 2009

Era G1 - Goldcard, Root i tak dalej, czyli hakujemy Androida.

Po okresie euforii i zabawy nowym telefonem, zainstalowaniu wszystkiego co potrzebne, przyszła chwila, w której pomyślałem co dalej ? Przyznam się, wziąłem telefon Era G1 z myślą o nowszych wersjach Androida, gdyż do pełnej funkcjonalności trochę mu brakuje, duża część aplikacji jest niedopracowana. Można bardzo wiele z tych luk i braków funkcjonalności uzupełnić aplikacjami z Android Market, ale każdy, chyba woli mieć pewne rzeczy od razu w systemie.

Postanowiłem zatem, zrobić tak zwany "Root". Jest to duży skrót myślowy, opisujący proces złamania zabezpieczeń systemu, tak aby mieć możliwość dostępu do całego systemu plików z prawami administratora. Dla osób korzystających wcześniej z systemu Linux, sprawa jest jasna, to daje wiele możliwości, ale dla przeciętnego użytkownika telefonu nic to nie znaczy. Postaram się poniżej opisać motywy, którymi się kierowałem, jakie są plusy i minusy "zrobienia roota", oraz jakie są zagrożenia, związane z tym procesem.

Uwaga!!! - autor nie ponosi odpowiedzialności za jakiekolwiek usterki, zniszczenia, i inne plagi mogące wyniknąć z lektury treści poniżej.

Po co i dlaczego ?


Każda osoba, "robiąca roota" kieruje się chyba innymi przesłankami. W moim przypadku podstawowym motywem był brak perspektyw na oficjalne nowsze wersje (2.0 Eclair) Androida dla HTC Dream/Era G1.  Druga sprawa, to jako długoletni użytkownik różnych dystrybucji Linuksa, chciałem mieć możliwość wykorzystania jego możliwości w większym stopniu niż na to pozwalają oficjalne romy. Część użytkowników kieruje się innymi względami, mają na przykład telefon z zagranicy i chcą wgrać polskie oprogramowanie, chcą mieć interfejs z HTC Hero na swoim G1 lub po prostu potrzebują dzielić swoje łącze z notebookiem (Tethering).

Co jest potrzebne ?


Przede wszystkim mocne nerwy, trochę cierpliwości, myślenia oraz wiedzy technicznej (jak ktoś miał do czynienia z systemami Linuks to trochę mniej nerwów będzie go to kosztować). Dodatkowo oczywiście niezbędny telefon Era G1 (ja robiłem akurat na takim roota więc to co piszę tyczy się ściśle tej wersji G1), karta SD, która pozwala na zrobienie z niej goldcard (ta z zestawu Era G1 jest ok). Linuks, w moim przypadku Live CD Ubuntu (próbowałem robić goldcard pod OS X, niby wszystko ok, ale finalnie nie poszło, pewnie coś źle robiłem). Lektura dwóch stron w moim przypadku była podstawą. Poniżej linki i wskazówki:
  1. Jak utworzyć goldcard - Poradnik dla żółtodziobów ;) z forum MyDroid.pl. (Link1)
  2. Strona Wiki forum Android.com.pl. (Link2)
Robimy Goldcard z karty dostarczonej z Era G1.

Więc zaczynamy, najszybszym i chyba najmniej problemowym sposobem, na uzyskanie obrazu "złotej karty" jest skorzystanie z programu Grzegorza Madajczaka CIDConventer. Nie będę tu opisywał całego procesu, gdyż świetnie jest to opisane w linku 1. Kolejnym krokiem jest wgranie tego obrazu na naszą kartę SD. Tutaj polecam natomiast link2, gdyż naprawdę bardzo szczegółowo jest ten etap opisany, ciężko jest coś zepsuć. Jeśli mamy ten etap za sobą, to teraz kwestia tylko, czy będzie działać a to się okaże przy próbie wgrania pierwszego romu.

Pierwszy ROM, czyli downgrade.


Aby "zrobić roota" potrzebujemy starego romu, który posiada lukę w zabezpieczeniach. Ta luka pozwala właśnie na przeprowadzenie tego procesu. Potrzebujemy obraz ROM wersji RC29 (RC7 u mnie nie chciał się wgrać), tutaj do ściągnięcia. Proces opisany świetnie na wiki z linku2 jako krok 3. Kilka uwag to tego opisu, jak już się nam uda wgrać nowy ROM, telefon się restartuje, nasze dane są wyczyszczone, więc aby się zalogować trzeba zalogować się na konto google itd. Wszystko git, ale najpierw trzeba wpisać nasz APN z ery, gdyż standardowo w tym starym ROM'ie go nie ma. W okienku gdzie mamy formularz, wciskamy przycisk "Menu" i dodajemy APN. Pola potrzebne do działania internetu to "APN" - wartość "erainternet", "Login" - "erainternet", "Password" - "erainternet". Jak już mamy APN, wracamy do logowania i powinien nam się pokazać sygnał EDGE/3G w pasku powiadomień.

Flaszowanie nowego recovery.img.


To jest kolejny krok w naszej drodze do "roota". Link2 bardzo szczegółowo opisuje ten proces, ale mam parę uwag. Instalujemy sobie z Android Market program telent i tu jest najciekawsze, czytałem kilka razy zdanie odnoszące się do odpalenia telnetd. Tak, trzeba zrobić dokładnie jak pisze autor, czyli na pulpicie wciskamy dwa razy Enter, piszemy "telnetd" i wciskamy enter nie patrząc na to co się dzieje na ekranie bo to jest nieistotne. Potem odpalamy program tlenet. Jak już wpiszemy wszystkie komendy, które trzeba i nie wyskoczy nam błąd, wchodzimy do recovery mode i sprawdzamy czy mamy odpowiednią wersję recovery. Aby wejść do recovery mode, wyłączamy telefon, następnie wciskamy Home + Power i na wykrzykniku,  Alt + literka "L".

Flashowanie SPL i Radia.


To jest następny krok, opis z linku2 krok 5 i 6. Dwie uwagi, przy flaszowaniu SPL, nie ma możliwości sprawdzenia sumy md5, gdyż wersja recovery, którą w tej chwili posiadamy nie ma opcji, przejścia do konsoli, więc pomijamy krok sprawdzania ("No risk no fun") i dajemy Alt+w a potem Alt+s (na wiki jest niestety błąd). Flash radia jest stosunkowo prosty i opis pod linkiem 2, jest ok. U mnie po flashu, telefon restartował się 2 razy, więc bez paniki, czekamy aż się uruchomi system. Wersję Radia sprawdzamy w bootloaderze i tylko tam, aby wyjść później z bootloadera, trzeba wyjąć baterię, z tego co wiem nie ma innego sposobu.


Flash wymarzonego ROMU, u mnie Cyanogen.


Pierwsza uwaga, na tym etapie nie można instalować romów z opartych na HERO, zresztą nie polecam do G1, są ładne, ale nie były tworzone z myślą o G1 i to widać w wydajności. Lista romów w tabelce porównawczej tutaj. Ja wybrałem Cyanogen w wersji stabilnej. Instalacja stosunkowo prosta, ściągamy najnowszy plik romu, dla bezpieczeństwa sprawdzamy sumę md5, jak ktoś nie chce to nie musi :) . Usuwamy wcześniej nagrane inne pliki z karty SD i wrzucamy nasz rom, zmieniamy jego nazwę na update.zip . Wyłączamy telefon, wchodzimy do recovery mode (Home + Power potem na wykrzykniku Alt+l) a następnie Alt+w (czyli wipe) i Alt+s (flashowanie), pamiętając by bateria w telefonie była naładowana na co najmniej 70%. Po zakończonym procesie flashowania, robimy restart (Home + Powrót), polecam 2 razy sprawdzić czy na pewno proces się skończył i wszystko jest ok. Jeśli gdzieś nie popełniliśmy błędu, telefon nam nie wypadł z ręki, bateria nie wybuchła to uruchomi się całkiem nowy system. Uwaga, pierwsze uruchomienie może trwać dłużej niż zazwyczaj, ale nie aż tak długo, warto spojrzeć na mieniący się napis "ANDROID" jeśli się zatrzyma i znowu będzie się mienił i telefon w nieskończoność będzie się uruchamiał to znaczy, że się zapętlił. Coś musiało pójść źle. W najlepszym wypadku, wejście do recovery mode i zrobienie wipe (Alt+w) pomorze. Problemem może być też uszkodzony system plików na karcie SD, wtedy należy wyjąć kratę, odpalić telefon bez niej i potem ją włożyć, sformatować i powinno być ok. Cyanogen automatycznie próbuje instalować aplikacje na karcie SD, jeśli wykryje drugą partycję ext2, ale to opiszę poniżej.

Aplikacje na karcie SD w Cyanogen


Jeśli chodzi o ten rom, to proces jest prosty i praktycznie automatyczny, jedyne co potrzebujemy to dobrze sformatowana karta SD. Ja do tego procesu wykorzystałem Ubuntu Live i gparted (chyba go nie ma w menu, ale z konsoli można uruchomić, "sudo gparted /dev/sdb" i po sprawie (sdb w moim przypadku, warto sprawdzić jak się zgłasza karta sd w logu, "sudo dmesg"). Zakładamy pierwszą partycję fat32 i dajemy aby wykonał zmiany. Potem zakładamy drugą partycję, ext2 i też dajmy, aby dokonał zmian. Jeśli cały proces przebiegł bez komunikatów o błędzie to możemy wyjść z gparted. Jeszcze trzeba ustawić pierwszą partycję fat32 jako "bootable", nie wiem czy to jest konieczne, ale nie szkodzi zrobić. Najprościej skorzystać z cfdisk, czyli u mnie to było "cfdisk /dev/sdb", potem na partycji fat32 ustawiamy "bootable" - opcja z menu na dole, dajemy "write", program zapyta czy na pewno, wpisujemy "yes" i wychodzimy z programu. Jak mamy tak przygotowaną kartę, robimy restart telefonu. Cyanogen powinien zrobić co trzeba by przenieść aplikacje na kartę SD i porobić dowiązania.

Zakończenie.


Mam nadzieję, że tak jak u mnie zakończenie u każdego szczęśliwe i bez problemowe. Powyższy tekst nie jest ani szczegółowym poradnikiem, ani nie pretenduje to tego typu tekstu. Po prostu zebrałem moje uwagi z całego procesu i postanowiłem się nimi podzielić. Polecam wymienione przeze mnie linki jako źródła, a także forum.android.com.pl, bez którego musiałbym się przegryzać przez zagraniczne tutoriale. Polecam, już po całym procesie zrobić update recovery do Cyan Recovery 1.4, genialna sprawa, dużo łatwiejszy w obsłudze, konsola, do tego narzędzia do naprawy partycji, nandroid itd... (opis instalacji jest w linku2).
Jeśli chodzi o funkcjonalność to est parę ciekawych usprawnień, przede wszystkim w pracy systemu, ale są także, dodatkowe aplikacje np: IM - klient AIM, Yahoo, MSN, czytnik PDF (tego mi naprawdę brakowało), Google Voice Search, czy HTC Camera (stanowczo tak powinien wyglądać program do fotek i wideo w standardowej dystrybucji). Ciekawostką jest, iż w Android Market, znalazłem aplikację do automatycznej aktualizacji romu Cyanogen przez wifi, jak widać Google, średnio się przejmuje hackowanymi telefonami.

Linki:

1. http://mydroid.pl/
2. http://wiki.android.com.pl/
3. http://www.cyanogenmod.com/

dodajdo

5 komentarze:

  1. Świetnie, że się udało, a co do Google, to się nie martwią, bo nie mają potrzeby i tak będziesz korzystać z ich aplikacji i płatnego marketu (jak u nas uruchomią:))

    OdpowiedzUsuń
  2. Ano, mając roota możesz zainstalować Market Enabler :) więc płatne też będziesz mógł kupić. Zapomniałem o tym w sumie napisać. Dla niektórych, jest to jeden z ważnych powodów do zrobienia roota, bo potrzebują jakiejś płatnej aplikacji, a nie uśmiecha im się instalować jej z nieznanego źródła.

    OdpowiedzUsuń
  3. Chyba nie trzeba za każdym razem robić wipe'a ?

    OdpowiedzUsuń
  4. Hmm, tego nie wiem, ale chyba nie, dopiero jeśli jest problem, można go zrobić. Tak czy inaczej, aplikacje Ci zostają zainstalowane. Ustawienia biurek można zrobić backup jakimś softem.

    OdpowiedzUsuń
  5. Komentarze do tego artykułu na Flaker.pl, mogą się przydać komuś, link poniżej:
    http://flaker.pl/f/2341375-era-g1-goldcard-root-i-tak-dalej-czyli-hakujemy

    OdpowiedzUsuń