Razbijmo androida

Objavljeno: 26.10.2010 | Avtor: Zdravko Vital | Kategorija: Dosje | Revija: Oktober 2010 | Teme: android

Pametni telefoni s sistemom Android so vse bolj razširjeni, kar je posledica izjemno hitrega tempa razvoja podlage. Zaradi odprtokodne narave osnovnega sistema pa je mogoče najti tudi številne prilagojene različice sistema.

O odprtosti samega Androida je bilo prelitega že veliko črnila. Ne glede na vse še vedno velja, da je osnovni sistem na voljo v povsem prosti kodi (večinoma z liberalnimi dovoljenji GPL, BSD in Apache), ki jo Google dokaj ažurno, kmalu po predstavitvi novosti sistema, tudi objavi v javnih skladiščih kode projekta AOSP (Android Open Source Project - source.android.com). Enako se je zgodilo tudi s trenutno aktualno različico 2.2 ("FroYo"), ki sta jo kmalu po predstavitvi letošnjega maja pospremila najprej posodobljen razvojni komplet (SDK), za tem pa še objavljena koda sistema.

Vendar sama odprtost sistema še ne pomeni, da lahko na našo napravo kar tako namestimo posodobljen operacijski sistem. Prva ovira je radijski del sistema, ki krmili drugo, uporabnikom pogosto neznano stran mobilnih komunikacijskih naprav, ki se ukvarja z radijskimi zvezami in skrbi za nemoteno komunikacijo. Ta del ("baseband") je navadno povsem ločena programska oprema, razvita za ustrezni nabor vezij, vgrajenih v napravo. Številne storitve Androida se opirajo na ustrezno podporo v radijskem delu. Druga ovira so dodatni gonilniki za specifično strojno opremo, ki je vgrajena v našo napravo, goli Android pa je ne podpira. Tak zgled je npr. sprejemnik za radijske postaje FM, ki je vgrajen v HTC Desire, enako čipovje pa ima tudi Nexus One, vendar uradnega gonilnika zanj (še) ni. Naslednja ovira med odprtokodnim Androidom in vsemi sposobnostmi naše naprave so temeljni Googlovi programi, kot so Tržnica, Gmail, Zemljevid in drugi. Ti niso na voljo v odprti kodi in jih za napravo ustrezno pripravijo ali izdelovalec strojne opreme ali operater, ki napravo prodaja. Operaterji v sistemsko programsko opremo praviloma dodajo še lastne aplikacije ali prilagodijo stare. Vse večja ovira pa je zadnje čase tudi nepripravljenost izdelovalcev ali operaterjev, da bi sploh dovolili poseganje v sistemsko programsko opremo. Večinoma je pod pretvezo zaščite uporabnikov na sodobnih napravah vse več zaščitnih mehanizmov, ki otežujejo, včasih celo povsem onemogočajo zamenjavo programske opreme. Prve naprave z Androidom, kot je HTC G1 ali z Googlove strani določeni razvojni telefoni, kot sta Motorola Droid ali Nexus One, ne poznajo posebnih zaščit. Sodobne, široki javnosti namenjene naprave, kot sta Motorolina Milestone in Droid X ali HTC Desire, pa kar tekmujejo, katera bo bolj zaprla svoj sistem pred "nepooblaščenim" posegom.

Skratka - odprtokodna narava Androida še ne pomeni, da bomo zlahka menjavali sistemsko programje. Vsekakor pa takšne posege vsaj omogoča, predvsem nadvse spretnim hekerjem, ki pa te postopke sčasoma tako zelo olajšajo, da so uporabni tudi sleherniku.

Hekerji so z UnrEVOked do skrajnosti poenostavili odklepanje sodobnih naprav HTC z Androidom.

Hekerji robota

Seveda pa vse večja priljubljenost sistemov z Androidom prinaša tudi potrebno kritično maso uporabnikov, ki odpirajo zaščitene poti do nadgradnje sistemov. Zakaj sploh nadgraditi svoj sistem? Osnovni razlog je izboljšanje delovanja, saj so novosti precej hitreje na voljo v AOSP, kot pa jih uspe izdelovalcem in operaterjem pripraviti za napravo, ustrezno testirati in po tem še distribuirati prek sistema za samodejno nadgradnjo (OTA - Over The Air update). Aktualni sistem FroYo je tipičen primer, saj je bil po predstavitvi zelo hitro na voljo za Nexus One, nezaščiten telefon, ki uporablja neprilagojen Android z dodanimi Googlovimi programi. Vsi drugi sistemi izdatno zamujajo in bodo šele v teh ali poznih jesenskih dneh dobili ustrezno nadgradnjo, če sploh. Nekatere starejše naprave so (neupravičeno) proglašene za ne dovolj zmogljive in nadgradnje sploh ne bodo dočakale. Glede na to, da je hekerju Cyanogenu uspelo ključne novosti FroYo spraviti celo na prvi sistem z Androidom, prej omenjeni G1, si o tem lahko mislimo svoje. Še nekaj - po izkušnjah v našem uredništvu je bil Desire neprimerno stabilnejši in je deloval z manj težavami s prilagojeno programsko opremo kot pa s HTC Sense za Android 2.1, s katerim je bil izvirno opremljen.

Steve Kondik, bolj znan kot Cyanogen, je med najbolj znanimi hekerji, ki skrbijo za reden pritok novosti v odprtokodno različico Androida, ki je, začinjena s številnimi dodatki, znana pod imenom Cyanogenmod (CM). Priljubljenost njegove različice je povzročila celo grožnjo Googla, ki je zahteval umik dodatnih programov iz paketa in to je Steve nazadnje tudi storil. Uporabniki CM morajo tako s posebnim paketom dodatno nameščati programe, kot so Tržnica in Zemljevid. Poleg tega je Steve zelo previden, kar zadeva odklepanje naprav, in CM ponuja le za nezaščitene, "razvojne" telefone, kot sta G1/Dream ali Nexus One. Po drugi strani pa je tudi sam CM odprt projekt, ki ga preostalim napravam, kot sta Droid ali Desire, prilagajajo drugi hekerji.

Ne glede na vse je prvi korak pri morebitni nadgradnji programske opreme pametnega telefona odstranjevanje zaščite in nalaganje prilagojenega sistema za obnavljanje (recovery), ki omogoča kasnejše menjavanje sistemskega programja. Po domače - "rootanje". V nadaljevanju bomo predstavili enostaven postopek za nadgradnjo telefona HTC Desire, ki pa je kljub temu lahko nevaren. Vsako nepooblaščeno poseganje v (četudi le programsko) drobovje telefona bo skoraj gotovo razveljavilo garancijo, lahko pa pusti tudi nezaželene posledice, v skrajnem primeru popolno odpoved delovanja naprave, brez možnosti popravila (brick). Pisec teh vrstic in revija, v kateri so objavljene, ne prevzemata nikakršne odgovornosti za morebitne posledice. Toliko v opozorilo.

Odpiranje HTC Desire

Podjetje HTC, ki ponuja številne naprave z Androidom, je sprva dopuščalo preprost poseg v sistem, nove naprave pa so že precej dobro zaščitene pred njim. HTC Desire je telefon, strojno nadvse podoben odprtemu Nexus One, ki pa ima več zaščitnih mehanizmov, ki jih je bilo razmeroma težko zaobiti, dokler se ni pojavil programček "UnrEVOked", ki lahko uspešno odklene HTCjeve naprave Desire, Evo 4G, Incredible, Aria in Eris (nekatere med njimi so naprodaj le onstran luže). Postopek je nadvse preprost. Obiščemo spletno stran unrevoked.com, izberemo našo napravo in operacijski sistem osebnega računalnika, za katerega lahko prenesemo programček za odklepanje, na voljo je za Okna, Linux in Mac OS. Potrebovali bomo še kabel USB za povezavo telefona z računalnikom (navadno je priložen napravi) in ustrezne gonilnike. Za Okna si jih zagotovimo z namestitvijo zadnje različice programa HTC Sync, ki omogoča izmenjavo podatkov med telefonom in osebnim računalnikom. Lahko uporabimo tudi katero od sodobnih distribucij Linuxa, ki jo zgolj za ta namen naložimo s CDja ali ključka USB, ustrezne gonilnike pa navadno že ima (tak je npr. Slax, www.slax.org).

Na napravi moramo nujno omogočiti razhroščevanje skozi USB. Najprej deaktiviramo poziv ob priklopu USB:

Settings | Connect to PC | Default connection type | Disk drive,

kjer izklopimo stikalo Ask Me.

Zatem izberemo

Settings | Applications | Development,

kjer vključimo stikalo

USB Debugging.

Ko telefon in osebni računalnik povežemo s kablom USB, mora slednji prepoznati napravo, telefon pa bo v vrstici za obveščanje zgoraj z ikono opozarjal, da je v načinu razhroščevanja.

Odklepanje moramo v Oknih pognati s polnimi pravicami. Če uporabljamo Visto ali Okna 7, ikono programa reflash.exe kliknemo z desno tipko in izberemo Run as Admin, v Oknih XP zgolj poskrbimo, da smo prijavljeni kot administrator. Ko poženemo programček za odklepanje, bo ta vse storil sam, pustimo mu čas, da naredi vse potrebno (največ nekaj minut). Ne le, da bo telefonu odstranil zaščito, namestil bo tudi posebno različico sistema za obnavljanje, ki nam omogoča poljubno zamenjavo sistemske programske opreme, pa tudi izdelovanje in kasnejšo uporabo zaščitnih kopij sistema, kar je neprecenljivo pri morebitni neuspešni nadgradnji. Telefon se bo po opravljenem posegu "zbudil" v obnovitvenem načinu, ki nam omogoča izdelavo zaščitne kopije sistema in namestitev prilagojenega programja. Izdelavo zaščitne kopije na kartico SD vsekakor priporočamo.

OpenDesire lahko, tudi avtomatsko, nadgrajujemo kar brezžično.

OpenDesire je poln drobnih izboljšav, med drugim omogoča nove načine varčevanja z energijo.

V obnovitvenem načinu uporabljamo posebno prilagoditev "ClockworkMod Recovery", v kateri lahko med možnostmi izbiramo bodisi s sledilno tipko na sredini spodaj ali s tipkama za glasnost na levi strani naprave. Izbrano možnost potrdimo s pritiskom sledilne tipke. Za rezervno kopijo izberemo možnost nandroid, prikaže se naslednji menu, na katerem bo izbira Backup takoj začela shranjevati celoten sistemski pomnilnik na kartico SD. Tako shranjeno kopijo lahko prek istega menuja, a z izbiro Recovery, kasneje obnovimo na napravi. Če imamo rezervnih kopij več, lahko izberemo Advanced Restore in določimo želeno kopijo za obnovo.

S tipko "nazaj" se vrnemo na izhodiščni menu, kjer z možnostjo reboot system now spet zaženemo telefon v običajnem načinu. To nam odpre od prej znani sistem, toda z na novo pridobljenim polnim dostopom (root access), ki nam omogoča izvajanje prej nedostopnih sistemskih klicev. Tako lahko uporabljamo programe, kot sta ShootMe za izdelavo zaslonskih slik ali Titanium Backup, ki lahko varno shrani vse nastavitve sistema in nameščene programe. Slednji program nadvse toplo priporočamo v polni različici (kupimo jo z donacijo razvijalcu), saj nam lahko obnovi skoraj vse nastavitve sistema in nameščene programe, tudi če menjamo temeljno programsko opremo.

Jedro je v toliko spremenjeno, da omogoča tudi precejšnje "friziranje" procesorja (iz 1 GHz na 1,3 GHz). Pri tem moram imeti malce sreče, kajti telefon lahko s tem postane izredno nestabilen.

Obnovitveni način (Recovery) odklenjene naprave omogoča nameščanje alternativnega programja in uporabo rezervnih kopij sistema.

Alternativni sistemi

Odklenjena naprava je nared za nameščanje poljubne alternativne različice sistema. Za HTC Desire sta trenutno najboljši možnosti "neuradni" CM (Desire ni neposredno podprt, temveč CM prenaša druga skupina hekerjev) ali pa OpenDesire (OD), ki ga priporočamo tudi mi. Nobena ne podpira HTCjevih dodatkov Sense in je zelo podobna "golemu" Androidu. OD je izvrstna izbira, saj ponuja zadnjo različico Androida 2.2 (FroYo) z vsemi Googlovimi programi in številnimi dodatnimi izboljšavami, tudi iz CM, ki omogočajo hitrejše delovanje in več prostega pomnilnika (nameščanje vseh programov neposredno na kartico SD), med drugim pa vsebuje tudi zvijačo, ki za delovanje zaslona porabi kar pol manj energije (prikaz pa je samo v rdečih odtenkih), in datoteko hosts, ki blokira številne oglasne strežnike. Omislimo si lahko tudi pohitritev vgrajenega procesorja in dodatne varčevalne prijeme.

Za pravilno delovanje moramo najprej posodobiti radijski del, potem namestiti osnovni paket OD, nanj pa še katerega od dodatkov, kot so npr. zemljevidi Brut (ki podpirajo odlično Googlovo navigacijo tudi onkraj meja ZDA, tudi pri nas). Na srečo lahko vse nadgradnje prenesemo na kartico SD hkrati in jih potem namestimo drugo za drugo. Forum s podrobnim opisom najdemo na naslovu

forum.xda-developers.com/showthread.php?t=768624.

Za kakršnokoli nameščanje moramo napravo znova zbuditi v obnovitvenem načinu. Izklopimo jo, nato pa držimo tipko za zmanjšanje glasnosti na levi strani ("-") in, ne da bi jo izpustili, napravo vklopimo. Naprava se zbudi v posebnem načinu, kjer lahko preberemo različice programja. Bodimo pozorni na peto vrstico, kjer je ob besedi RADIO navedena različica radijskega programja. Mora biti različice 5 (npr. 5.09.00.08). Če ni, bomo potrebovali ustrezno nadgradnjo. S tipkama za glasnost izberemo želeno izbiro, v našem primeru RECOVERY, in jo potrdimo s tipko za vklop. Tako se bo telefon znova znašel v obnovitvenem načinu.

Potrebne datoteke lahko najdemo tu:

  • "radio" 5.10.05.23: www.monitor.si/OpenDesire_radio
  • OpenDesire 4.0.15: www.monitor.si/OpenDesire
  • Brut maps: www.monitor.si/maps-brut
  • Najbolje bo, če vse datoteke prenesemo v osnovno mapo kartice SD, potem pa jih skozi obnovitev namestimo na telefonu ob pomoči izbire

    install zip from sdcard

    in zatem

    choose zip from sdcard.

    Zahtevani vrsti red je: najprej radio (če ga potrebujemo), njegova namestitev je daljša in obsega dva vnovična zagona, ki se bosta izvedla samodejno. Zatem vnovični zagon, ugašanje in zagon v obnovitvenem načinu, potem nameščanje OD 4.0.10 in, če želimo, brez vnovičnega zagona še Brut maps. Še en zagon in pred nami bo osvežena naprava, ki bo delovala hitro in zanesljivo. Nekoliko udobneje lahko vse to postorimo tudi s programom ROM Manager, ki ga dobimo v tržnici.

    Še za konec - najnovejša različica Unrevoked, 3.2, preizkušeno deluje tudi na telefonih s HTCjevim Androidom 2.2.

    Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
    Prijava

    ph

    Komentirajo lahko le prijavljeni uporabniki