niedziela, 15 maja 2011

CM7 dla Milestone

Nie będę się chwalił ile zajęło mi wczoraj instalowanie najnowszego CM7 na Motorolę Milestone. Zupełnie też nie wiem czemu nie mogłem dzisiaj spać. Obudziłem się i pomyślałem, że napiszę ten artykuł, aby wyjaśnić starszemu pokoleniu jak można to zrobić; młodsi raczej nie potrzebują przewodników pisanych w tutejszym stylu.

Przejdźmy więc do rzeczy. Artykuł ten opisuje dość szczegółowo, w jaki sposób można zainstalować system operacyjny CyanogenMod (w skrócie CM) na telefonie Motorola Milestone.
Mimo tego tego, że w Internecie jest mnóstwo przewodników i porad jak to zrobić, postanowiłem napisać własny. Wydaje mi się, że powodem, dla którego spędziłem tyle czasu na instalację, którego nie podam, jest to, iż przewodniki te zawierały tylko kluczowe operacje o magicznych dla mnie nazwach, jak flashowanie romu, 3 x wipe lub nandroid backup. Pozwolę więc sobie podać dużo więcej szczegółów i istotnych informacji dla takich nieszczęśników, który nie kumają tak szybko, jak większość nastolatków, którzy piszą tego typu przewodniki.

W przeciwieństwie do moich poprzedników, nie będę tutaj umieszczał linków typu: tutaj jest paczka do wszystkiego, ściągnij ROM, pobierz flasha, itp., które nic czytelnikowi nie mówią, a nawet odstraszają każdego, kto odrobinę chciałby wiedzieć co i po co ma zostać pobrane na dysk. Co gorsze, gdy taki link przestanie działać, a często wczoraj miałem z tym do czynienia, to czytelnik kompletnie nie wie jak można obejść taki problem.

Krok 0. Podstawowe informacje.
Zanim przejdziesz do następnych kroków, muszę Cię powiadomić o tym, co zrozumiałem w każdym przewodniku. Mianowicie, iż operację zmiany systemu operacyjnego wykonujesz na własne ryzyko. W sieci jest mnóstwo wątków poświęconych problemom tych, którym to się nie udało. Pewnie domyślasz się już dlaczego. Przejdźmy więc dalej.

Oczywiście nie będę tutaj próbował zamieniać angielskich nazw na polskie odpowiedniki, bo przewodnik ten przestałby być czytelny. Tak musisz wiedzieć co to jest bootloader (pol. program ładujący się przy starcie telefonu, coś jakby BIOS w komputerze), czy backup (pol. kopia zapasowa).

Część 1.
Wiele źródeł opisujących instalację CM7 (wersja 7) opiera się na czymś, co nazywają OpenRecovery. Jest to program, za pomocą którego można np. zainstalować nowy system operacyjny, taki jak CM7. Jak to zrobić opisałem dopiero w części 2, gdyż okazuje się, że zanim uruchomisz OpenRecovery na sowim telefonie musisz najpierw wgrać nowy bootloader. Wielu nastolatków po prostu zapominało o tym powiadomić swojego czytelnika.

Ponieważ oryginalne oprogramowanie Motoroli ma jakoś zablokowany bootloader (program ładujący przy starcie) należy go najpierw odblokować. Dopiero wtedy będzie można załadować przy starcie telefonu takie programy jak OpenRecovery.

Aby odblokować bootloadera Motoroli, należy użyć oprogramowania od Motoroli :-), ale już nie od nich --- program bootloadera i to wcale nie jest śmieszne. Jak już wspomniałem wcześniej, bootloader w telefonie to coś jakby BIOS w komputerze. Aby wgrać nowy bootloader musisz zdobyć:
  • flash bootloadera (obraz programu ładującego, zwykle plik z rozszerzeniem sbf),
  • program, za pomocą którego wgrasz flash do telefonu.
To pierwsze można znaleźć w Internecie pod hasłem vulnerable flash milestone. Najbardziej zaufane źródło jest chyba tutaj: http://android.doshaska.net/rootable.
Drugie zaś wymaga czegoś, co może zniechęcić wielu, którzy obawiają się wirusów. Niestety program za pomocą którego wgrasz flash jest gotowym, wykonywalnym programem zarówno pod system Windows, jak i Linux. Ponieważ, gdy tylko pojawiają się obawy o wirusy, przechodzę pod system Windows, więc podam tutaj rozwiązanie dla użytkowników tego właśnie systemu. Ci drudzy nie powinni być na mnie źli, bo prawie każdy użytkownik Linuxa, ma gdzieś w domu również Windowsa. Program się nazywa RSDLite (produkt Motoroli) i nie mam pojęcia czy da się go zdobyć w legalny sposób. W wielu przewodnikach zauważyłem, że były jakieś problemy pod systemem Vista lub Win7. Ja miałem XP i niczego takiego nie zauważyłem. Może znów problemy te wzięły się z tego, że nie ma w sieci wielu przewodników takich, jak ten.
Na podanej wcześniej stronie, która wzbudziła moje zaufanie można pobrać pliki potrzebne do wykonania następujących czynności w celu wgrania nowego bootloadera. Zanim je podam, wiedz, że po ich wykonaniu z Twoim telefonem właściwie nic się nie stanie, tzn. system operacyjny Android i karta pamięci SD nie zmienią się wcale. Zmieni się tylko bootloader (coś jakby BIOS w komputerze). Oto czynności do wykonania:
  1. Pobierz program RSDLite 4.6; link znajdziesz tutaj.
  2. Pobierz plik flash (u mnie był to plik vulnerable_recovery_only_RAMDLD90_78.sbf); link również znajdziesz tutaj.
  3. Wyłącz swój telefon Motorola Milestone
  4. Wykonaj następujące czynności w celu uruchomienia telefonu w trybie bootloadera:
    • wysuń klawiaturę telefonu
    • wciśnij D-Pad do góry (w kierunku wyświetlacza) i przycisk Power, tzn. trzymając wciśnięty D-Pad włącz telefon
    • Powinien uruchomić się bootloader
  5. Podłącz telefon do komputera kablem USB.
  6. Włącz program RSDLite (wymagana wcześniejsza instalacja).
  7. Wybierz plik flash (rozszerzenie sbf) pobrany w kroku 2 i kliknij przycisk START.
  8. Zaczekaj troszkę (ok. 3 minuty), aż w programie RSDLite pojawi się słowo PASS w kolumnie "Status", albo "Progress" (nie pamiętam już).
    Nie zdziw się, gdy w tym czasie Twój telefon uruchomi się ponownie. Tak ma się stać.
Podsumowując, wgrałeś w ten sposób na partycję rozruchową nowy bootloader, który przyda się w części 3. Uwaga uruchamia się go w troszkę inny sposób, niż oryginalny bootloader od Motoroli. Instrukcję uruchamiania zobaczysz w części 3.

Część 2.
Wszystko, co skomplikowane jest już prawie za nami. Teraz pozostaje zająć się tym, co nazywają ROMami. ROM to nic innego, jak obraz systemu operacyjnego dla telefonu komórkowego; to coś jakby pliki *.iso dla Ubuntu. Aby jednak móc instalować różne ROMy (przepraszam), musisz mieć do tego odpowiedni program w swoim telefonie. Program ten będziesz musiał uruchomić w trybie bootloadera, gdyż z oczywistych powodów, pod działającym systemem Android nie można w tym czasie zainstalować nowego; choć kiedyś udało mi się to zrobić z Windowsem 98 :-). Najbardziej popularnym oprogramowanie do instalowania ROMów jest chyba OpenRecovery (od Androidiani), którego nazwa mówi, że służy on właściwie do czegoś innego. Można za jego pomocą wykonać wiele czynności archiwizujących oraz wspomniane magiczne czynności, jak: nandroid backup, czy 3 x wipe. Zaraz wyjaśnię.
Aby móc uruchomić program OpenRecovery na swoim telefonie, musisz go najpierw pobrać i zapisać na karcie SD w katalogu głównym:
  1. Na oficjalnej stronie androidiani-openrocevery znajdziesz dział "Downloads", gdzie można pobrać archiwum z programem (u mnie był to plik OpenRecovery-3_3.zip). Pobierz plik na swój komputer i go rozpakuj (plik oczywiście).
  2. Archiwum powinno zawierać dwie rzeczy: katalog OpenRecovery i plik update.zip. Wgraj je do katalogu głównego karty SD telefonu.
W ten sposób przygotowałeś sobie środowisko do uruchamiania OpenRecovery. Możesz spróbować zrobić to już teraz, ale jeszcze się wstrzymaj, bo nie masz jeszcze pliku ROM z nowym systemem operacyjnym Android.
Jak więc widzicie, trzeba było sporo napisać, aby móc mówić o tym, co nastolatkowie pisali w pierwszym zdaniu - CyanogenMod, a właściwie to jego siódma wersja, czyli CM7. Jest to obraz systemu operacyjnego, obecnie w wersji Android Gingerbread 2.3, działającego na jądrze Androida 2.2, bo nic lepszego na Motorolę Milestone na pewno się już nie ukaże :-( (sorry koledzy, to nie ja was namawiałem na ten telefon). Oficjalna wersja systemu operacyjnego dla Motoroli to Android 2.2, który tak naprawdę można było sobie legalnie zainstalować w Polsce mniej więcej miesiąc temu. Ja głupi oczywiście czekałem na tę wersję, bo nie wiedziałem jak zainstalować CM7.
Przejdźmy więc do pobrania CM7 na swój komputer. Oficjalna strona CyanogenMod podaje brak wsparcia dla modelu Milestone. Opiekują się natomiast modelem Droid --- jej amerykańskim odpowiednikiem. Niestety to, co podają dla Droida, nie działa dla Milestona. Należy więc korzystać z tego, co robią zasłużeni programiści, jak nadlabak. Jego profil na portalu github znajdziesz tutaj. To właśnie tam szukaj najnowszych wersji systemów operacyjnych do zainstalowania.
Pisząc ten przewodnik zauważyłem, że kilka godzin temu pojawił się właśnie najnowszy ROM:
Ja natomiast pobrałem wczoraj wersję 7.1.0 RC2.1 11.05.11 i na razie nie mam ochoty tego aktualizować. Wystarczy mi to co mam, a za jakiś czas, gdy trochę ochłonę, przejdę na nowszą wersję. Podsumowując
  1. Pobierz wybraną wersję CM7 (zob. linki powyżej) na swój komputer. Będzie to dość spory plik ZIP (ok. 97 MB).
  2. Skopiuj pobrane archiwum ZIP (nie rozpakowuj niczego) na kartę pamięci SD telefonu, do katalogu OpenRecovery/updates
Oprócz tego, należy (przynajmniej w pobranej przeze mnie wersji) jeszcze pobrać archiwum z aplikacjami Google. Zakładam, że chcesz używać Gmaila, Google Maps, itp. Z jakichś powodów (chyba licencyjnych) programista nadlabak tego nie umieszcza w swoich obrazach CM7. Musisz więc pobrać plik gapps-gb-xxxxxxxx-signed.zip, gdzie litery xxx oznaczają datę. Najbardziej zaufane źródło plików z aplikacjami gapps jest tutaj i tutaj. Na tej pierwszej stronie podają, że zaleca się do CM7 pobrać wersję z 7 marca, czyli plik gapps-gb-20110307-signed.zip, ja natomiast pobrałem wersję
która ma ponoć Google Talk w wersji z kamerą. Na razie tego nie testowałem, ale gdy zadzwoniłem do znajomego, to rzeczywiście włączyła się kamera :-).
Musisz więc wykonać:
  • Skopiuj archiwum gapps-gb-20110503-signed.zip do katalogu OpenRecovery/updates
Jak widzisz, to, co sobie wrzucisz do tego katalogu, będziesz mógł zainstalować w telefonie. Właśnie po to zrootowałeś (znów przepraszam za język) swój telefon.

Część 3.
W poprzedniej części przygotowałeś na karcie SD potrzebne oprogramowanie do instalacji nowego systemu operacyjnego. W skrócie były to:
  • OpenRecovery
  • CyanogenMod wer. 7 + aplikacje Google
Musisz teraz uruchomić telefon w trybie nowego bootloadera:
  • Wyłącz telefon (odłącz od niego kabel USB)
  • Wysuń klawiaturę.
  • Trzymając wciśnięty klawisz 'X' włącz telefon. Trzymaj wciśnięty klawisz 'X' dopóki nie pojawi się trójkąt
    Możesz już puścić klawisz 'X'. W wielu instrukcjach podano, że jeśli poniższy krok się nie udał, należy spróbować go wykonać z wciśniętym przyciskiem aparatu.
  • Następnie wciśnij przycisk Volume Up (głośności do góry) i trzymając go wciśniętego naciśnij przycisk aparatu. Powinien urumić się poniższy program. Możesz już puścić wszystkie przyciski (tylko nie upuść telefonu).
Wykonaj teraz czynność apply sdcard:update.zip. Możesz to zrobić używając wspomnianego D-Pada i przycisku OK (jako enter). W ten sposób powinien uruchomić się program OpenRecovery. To już prawie koniec. Teraz w jego menu poszukaj nandroid backup. Nie wiem co to robi, ale domyślam się, że coś archiwizuje. Może się to pewnie przydać, w razie gdyby podczas instalacji wystąpiły jakieś błędy. Ja wybrałem backup ALL i musiałem troszkę poczekać (ok. 5 minut).
Następnie poszukaj w menu słów WIPE. Te magiczne słowa wymażą Twoje ustawienia w telefonie. Jest to więc pierwsza operacja, z którą wiąże się utrata ustawień. WIPE przywróci ustawienia fabryczne Twojego telefonu. Twórcy CM7 proponują wykonać aż trzy rodzaje WIPEów. Nie pamiętam ich nazw, ale łatwo je odnaleźć w menu programu OpenRecovery. Można je wykonać w dowolnej kolejności.

A teraz instalacja nowego Androida. Wybierz w menu OpenRecovery Apply Update. Powinieneś wtedy zobaczyć zawartość tego, co wgrałeś do katalogu OpenRecovery/updates. Zainstaluj więc CM7 a następnie aplikacje Google. To pierwsze może trochę potrwać (ok 5 minut).

To wszystko. Wybierz w menu OpenRecovery "Reboot" i poczekaj, aż uruchomi się Twój nowy system Android 2.3.

Wiem, że przewodnik ten jest trochę rozwlekły, ale mam nadzieję, że komuś się to przydało.

Dodam raz jeszcze, że tego typu operacje zawsze niosą ze sobą jakieś ryzyko. Na przykład poprzez złe oprogramowanie może uszkodzić się Twój telefon. Często bowiem programiści domyślnie ustawiają parametry telefonu niezgodne z jego oficjalną specyfikacją. Chodzi mi tu np. o podkręcanie procesora, albo zmiana ustawień kamery. Dlatego zabawę taką najlepiej przeprowadzać na jakimś telefonie zastępczym, nie tym --- do codziennego użytku, na którym potrzebne są jedynie funkcje: zadzwoń/odbierz, wyślij/odbierz SMS/MMS/E-MAIL, działaj na baterii przez co najmniej 3 dni.
Jeśli chodzi o mnie, to akurat miałem tę swobodę, że gdy coś wybuchnie, to wciąż będę w sieci GSM.
Pozdrawiam

28 komentarzy:

Anonimowy pisze...

Dziękuję Rafale za ten łopatologiczny poradnik. Przydał się, właśnie czegoś takiego szukałem :) Pzdr - Leon07

Anonimowy pisze...

No kolego,świetna robota,pomogłeś! :)

Dźięki!!!

Anonimowy pisze...

I tak właśnie powinien wyglądać każdy tutorial! Strasznie irytujące są te posty ludzi, którzy uważają wszystko za takie oczywiste.

Chwała Ci za to : )

Anonimowy pisze...

Bootloader MM jest zablokowany, i nigdy nie dało się go odblokować - takie delikatne sprostowanie. :)

Anonimowy pisze...

Mam nadzieję, że robiąc to niczego nie zepsuje :D

Anonimowy pisze...

Moge to zrobic na android 2.1 pls odpowiedzcie

Anonimowy pisze...

Oczywiście, że możesz.

Anonimowy pisze...

Banyy88:
Rozumiem że po tym zabiegu mamy możliwość instalowania oficjalnych i nieoficjalnych dodatków do naszego telefonu?

roxy pisze...

Tak

Anonimowy pisze...

Banyy88:
dziękuje za poprzednią odpowiedź. Mam jeszcze takie pytanie. Czy w Motoroli Droid można przeprowodzić ten zabieg i czy dzięki temu będzie można korzystać z tego telefonu w Polsce?? Jest to amerykańska wersja telefonu, działa w sieci CDMA, a nie GSM, co w pokrótce oznacza, że w Polsce nie obsługuję sieci telefonicznej. Czekam na odpowiedź.

Anonimowy pisze...

Nic Ci nie powiem, bo sie nie znam. Droid to nie Milestone. Z tego co wiem, to oficjalne CyanogenMod wspiera Droida, a nie wspiera Milestone. Tak wiec, moj przewodnik nie jest Ci potrzebny.

--
roxy

Anonimowy pisze...

Mi w momencie tworzenia backupu zacina się na pozycji System : Dumping ... i dalej nic - trwa to już 15 minut i nic, więc nie wiem jak to dalej będzie z tym romowaniem

Pablo pisze...

Mam roblem po wgraniu cm7 pokazuje się ikona androida na desce i nie idzie dalej czsem dochodzi do wyboru języka i ponownie pokazuje ikone androida.Próbowałem cofać system do standardowego androida bo narazie kożystam z miui ale to nie pomaga starsza wersja systemu cm7 też po wgraniu mam te same objawy.

Anonimowy pisze...

No człowieku, kawał dobrej roboty,łopatologicznie i dlatego najlepiej! Ile ja czasu spędziłem, na próbach... a tu? pół godzinki i już CM7 jest:D Owacje na stojąco dla Ciebie xD

Anonimowy pisze...

Pablo
ja mam taki sam problem prosze napisz mi czy udalo ci sie go jakos rozwiazac:D

Anonimowy pisze...

Prosze pomuszcie mi nie wiem co mam zrobić;/ to chyba nic powaznego co nie?

Pregus pisze...

Wszystko ładnie cacy :D
dla przyszłych aby nie szukali tutaj pełen spis aktualizacji CM7. Może niech właściciel blogu rozważy umieszczenie w instrukcji :)

https://github.com/nadlabak/android/downloads

Anonimowy pisze...

A mogę to zrobić na Androidzie 2.2 zwykłym i z rootem zrobionym przez program typu OneTap?.

Anonimowy pisze...

Mogę to zrobić na Androidzie 2.2 i z rootem zrobionym programem Universal Androot?.

Anonimowy pisze...

Dzięki :D. Tyle czasu bałem się tego instalować, ale teraz?. 15 minut roboty i CM7 jest ;D.

Anonimowy pisze...

wielkie dzięki udało się nawet po 3 piwach :)))))))))

Anonimowy pisze...

A czy po wgraniu juz rom'u, można z karty SD usunąć wszystkie pliki i foldery???

Anonimowy pisze...

Witam!Rafale, a może by taki opisik na GALAXY NEXUS I9250?!
Z góry THX

Łukasz Raz pisze...

hej Rafał,z tej strony Łukasz..słuchaj,mam prośbę,wczoraj wpadła mi w ręce motorolka milestone,chcę ja zrootować.Pomógbyś mi na przykład poprzez skype? Wiesz,pokazałbym w kamerze postępy a Ty byś mówił czy jest ok. ???

Mateusz Ćwirko pisze...

Panie Rafale, jest Pan wielki:). Przyznam, że zanim znalazłem Pana blog to byłem na innych stronach - na prawie każdej był opis wgrywania ROMu podzielony na kilka punktów po jednym zdaniu każde.
Takiego poradnika jak tutaj właśnie szukałem - wytłumaczone dokładnie punkt po punkcie co i jak zrobić, wręcz w sposób łopatologiczny, ale bardzo przydatny.
Dzięki Panu wgrałem ROM CyanogenMod7 2.3.7 Gingerbread (posiłkując się również trochę stroną z ROMem).
Jeszcze raz ogromne dzięki za trud jaki Pan włożył w pisanie tego poradnika, oby więcej takich pojawiało się w sieci:).
Pozdrawiam,
Mateusz Ćwirko

Qki_czw pisze...

Dzięki Rafał za instrukcje:) Jest łopatologiczna i taka właśnie powinna być czyli prosta jak tylko się da. Przed chwilą wgrałem Cyanogenmod`a (wersja 7.2.4d)i moja Motorola dostała drugie życie.

Dzięki wielkie:)

Bartek Strzeboński pisze...

dochodzę do pkt 5 części 1 i niestety tutaj się zatrzymuję, ponieważ system nie mogę zainstalować sterowników do tak włączonego telefonu. szukałem w Google i znalazłem że może wystarczać zmiana portu, ale niestety nic to nie dało
co mam zrobić?

Anonimowy pisze...

Dzieki Ci wielkie pomogło a jestem 2 dniowy uzytkownikiem;) Polecam amatorom;)