HTML

Linux admin hogyanok

Köszöntelek a Linux admin hogyanok blogomon! Munkám során, sok saját jegyzetet készítek, hogy visszakeresve könnyebben menjen legközelebb. Arra gondoltam, ezt meg is osztom, hátha másoknak is segítségére válik. Enjoy! :)

Friss topikok

  • bAndie91: volumeDown+middle+Hangup kombinációval sikerült "Downloading" módba boot-olni (gondolom egyenlõ a ... (2011.02.18. 12:41) Android update (HTC magic 1.6-2.1)

Linkblog

Android update (HTC magic 1.6-2.1)

burgerrecords 2010.10.06. 11:27

Az android a mai mobil világban szélsebesen terjed, lényegében egy linux kernelre épülő mobil operációs rendszer. Ebben a kis értekezésben, feltörünk (rootolunk) egy HTC magic-et, majd megnézzük, milyen ügyességeket lehet vele így csinálni. A bejegyzés konkrétan HTC magic alapján készült, a módszer nagyjából megegyezik az összes HTC modelnél, maximum a titkos menüket más gombkombinációkkal érhetjük el és ROM frissítéskor figyelni kell, hogy jó verziót töltsünk le hozzá. Jelenleg az android a 2.2-es (froyo) verziónál tart, de sok telefont a mai napig 1.6-ossal árulnak és ezt szeretnénk mi update-elni.
Van ugye a hivatalos update, de azt hagyjuk meg a windows és mac user csajoknak :D. A mi módszerünk a rootolás, aztán tetszőleges ROM feltöltése a telóra. Figyelem: A lent leirt módszer, garanciavesztéshez vezethet, és a nem megfelelő működésért a linuxadmin szerkesztősége nem vállal garanciát!!

A módszer esetenként eltérő lehet, de az alapmódszer az összesnél ugyanez. Szükségünk lesz egy HTC telóra (esetünkben ez HTC magic), egy számítógépre (esetünkben ez ubuntu linux 10.04) valamint egy kis Android SDK-ra (bár enélkül is megoldható, de így linuxadminosabb :)

Töltsük le az Android SDK-t és a fastboot-ot. A telepítés linuxon nagyon egyszerű, kicsomagoljuk majd pedig mint egy szkript(./adb)  futtatjuk a különböző kis utilytiket. Mivel ez egy fejlesztői környezet, amit letöltöttünk, mi pedig csak kicsit hekkelni akarjuk a telónk, sok mindenre nem lesz szükség."adb" és "fastboot"-tal be is érjük. Ha azt szeretnénk, hogy ne kelljen a könyvtárba menni, hanem a parancsokat elérjük bármikor, rakjuk be a PATH-ba.

$vi /etc/bash.bashrc
export PATH=/home/burg/android/android-sdk-linux_x86/tools:$PATH

Először is root-olnunk kell a telót, hogy bármi "extrát" csinálhassunk vele, ami megfelel az iphone jailbrakelésével. Persze míg azt büntetik, ezt támogatják, de ugye ez már más téma :) Valójában arról van szó, hogy root jogosultságot kapsz a telódhoz, ami alapból nincs benne. Bár mint ahogy írtam, ez garanciavesztéssel járhat, de ha nem bánod, megéri a dolog, egyrészt szabadon cserélgetheted a ROM-okat rajta, amiből lelkes programozók rengeteget csinálnak nap mint nap, nagy eséllyel találsz valamit, amit az igényeidhez vannak szabva. Másrészt az Android marketen is sok okos alkalmazás igényli a root jogosultságot a működéséhez.

Tehat rootoljunk.
1, Usb-vel kössük a telefont a gépre, majd pedig a telefonon állítsuk be a következőt: settings->applications->development->"USB Debugging"

2, Ellenőrizzük, hogy a gép felismeri a telefont. A következő parancsot (és az összeset ami a keretes ablakban van, terminálbol adjuk ki a gépünkön) a gépünk termináljából adjuk ki:

$adb devices
List of devices attached
HT94TKF12298    device

Ha látjuk a telefonunk sorozatszámát, akkor nyertünk. Ha nem, akkor gond van, de lehet csak nincs jól csatlakoztatva az usb.

3, Töltsük le a rootme-signed.zip ROM-ot, majd update.zip néven másoljuk fel a telefon sd kártyájára:

$adb push rootme-signed.zip /sdcard/update.zip
830 KB/s (57142984 bytes in 67.184s)

4, Rakjuk a telefonunkat "fastboot" módba, bekapcsoláskor a bekapcsoló gomb + hangerő lefele hosszan!! Ekkor megjelenik három gördeszkázó android, és felül sorban adatok a telefonról, amire szükségünk lesz. Esetünkben ez sappihire és 32B a két adat, ettől függően töltsük le a recovery img-t, amire szépen ráboot-olunk (Figyelem : fasboot módban kell lenni hozza és sudo jogosultsággal!!):

$fastboot boot recovery-RA-sapphire-v1.7.0G.img

Ekkor újra indul a telefon és a kiválasztott recovery.img-re fogunk rábootolni. Igazából van a telefonnak saját recovery-je, amit úgy érünk el bekapcsoláskor, hogy bekapcsoló gomb+home hosszan, de nekem jobb tapasztalatom volt a rábootolós verzióval és többet is tud.

 

5, Ha bent vagyunk az Android system recovery menüjében (lásd kép), a menüpontok közt ugrálva, először is backupoljuk az adatainkat, ha van valami amit meg szeretnénk tartani. Azután "Wipe-oljuk", vagyis töröljuk a memóriakártyát.  Érdemes az összes "wipe-almenüt" végig nyomkodni (wipe data/factory reset, wipe cache, wipre dalvik-cache), ha ezt nem tesszük meg - nem feltétlenül - de hibára futhat az install. Ezek után mehet a "Flash zip From sdcard" vagyis telepíthetjük az új ROM-ot, jelen esetben a rootme-signed.zip-et. Ezután a telefonunkat pár percre magára hagyhatjuk, menjünk ki egy kávéért, és mire vissza érünk, ha minden jól ment, installation finished fogad minket. Ezek után egy Reboot system now-ra lesz már csak szükségünk, és készen is volnánk!
 

 

 

 


 

Android frissítés:

 Mint ahogy említettem már, a rootolásnak sok előnye van, de mi most az android frissítés miatt "gyökereztük" meg a telefonunkat. Ha eddig eljutottunk, innen már pofonegyszerű, tulajdonképpen csak az előző lépéseket ismételjük meg, más update.zip csomagokkal.

Rengeted saját (tovább) fejlesztésű android firmware-t tölthetünk le, én a CynogenMod csapat, rendszeresen frissített, minden telefonra külön fejlesztett munkait ajánlanám.  Ezekből az alap ROM-okbol, lelkes programozók még tovább hekkelt OS-eit, innen tölthetjük le. Itt telefonunk szerint szűrhetünk, de figyelem: nem minden ROM működik közre a telefonunkkal, még ha "papíron" supportálta is, előfordulhat, hogy többet ki kell próbálni.

1, Másoljuk fel a letöltött ROM-ot update.zip néven az sd kártyánkra:

 $adb push update-cm-6.0.0-DS-signed.zip /sdcard/update.zip

2, Fastboot mod-ban, rábootolunk  a Recovery image-ünkre. Figyelem sudo jogosultság kell hozzá!!

$sudo fastboot boot recovery-RA-sapphire-v1.7.0G.img

3, "Söpörjük ki" a kártyánkat, tehát a Wipe almenüben található, törlés processzeket csináljuk végig (wipe data/factory reset, wipe cache, wipre dalvik-cache).

4, Töltsük rá a telefonunkra az új ROM-ot "Flash Zip from SD card". Ezek után automatikusan telepíti a dolgokat, majd a végén restartoljuk a telefont. Első boot eltart egy ideig, azt végig várjuk és készen is volnánk!

 

Hibakeresés:

Bár a processz igen egyszerű, ha már tudjuk mit hogyan csináljunk, van pár buktató. Íme a tipikus hibaüzenetek és a kezelésük:
 

- can't symlink /system/xbin ,failure at line 12
Nem nagy ügy, egyszerűen betelt a /system partíció. Mivel úgyis épp új ROM-ot szándékozunk telepíteni, nyugodtan töröljük a partíció tartalmát.

$adb shell; rm -rf /system/*

- E: can't find update script
Nagy valószínűséggel nem tetszik neki a recovery image verziója. Próbáljunk rábootolni fastboot módban (bekapcsoláskor bekapcs gomb+hang gomb lefelé) a legújabb verzióra.

$sudo fastboot boot recovery-RA-sapphire-v1.7.0G.img

- E: No signature (208) E: Verification Failed when trying to install the latest system update !
Itt bizony nincs még a telefonunk rootolva, tehát minden ezirányú próbálkozás elszáll ezzel a hibaüzenettel.

 

 

4 komment

A bejegyzés trackback címe:

https://linuxadmin.blog.hu/api/trackback/id/tr62350325

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

bAndie91 2010.12.26. 12:44:12

Nekem semmiképpen nem bootol mást, mit az alapértelmezettet. Lenyomom a home gombot (menu melletti jobbra), nyomva tartom; és utánna a hangup gombot hosszan, míg be nem kapcsol; home folyamatosan lenyomva... semmi, csak a normál boot. Ugyanez a volume-down gombbal is.
Samsun Galaxy S, GT-I5500
Firmware 2.1-update1

burgerrecords 2011.01.06. 14:43:41

hello,

fastboot mode-ba betudod rakni? galaxynal a google szerint kikapcsolt allapotgban a hivas+bekapcsolo gombot kell hosszan nyomni. Ha kiirja hogy fastboot mode-ban vagy, mar konzol-rol ratudsz bootolni a tetszoleges recovery firmware-e.

$fastboot boot recovery-RA-sapphire-v1.7.0G.img

(ehhez le kell tolteni es beallitani az android sdk-t)

milyen oprendszerrol probalod?

bAndie91 2011.01.06. 16:46:52

Linux-szal próbálom.
Nem Galaxy S hanem 5.
Menu+letesz -re 'Emergency Dload mode' jön be.
fastboot-ba nem tudom tenni.
hívás+letesz -re se reagál.

bAndie91 2011.02.18. 12:41:36

volumeDown+middle+Hangup kombinációval sikerült "Downloading" módba boot-olni (gondolom egyenlõ a fastboot móddal),
de `sudo ./fastboot devices` nem reagál semmit, 0-ás exitkóddal kilép.
strace-val megfigyeltem, h sikeresen megnyitja a /dev/bus/usb/... eszközöket és kész...
másik fastboot binárisra van szükség?
süti beállítások módosítása