Wszelkie modyfikacja telefonu mogą skutkować:
- utratą gwarancji
- zawsze jest szansa, że telefon przestanie działać
Także cokolwiek robisz z telefonem robisz to na własną odpowiedzialność. Jak się nie uda, trudno, nic na to nie poradzę.
Proponuję przed przystąpieniem do modyfikacji telefonu dokładnie przeczytać cały artykuł, łącznie z linkami które są w nim podane.
Podczas wyjazdu urlopowego pojawił mi się poważny problem – brak dostępu do Internetu. W hotelu nie ma, po kawiarenkach (nawet jakbym jakieś znalazł) biegać nie mam zamiaru. Oczywiście, od czego jest telefon, wystarczy podpiąć do komputera, skorzystać z porad umieszczonych w tym artykule Dostęp do Internetu za pomocą HTC G1 z systemem Android (Proxoid) i powinno działać.
Niestety, coś się zepsuło. Połączenie między moim komputerem a telefonem przy użyciu kabla USB ciągle jest restartowane, adb
bez przerwy przestaje nasłuchiwać na wybranych portach, jednym słowem do pracy się to nie nadaje. Wymiana kabla USB nie przyniosła żadnych pozytywnych rezultatów…
Pozostało więc wymyśleć inną metodę udostępnienia połączenia internetowego, najlepiej przy użyciu sieci bezprzewodowej. A do tego potrzeb zrootowanego telefonu (czyli dostępu do użytkownika root
).
Ponieważ „włamywanie” się do telefonu i uzyskanie dostępu do użytkownika uprzywilejowanego w praktyce sprowadza się do instalacji raz starej wersji systemu operacyjnego (posiadającej odpowiednie dziury w zabezpieczeniach) a następnie instalacji wersji docelowej, więc za jednym zamachem postanowiłem zaktualizować system Androida do wersji 2.1 w wydaniu CyanogenMod w wersjo 5.0.8. Wersje nowsze niestety ciągle znajdowały się w fazie beta.
Uzyskanie konta root
Uzyskanie dostępu konta root
daje szereg dodatkowych możliwości, te istotne z mojego punktu widzenia:
- możliwość instalacji aplikacji wymagających do swojego działania użytkownika uprzywilejowanego (czyli np. udostępnienie połączenia internetowego poprzez sieć bezprzewodową)
- możliwość instalacji nowych wersji systemu Andorid (nawet jeżeli oficjalnie nie są dostępne na danym telefonie)
- możliwość tworzenie pełnej kopii bezpieczeństwa systemu
- instalacja aplikacji na karcie SD (ważne w przypadku G1, który nie dysponuje szczególnie duża ilością pamięci)
Więcej informacji można znaleźć w tym artykule: Rooting Q&A.
Proces uzyskiwania użytkownika root
sprowadza się do kilku kroków:
- Instalacji starej wersji systemu.
- Wykorzystanie błędów w systemie w celu uzyskanie użytkownika
roo
. - Aktualizacja poszczególnych komponentów systemu i instalacja nowej wersji systemu operacyjnego
- Ponowna konfiguracja telefonu
Wygenerowanie pliku goldcard.img
Posiadam telefon HTC G1 wydany przez Erę z wersją Andorida 1.6. Musze w związku z czym zainstalować na nim starą wersję systemu operacyjnego (bodajże 1.1), ale w przypadku telefonów od Ery wymaga to odpowiedniego przygotowania karty SD. Więcej informacji na ten temat (w szczególności dla osób nie używających Linuksa) można znaleźć w tym artykule: ROOT dla HTC G1 – goldcard.
Najpierw należy wygenerować plik golden.img
:
- Odczytanie zawartości pliku
/sys/class/mmc_host/mmc1/mmc1:*/cid
.
W pliku tym znajduje się numer karty SD. Można to zrobić w następujący sposób:- użyć jakiegoś zarządce plików i odczytać ten plik
- użyć aplikację o nazwie
CIDConverter
, która odczyta numer i wykona na nim odpowiednie operacja (o nich za chwilę) - otworzyć konsolę i wykonać polecenie:
cat /sys/class/mmc_host/mmc1/mmc1:*/cid
Dwa pierwsze sposoby są omówione w powyższym artykule, ja natomiast skorzystałem z aplikacji
ConnectBot
– jest to klient SSH, ale posiada także możliwość otworzenia konsoli znajdującej się na telefonie. - Odczytany numer zapisać w formie liczb szesnastkowym, czyli podzielić go na pary znaków, powinien wyglądać tak:
11 22 33 44 55 66 77 88 99 00 aa bb cc dd ee ff
- Odwrócić kod:
ff ee dd cc bb aa 00 99 88 77 66 55 44 33 22 11
- Zamienić diwe pierwsze cyfry na zera i usunąć spacje:
00eeddccbbaa00998877665544332211
- Powyższy numer wkleić na stronie Free HTC android goldcard generator. Strona ta generuje wygeneruje potrzebny plik
golden.img
na podstawie powyższego numeru i wyśle go na podany adres e-mail.
Po otrzymani pliku należy go zapisać na karcie SD. W moim przypadku karta ta została wykryta jako urządzenie /dev/sdb
.
Wybranie złego urządzenia i wydanie poniższej komendy może doprowadzić do zniszczenia wszystkich danych na wskazanym urządzeniu, więc należ się upewnić, że plik zostanie zapisany we właściwym miejscu.
Nalezy wydać komendę:
Należy powyższe polecenie odpowiednio zmodyfikować podając ścieżkę do pliku golden.img
oraz nazwę urządzenia będącego kartą SD. należy zwrócić uwagę na to, że należy odwołać się do urządzenia, a nie partycji.
Jeżeli wszystko poszło OK, dysponujesz odpowiednio przygotowaną kartą SD.
Downgrade systemu operacyjnego
Czas teraz na instalajce dziurawej, starej wersji systemu operacyjnego Android. Do wyboru są dwie, o nazwach RC7 oraz RC29. Wersja RC7 jest przeznaczona dla telefonów z Wielkiej Brytanii, natomiast wersja RC27 na telefonów ze USA. Ja korzystałem z wersji RC7.
Instalowana wersja pozwala na wykonywania dowolnych poleceń z uprawnieniami użytkownika root
(cokolwiek będziemy pisali na klawiaturze, zostanie wykonane na konsoli z takimi uprawnieniami).
- Należy więc poprać odpowiedni plik archiwum i go rozkompresować.
- W wyniku powinniśmy otrzymać plik o nazwie
DREAIMG.nbh
. Proszę zwrócić uwagę na rozszerzenie, jest pisane małymi literami. W moim przypadku musiałem zmienić nazwę tego pliku (wielkość liter MA znaczenie). Następnie należy skopiować go na kartę SD, do jej głównego katalogu. - Należy teraz wyłączyć telefon i włączyć go ponownie trzymając wciśnięty przycisk kamery. Powinno pojawić się szare tło i kolejne komunikaty. Teraz należy wcisnąć klawisz
Action
(słuchawka) i rozpocząć instalację systemu.Jeżeli z jakiś powodów nie nie udało się rozpocząć instalacji, może to oznaczać że blednie został odczytany numer karty SD lub też wersja systemu nie działa z naszym telefonem. Można spróbować pobrać wersję RC27 i sprawdzić czy uda się uruchomić instalację. Mi się udało ten krok przejść bez problemów.
- Po zakończeniu kopiowania telefon powinien się zrestartować i kontynuować instalację. Jeżeli pojawi się menu z bootloadera, to trzeba będzie nacisnąć kombinację klawiszy
Home+Back
w celu restartu systemu. - Po uruchomieniu systemu należy skonfigurować dostęp do sieci internetowej oraz zarejestrować się.
Wczytanie nowej wersji pliku recovery.img
Teraz czas na magię, czyli na stałe uzyskanie dostępu do konta root
:
- Najpierw należy pobrać pliku recovery-RA-dream-v1.7.0-cyan.img i następnie zapisać go na karcie SD w głównym katalogu pod nazwą
recovery.img
. - Należy odszukać w markecie aplikację o nazwie telnet. Pozwoli ona na uruchomienie serwera
telnetd
i następnie podłączenie do niego - Teraz należy wykonać następujące polecenia:
- dwa razy nacisnąć klawisz
Enter
- wpisać na klawiaturze
telnetd
i nacisnąć klawsziEnter
(telefon wejdzie do książki telefonicznej, należy to zignorować), polecenie to spowoduje uruchomienie demona protokołu telnet
- dwa razy nacisnąć klawisz
- Teraz należy uruchomić aplikację
Telnet
i wybrać opcjęConnect to Serwer
. Spowoduje to uruchomienie klienta protokołu telnet, czyli dostaniemy dostęp do konsoli na uprawnienia użytkownikaroot
. - Teraz należy wprowadzić następujące polecenie:
1
2
3
4mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cd sdcard
flash_image recovery recovery.img
cat recovery.img > /system/recovery.imgPowinno to zainstalować plik
recovery.img
(pod warunkiem, że nie wyskoczy żaden błąd, w takim przypadku należy sprawdzić czy nie zostały popełnione jakieś literówki). - Czas na restart telefonu. Mój telefon po restarcie nie uruchomił się, zdaje się że jest to normalne działanie. Należy wyłączyć telefon i włączyć go ponownie trzymając wciśnięty klawisz
Home
. Pojawi się menu bootloadera w którym należy wybrać pozycjęWipe
i wyczyści system. Po tym kroku telefon powinien się uruchomić.
Po tych krokach powinniśmy dysponować już dostępem do konta uprzywilejowanego użytkownika i można przystąpić do instalacji docelowej wersji Androida.
Instalacja nowej wersji radia
Kolejnym elementem będzie instalacja nowej wersji radia. Tym razem na szczęście proces będzie już w miarę prosty:
- Należy pobrać najnowszą dostępną wersję radia, w moim przypadku jest to wersja 2.22.23.02
- Skopiować ją na kartę SD zmieniając nazwę na
update.zip
. - Uruchomić telefon w trybie
Recovery
(czyli nacinać klawiszHome
w momencie uruchamiania telefonu). - Z menu wybrać pozycję
Flash zip from sdcard
a następnie plikupdate.zip
. Potwierdzić chęć instalacji nowego pakietu. - Zrestartować telefon.
Po tych krokach na telefonie powinna znajdować się nowa wersja radia i telefon gotowy jest już do instalacji nowej wersji systemu operacyjnego Android.
#1 by sillber on 2011/03/15 - 21:01
Witam! jestem laikiem próbuje zainstalować sobie na G1 system 2.1 . Postępuje według wiki (http://wiki.android.com.pl/wiki/ROOT_dla_HTC_G1_-_goldcard ) dochodzę do instalacji RC7 lub RC29 obie mi normalnie starują pokazuje sie pasek i lecimy (jedyny wyjątek wszyscy piszą action i start instalacji u mnie wyskakuje power by wystartować. Wszystko się ładnie ładuje tele powinien sie zrestartować (tak piszą) u mnie każe wcisnąć action i nie reaguje po czym tło kolorowa tęcza 🙁 to nic po uruchomieniu telefonu (wyjecie baterii). Włącza sie i wyskakuje t-mobail później era i za nic nie mogę sie załogować do google (brak połączenia) co moge zrobic? Może gdzieś popełniłem błąd??
Łukasz Stelmach Reply:
Marzec 22nd, 2011 at 11:19
Ciężko mi powiedzieć do poszło nie tak. W moim przypadków problemów nie było żadnych, ale ryzyko pewne zawsze istnieje.