pátek 19. listopadu 2010

Ladění HTC Desire - část 3. [Nově lze provádět i pro nejnovější revize Desire]

Dneska to bude docela o hubu, ale bez bolesti není radosti. Uděláme tzv. "pravý root", změníme strukturu oddílů, přesuneme Dalvik cache, a takřka tím zdvojnásobíme tu žalostnou vnitřní paměť HTC Desire. Postup je rozhodně tím nejnáročnějším v celém seriálu (příště to zase zpřístupním začátečníkům), a bude vyžadovat vyšší než elementární znalosti PC. Ale zase se pokusím všechno co nejlépe vysvětlit, takže odvážným nováčkům zůstanou dveře otevřené. V závěru se podíváme na to, jak odstranit aplikace, které se nedají odinstalovat, protože jsou součástí ROM.

Provádíme S-OFF
NOVÝ EDIT: Nyní už je možné postup provést i u nejnovějších hardwarových revizí, včetně PVT4. Jen se ujistěte, že máte AlphaRev ve verzi 1.8 nebo vyšší.

Abychom mohli hýbat se systémovými oddíly (partitions), musíme nejprve odstranit příslušné zabezpečení. Proto se postupu někdy říká "pravý root" - teprve s odstraněním tzv. @secuflag získáte práva zápisu do oddílů /system a /recovery, a navíc pak máte možnost měnit jejich velikost. Před S-OFF ovšem musíte mít v provozu rootnutou ROM. Pokud nemáte, projděte si nejprve druhý díl seriálu. Na Desire se S-OFF provádí utilitou AlphaRev 1.8. Nejedná se o a nástroj pro OS Windows, ale o bootovatelné ISO postavené na Linuxu, které musíte buď vypálit na CD v bootovatelné podobě (pokud ještě disponujete prázdnými optickými médii, já je už léta nepoužívám), nebo si z něj vyrobit bootovatelný flash disk (za předpokladu, že z ní váš počítač dokáže nabootovat). Na vypálení ISO na CD existují mraky utilit (namátkou vynikající bezplatný ImgBurn, který jako jeden z mála dobře zvládá 64bitové systémy), s bootovatelnou flashkou je to trochu složitější. Utility jsou různé, s různým stupňem obtížnosti, a různě invazivní (některé provedou repartition s nějakými 256 MB využitelného místa, což se v prostředí Windows dost blbě vrací zpátky). Já vám samozřejmě doporučím tu nejlepší. Je jí Universal USB Installer z projektu Pendrive Linux. Na první obrazovce vyberete poslední volbu (Try Some Other Live Linux ISO), nalistujete stažené ISO, vyberete písmeno prázdné flashky (formátované na některý FAT; NTFS nepojede), a necháte program dělat jeho práci.

Bootovací médium máme připravené, takže je na čase uvést varování. Fáze procesu, kdy se upravuje HBOOT, je hodně riskantní. Pokud během ní vypadne elektřina, nebo se krátce odpojí kabel (může být vadný a fungovat jen v určitých polohách, nebo vám ho vyškubne domácí mazel; čert ví, co se může stát), nebo se program třeba jen dostane do konfliktu s novější hardwarovou revizí (to by se stát nemělo, podporuje zařízení s AMOLED i SLCD), stáváte se šťastnými majiteli křemíkové cihly. I když se autor utility dle svých slov snažil udělat proces co nejbezpečnější, určité riziko tu je, a jednáte pouze na vlastní zodpovědnost. Z průseru vám nebude pomáhat ani on, ani já. Můžete zkusit zařízení reklamovat, ale vzhledem k rootu, custom ROM, a zvrzanému HBOOTu existuje vysoká pravděpodobnost, že se vám vysmějí. Riziko se dá snížit použitím vyzkoušeného a nepoškozeného kabelu, a spuštěním utility na spolehlivém a nabitém notebooku, popř. počítače za kvalitní UPS.

Pokud s rizikem počítáte, můžeme se pustit do díla. V nastavení telefonu zapněte USB debugging (V CM standardně zapnutý, volbu najdete v Application settings->Development->USB debugging, resp. Aplikace->Vývoj->Ladění USB), připojte jej k počítači, a nabootujte z připraveného média. Nepokoušejte se o připojení z virtuálního stroje, prostě restartujte počítač a vyvolejte si boot menu. Je to na každém BIOSu jiné, a dovolím si podobný kousek jako minule - pokud nevíte, jak na to, do podobných akci se nepouštějte. Po spuštění začne utilita sama pracovat, provede několik restartů telefonu, a bude vás průběžně upozorňovat, kdy je opravdu o držku odpojit telefon. Nechte to prostě být, i kdyby to vypadalo, že se počítač nebo telefon zaseknul. Nástroj vám řekne sám, až bude po všem. Když se vše podaří, nabootujete do Androidu (přes nový splash screen s Jokerem), a i počítač můžete pustit zpět do běžného operačního systému. Když se nepodaří... upřímnou soustrast.

Dodatek: Možná po dokončení procesu zůstanete viset v novém bootloaderu (že je nový poznáte podle nepřehlédnutelného nápisu v horní části) - potom stačí najet tlačítky pro ovládání hlasitosti na reboot, potvrdit vypínačem, a dostanete se do Androidu. Ale ujistěte se na obrazovce počítače, že se S-OFF skutečně dokončil.

Přeskupujeme oddíly
Teď přijde konečně ta zajímavá část, kdy zvětšíme vnitřní paměť Desire. Budeme k tomu potřebovat Android SDK (většina z vás už, doufám, díky ADB tento balíček má, a umí jej používat), resp. jeho složku tools. Budeme tam prozatím pracovat s utilitou fastboot, která se stejně jako většina nástrojů v SDK ovládá výhradně z příkazové řádky. Pokud práci v příkazové řádce neovládáte, pak jste tu asi špatně. Ale že jsem v dobrém rozmaru, doporučím např. použití Total Commanderu, kde stačí jen nalistovat složku tools, a slepě psát příkazy do řádku v dolní části okna. Ale budu rozhodně raději, když se zamyslíte nad tím, co který příkaz dělá.

Web AlphaRev nabízí v přehledné tabulce 4 různé konfigurace oddílů. Existují různé způsoby, jak si tyto tabulky vytvořit, nebo jak měnit velikosti oddílů dynamicky. Dá se tak získat ještě více místa pro data (samozřejmě na úkor ostatních partitions), já ale doporučuji volit bezpečnou cestu. Pokud jste si na omezení Desire zvykli a přesouváte na kartu jak zběsilí, budete mít i tak problém těch blbých 100 MB navíc využít. Je to smutné, ale je to tak. V tabulce vidíte, jak nesmyslně rozvržené oddíly má Desire od výroby. 258 MB pro /system je zkrátka zbytečný luxus, za který platíme pouhými 152 MB pro data. Pokud používáte Sense, vystačí vám 180 MB z "bravo_alphaspl-sense.img" a na data zbude 181 MB, nicméně my máme od minula CyanogenMod 6.1, a použijeme tedy oblíbenou Bravo N1Table. Ta má pro systém pouze 149 MB, a navzdory nebývale štědré velikosti cache tak zůstává 203 MB pro data. Už v první fázi tak získáme něco přes 50 MB místa k dobru. Určitě jste si všimli, že Bravo Data++ nabízí docel velký /system, a pro data ještě dalších 60 MB. Ovšem činí tak na úkor cache, což s sebou nese určité mouchy (prohlédněte si například poznámku pod tabulkou). Zůstaneme tedy u N1. Stáhněte si "bravo_alphaspl-n1table.img", a pro jednoduchost soubor umístěte do tools v Android SDK.

Dodatek: Pokud jste si v předchozím díle vybrali nějakou ROM s HTC Sense, stáhněte si i příslušný HBOOT! Do N1 Table by se nemusela vejít.

Teď už budeme potřebovat příkazovou řádku (konzoli), popř. Total Commander (či jiný souborový manažer). Nejprve proveďte obě zálohy z minulého dílu. Snapshot budeme potřebovat v závěru, a MyBackup vám uchová data pro jinou ROM, popř. jiný telefon, kdyby se něco podělalo. Radši si obě schovejte i na nějaké nezávislé médium. Nyní vypněte připojený telefon, a současným držením tlačítka Zpět a vypínače jej nastartujte do bootloaderu (potřebujeme režim fastboot). Na PC se přesuňte do složky tools, a do příkazové řádky zadejte "fastboot flash hboot bravo_alphaspl-n1table.img" (bez uvozovek), a potvrďte enterem. Pokud jste si zvolili jiný HBOOT, samozřejmě přizpůsobte název souboru. Tímto provedete změnu velikostí oddílů, ovšem to ještě nestačí. Opět z příkazové řádky telefon restartujte (zase do bootloaderu) příkazem "fastboot reboot-bootloader", a smažte cache příkazem "fastboot erase cache". Nyní nabootujte do recovery (vizte minulý díl), a proveďte kompletní wipe. Tímto máte před sebou úplně čistý telefon. Zůstaňte tedy v recovery, a dle minulého dílu obnovte zálohu ze snapshotu. Až obnova doběhne, restartujte telefon, a po trochu delším bootování stanete před Androidem zdánlivě tak tak, jak jste ho nechali. Ovšem v nastavení úložiště si můžete povšimnou znatelného zvýšení dostupného místa. Ale ještě nekončíme, můžeme získat dalších pár desítek MB k dobru.

Přesouváme dalvik-cache
Jelikož se snažím psát tento cyklus jako vzdělávací, hodí se opět vysvětlit, co vlastně děláme. Začneme tím, co je to Dalvik. Drtivá většina aplikací pro Android není psána v nativním kódu (který je schopen zpracovat přímo hardware telefonu), ale v tzv. bytecode, který se v reálném čase překládá do hardwarových instrukcí pomocí virtuálního stroje. Je to v moderním programování naprosto běžná věc, nad kterou se nemusíme pozastavovat (obdobně funguje např. Java, .NET, Python, PHP, atp.). Virtuální stroj v Androidu se jmenuje Dalvik Virtual Machine, a pracuje s vlastním bytecode, nikoli s Javovým, jak se mnozí domnívají. DalvikVM je daleko sofistikovanější než Java Virtual Machine. V Androidu si vytvoří strukturu všech nainstalovaných APK, zjistí si jejich závislosti, a na základě toho optimalizuje jejich bytecode právě pro váš telefon. No a aby nemusel optimalizaci provádět stále znovu, ukládá si tato data do dalvik-cache. Mimochodem - příprava této cache je důvodem, proč se nová ROM vždycky tak dlouho bootuje. Je standardně umístěna v oddílu /data, a užírá tak místo pro instalovatelné aplikace. Ale v CyanogenModu (netroufám si tvrdit, zda si to můžete dovolit i v jiných ROM, a navíc je vyzkoušen POUZE v Bravo N1 Table - pokud jste použili jinou, zkuste ještě přehodnotit, zda to raději neflashnete znovu) máme hromadu volného místa v partition /system, tak proč jej nevyužít? Přesunume dalvik-cache právě tam. Za postup vděčíme jednomu z vývojářů CyanogenModu, sám bych to nevymyslel.

Opět restartujte telefon do recovery (ale teď už vlastně máte Android SDK, můžete tedy v tools (EDIT: U SDK pro Android 2.3 už je to platform-tools) zavolat příkaz "adb reboot recovery", a nemusíte na telefon sahat), a proveďte wipe cache (ne ten úplný, pouze cache!). Přesuňte se opět k počítači a jeho příkazové řádce, a pokračujte tam. Příkazem "adb shell" se dostanete do konzole telefonu. Tam připojte systémovou partition příkazem "mount /system" (někdy to není nutné, a /system už je namountován, budete o tom informováni), přesuňte dalvik-cache příkazem "sed -i /dalvik.vm.dexopt-data-only=1/d /system/build.prop", a systémový oddíl opět odpojte přes "umount /system" (když se unmount nepovede, opět se nic neděje). Teď už jen zlikvidovat starou cache. Tentokrát v konzoli připojte datový oddíl přes "mount /data", vymažte starou cache pomocí "rm /data/dalvik-cache/system*" (nezapomeňte na hvězdičku!), a oddíl odpojte "umount /data". Vše je hotovo, restartujte telefon. Já tímto krokem získal 60 MB navíc, a i s novým HBOOTem to dalo více než 100 MB. To je na Desire slušné, že?


Zabíjíme Jokera
Možná se vám nelíbí nový splashscreen. Upřímně řečeno - mně taky ne. Dle slov autora je jeho ponechání vyjádřením podpory, ale radši mu pošlete nějaký ten dolar přes PayPal, protože se na to nedá dívat. Přímo na webu je i návod na odstranění. Stáhněte si původní splash screen, umístěte jej do složky tools, telefon restartujte do bootloaderu (už víte jak), a použijte příkaz "fastboot flash splash1 desire_stock_splash1.img". Logo HTC je zpátky.

Mažeme aplikaci z ROM
EDIT: Na tomto místě článku jsme původně mazali aplikaci pro zprávy, abychom obešli bug v CM 6.1 RC1. Tato chyba už ve finální verzi CyanogenModu není, a návod kvůli jeho vedlejším účinkům stahuji. Ponechám ale kostru pro lidi, kteří si skutečně něco z ROM smazat potřebují, a za oběť padne Twitter.

Dejme tomu, že stejně jako já odmítáte používat oficiální klient Twitteru, nebo dokonce bojkotujete sociální sítě úplně (pak můžete obdobně postupovat i s Facebookem), a chcete se vyhnout různým dialogům pro výběr výchozí aplikace.

Restartujte telefon do recovery, a nastartujte si adb shell (opět v tools, resp. platform-tools). Připojte /system ("mount /system"), přesuňte se do adresáře aplikací příkazem "cd /system/app", a všechny systémové balíčky si vypište příkazem "ls". Uvidíte mezi nimi Twitter.apk, což je naše vyhlídutá oběť. Příkazem "rm Twitter.apk" (je to case-sensitive, bacha na velká písmena) aplikaci nenávratně smažete (obdobně můžete rovnou zničit i Facebook.apk nebo jinou aplikaci). Příkazem "cd /" se vraťte do rootu a /system odpojte přes "umount /system". Pokud toto všechno děláte ihned po flashi, můžete telefon rovnou rebootovat. Pokud však už byla ROM spuštěna a Dalvik si nacachoval svá data, nezapomeňte udělat wipe cache. Nikoli úplný, to byste pochopitelně ztratili data. Pokud byste wipe neudělali, možná by vám aplikace zůstaly viset v systému, Market by je vedl jako nainstalované, a museli byste se z toho vymotávat nějakou odinstalací, novou instalací a novou odinstalací. Což je trochu prasárna. Připravte se jen na to, že další boot bude trvat déle, stejněě jako první start po flashi.

Na závěr ještě důležité upozornění - pokud si nejste 100% jistí co děláte, a nedokážete se sami vymotat z případných problémů, nesnažte se za každou cenu odstraňovat ze /systemu všechno, co nepoužíváte. Jednak hrozí nebezpečí, že smažete něco důležitého, k čemu se v lepším případě těžko shání APK (v horším třeba nenabootujete). A i kdybyste smazali něco, co skutečně nepotřebujete, docela zdlouhavě budete odstraňovat ze systému pozůstatky. Pokud nemáte dobrý důvod, nechte to prostě být.

No a příště si trochu odpočineme, a podíváme se, jak si vynahradit funkce, které mělo HTC Sense v sobě, ale CyanogenModu chybí.

Přehled celého seriálu a preferovanou diskuzi naleznete na tomto fóru.

84 komentářů:

Anonymní řekl(a)...

.NET není jazyk, PHP nemá žádný bytecode :-) jen tak pro zajímavost

Johny_G řekl(a)...

Nikde jsem netvrdil, že je .NET jazyk. Nicméně má vlastní bytecode (CIL), a je zpracováván virtuálním strojem. No a PHP sice chybí ten mezistupeň, ale taktéž nekompiluješ kód do binárky, a kód je zpracováván v reálném čase. To je vše, co jsem tím chtěl říct.

Anonymní řekl(a)...

Výborné články, nahrál jsem si podle nich Leedroida. Teď zkouším jak se dostat do konzole telefonu např. příkazem "adb shell". Poradíte? Mám Ubuntu 10.10. a nahrané SDK. Díky.

Johny_G řekl(a)...

Mělo by to být úplně stejné jako ve Windows. Nalistuj v konzoli adresář s ADB a piš tytéž příkazy. Na telefonu musí být zapnutý režim ladění.

Anonymní řekl(a)...

Jsem tam, telefon (Desire) mám v režimu ladění. Musí být v režimu recovery? Chci si třeba v příkazové řádce prohlídnout adresářovou strukturu telefonu.

Johny_G řekl(a)...

Recovery na to není třeba.

Anonymní řekl(a)...

A jakým příkazem tedy?

Johny_G řekl(a)...

No adb shell, sám to píšeš.

Anonymní řekl(a)...

No to mi právě vypíše command not found, i když dám sudo adb shell.

Johny_G řekl(a)...

A když dáš jenom adb, a teprve v něm shell? Střílím poněkud naslepo, v Linuxu jsem to nikdy nepoužíval. Kdyžtak se zkus podívat třeba sem, nebo vygoogli něco lepšího: http://hello-world-2-0.blogspot.com/2010/01/using-android-debug-bridge-adb-in-linux.html

Anonymní řekl(a)...

Tak jo, díky za trpělivost. Něco vyhledám a pochlubím se. Láká mě vyzkoušet CyanogenMod jak doporučuješ, kde najdu nějaké screeny?

Johny_G řekl(a)...

Přímo na webu autora:
http://www.cyanogenmod.com/screenshots

Michal G řekl(a)...

Ahoj Johny, píšeš: "Existují různé způsoby, jak si tyto tabulky vytvořit, nebo jak měnit velikosti oddílů dynamicky."

Hledal jsem, ale nikde jsem nenašel ani náznak popisu těchto způsobů. Mohl bys mě pls nasměrovat na nějaké zdroje?

Chtěl bych si vytvořit img s ještě menším prostorem pro system a zvětšit data. Případně řešit to dynamicky by bylo fajn...

dingo řekl(a)...

Raději než vytvářet nový HBOOT image, zkus si raději zmenšit FAT32 oddíl na flashce o 512 MB, vytvoř si oddíl EXT3 a použij apps2sd (resp. a2sd+) a nainstalované aplikace budeš mít v /system/sd (resp. i dalvik-cache na ext3). Je to rozhodně jednodušší způsob a není tak invazivní.

FAT32 zmenšit (bez ztráty dat) a EXT3 vytvořit umí ClockWorkMod recovery (doporučuji verzi recovery-clockwork-2.5.1.8-bravo a hodit do rootu flash jako update.zip).

Ahoj
dingo

Anonymní řekl(a)...

Zdarec - dotaz - pokud provedu S-Off, tak přijdu o veškeré nastavení a data v telefonu (leedroid) nebo se ho to nijak nedotkne, tzn. že není potřeba dělat zálohu? Díky, jinak moc pěkné návody - smekám klobouk!

Johny_G řekl(a)...

Samotný S-OFF nic nesmaže, ale zálohu si stejně dělej před každou větší akcí. A tady ji budeš potřebovat po změně HBOOTu.

Anonymní řekl(a)...

ok - díky ;)

Anonymní řekl(a)...

Ahoj Johny, potřebuji radu - nevydržel jsem a přešel z CM na Oxygen GB. Na kartě jsem měl stažené html soubory, které si pročítám offline. Na CM vše fungovalo, spustil jsem je přes Dolphin a četl. Když to samé učiním v Oxygenu, vrátí se mi odpověď, že nemám práva a neotevřu to. Zkoušel jsem i změnit přes chmod práva u jednotlivých souborů, ale nejde to změnit. Nevíš co s tím? Díky.

Anonymní řekl(a)...

Vše proběhlo O.K., ale mam problem s preskupenim oddilu. pokazde prestane fastboot pracovat ... co by to mohlo zpusobit?

Anonymní řekl(a)...

Ahoj Johny, právě jsem přeskupil oddíly a je to paráda, mám teď asi 192MB.

Jenže se přesunutím Dalvik-Cache mi to nejde. Prostě se nemůžu dostat do konzole. Příkaz adb shell nic nedělá. Neotevře se žádné okno, žádná příkazová řádka. Nevím teda jestli nějaká vyskočit má ale jestli ne a mám pokračovat v TotalCommanderu tak na veškkeré další příkazy, které píšeš dostanu hlášku, že soubor nebyl nalezen. Snad mi nějak poradíš, díky Pavel.

Anonymní řekl(a)...

Tak jsem problém vyřešil. Chtělo to jen znovu aktualizovat ovladač. Díky za super návod. ;)

DevCageR řekl(a)...

Ahoj,
četl jsem tenhle článek, ale není mi z toho jasná jedna věc. Mám na SD kartě A2SD+ oddíl pro aplikace. Už si vůbec nepamatuju jak jsem to tenkrát dělal. Přešel jsem teď z LeeDroidu, který toto podporoval na CyanogenMod 7. Ovšem začínám mít problém s aplikacemi, respektive s místem pro ně. Vím, že je třeba nainstalovat ten spešl HBOOT pro CM, ale nechci si něco pokazit. Takže se chci zeptat jestli mám nějak ten starý oddíl odstranit, jestli mám ten CM HBOOT nainstalovat bez odinstalace toho původního. Jestli se tam něco nepokazí. Vůbec tomu nerozumím, takže se toho dost bojim. A píšeš tu, že se s tím pracuje v Recovery, ale nějak jsem to tam nenašel :(
Díky za radu

Johny_G řekl(a)...

Zkrátka postupuj podle tohoto návodu, jen místo N1Table použij CM. Jednoduché :-).

hobzik řekl(a)...

Ahoj,potřeboval bych poradit jak dál.Udělal jsem vše podle návodu,nahrál jsem novou ROM (insertcoin), S-OFF proběhl taky v pohodě, ale nějak jsem se zasekl při přeskupování oddílu. Dělal jsem vše podle návodu,ale když jsem udělal reboot tak najede obrazovka s jokerem a konec. Do recovery se dostanu, zkoušel jsem znovu celý wipe i nahrát původní snapshot, ale výsledek je stejný. záloha proběhne úspěšně, ale jak chci spustit telefon, tak to zůstane na úvodní obrazovce jokera. Nevíte co s tím? Jsem celkem dost bezradný. Díky moc za pomoc.

Johny_G řekl(a)...

Tvoje ROM používá větší systémový oddíl. Ty si musíš vystačit ze stockovým rozdělením oddílů. Musíš znovu flashnout HBOOT, tentokrát ale bravo_alphaspl.img.

hobzik řekl(a)...

A telefon má být v jakém režimu?

Johny_G řekl(a)...

HBOOT se dá flashnout pouze ve fastbootu.

hobzik řekl(a)...

Tak to jsem udělal, pak dám reboot a pořád stejné? Nevíš jak dál?

hobzik řekl(a)...

A není to tím, že jsem použil na S-OFF alphaRev 1.5?

Johny_G řekl(a)...

Jestli je tam stoprocentně stockový HBOOT, tak nabootuj do recovery, udělej wipe úplně všeho (v některém menu nalezneš i "format /system"), a flashni tam čistou ROM, ne obnovu ze zálohy. Měl bys nabootovat.

hobzik řekl(a)...

Díky za radu, pomohlo to. Teď mám dotaz jak poznám, že jsem přeskupil oddíly? Zkoušel jsem znovu HBOOT a wipe ROM, ale paměť mám 29MB(nastavení - kartaSD). Mám podezření, že HBOOT je pro AlphaRev 1.8 ale já jsem dělal S-OFF s verzí 1.5. Můžu udělat ještě jednou S-OFF s verzí 1.8?

Johny_G řekl(a)...

Ty .img jsou normálně zpětně kompatibilní. 1.8 potřebuješ jen na PB99IMG. Nicméně můžeš jej udělat znovu, já to udělal. Uspokojivě to poznáš asi jen v shellu, nicméně jak říkám - jestli máš ROMku postavenou na Sense, tak prostě Stock a hotovo. Nedostatek místa se tam řeší pomocí A2SD+.

hobzik řekl(a)...

A jak poznám, že proběhl úspěšně HBOOT?

Johny_G řekl(a)...

Ty v tom docela plaveš, co? :-). Když ti Fastboot řekne, že je to OK, tak je to OK. Pokud si chceš vysloveně zkontrolovat velikosti oddílů, tak se musíš dostat do konzole. Buď v nabootovaném systému pomocí Terminal Emulatoru, nebo z počítače příkazem "adb shell". Tam pak zadáš "df /data -h", resp. "df /system -h" nebo "df /cache -h" (nebo prostě "df -h", ale v tom by ses asi ztrácel).

hobzik řekl(a)...

Uplně ne, ale ta jistota neni velka. Ale diky za rady a navod, ted jsem o dost chytřejší. Telefon šlape, tak uvidíme jak se osvědčí ROM.Jakou ROM ted používáš ty? Psal jsi, že testuješ CM7 a že napíšeš další článek.

Johny_G řekl(a)...

Stále CM7. Jen furt čekám, jestli vyřeší nějaké boty, nebo to už je jako ono :-).

Dimitre řekl(a)...

Cao Johny.Měl bych otázku , na HTC Desire má přijít oficiální 2.3 budu moci po přeskupení oddílu se vrátit k oficiální ROM a přez updater legálně updatnout ? Díky Adimik

Johny_G řekl(a)...

Dáš si stock HBOOT s kompletním wipem (abys měl oddíly tak jak byly, a ROMka se tam vešla), a můžeš se vydat dvěma směry:

1) Flashneš si svou zálohovanou stockovou ROM, a normálně v nastavení si ji updatuješ na ten nový Gingerbread (pokud jsi měl telefon brandovaný třeba T-Mobilem, asi by bylo rozumnější flashnout evropskou nebrandovanou odněkud z XDA, abys měl jistotu, že ten update budeš mít k dispozici)

2) Počkáš si, až někdo na XDA hodí přímo tu Gingerbreadovou, a pokud nebude modifikovaná, měl bys mít také do budoucna možnost updatu

V každém případě ale přijdeš o root, a možná i S-OFF, a zatím je předčasné hádat, jestli to půjde rovnou rootnout znovu (když kdysi Desire oficiálně updatoval na 2.2/Froyo, byly tehdejší metody rootu neúčinné). Takže být tebou, raději si počkám, až to vyzkouší ostatní. Možná se zmíním i tady.

Dimitre řekl(a)...

OK díky ... ještě jedna taková technická mám root a hodil sem si tam z5 oficiálni rom (kámoš říkal že je jakejsi update froya 2.2.1 nebo tak nejak) no a když to dám stáhnout a updatnout tak mi to při instalaci hodí chybu ... dík za radu

Johny_G řekl(a)...

Dal sis tam znovu vlastní ROM, nebo jsi ji stáhnul odjinud? A mluvíš o instalaci updatu, nebo celé ROM?

Dimitre řekl(a)...

vlastní rom a instaloval jsem update 2.29.405.2 (28.87 mb)

Johny_G řekl(a)...

Chm... Tak zkus přes to bez wipe natvrdo flashnout čistou ROMku z XDA. Někde ji tam najdeš :-).

pája řekl(a)...

Ahoj mám dotaz, nevím čím to, ale nějak přitahuji problémy. chtěl jsem udělat ext4 a přestala mě jít SD karta v telefonu a tím i telefon. Píše mě to v recovery hlášku "E:Can't mount /dev/block/mmcblk0p1 (or /dev/block/mmcblk0) (No such file or directory) E: Can't mount SDCARD:".
Zkusil jsem ji zformátovat na FAT32 to jde , ale v telefonu ne. Nevíš náhodou co s tím?

Johny_G řekl(a)...

Nevím, že se všichni hrnete do ext4, když je Desire dělaný pro ext3 :-). Problém je v tom, že když kartu zformátuješ v PC, zformátuješ pouze první oddíl. Musíš tu kartu oddílu nejprve zbavit. Jelikož telefon nedokáže kartu namountovat, nemůžeš použít ani parted v konzoli. Nejprve tedy zkus přímo v PC pomocí čtečky kartu předělat na jednooddílovou pomocí GParted (nemáš-li Linux, musíš nabootovat do LiveCD, které GParted nabízí na webu, popř. k tomu použít nějaký virtuální stroj). Pokud to nepomůže (nebo telefon nežere ani jiné karty), bude to SD brick. Ten se řeší tak, že nastartuješ telefon ve fastbootu (přes bootloader, jako když flashuješ HBOOT), a z tools spustíš příkaz: "fastboot oem enableqxdm 0". Tím bys konečně mohl i začít, je to méně práce než repartition... Dej vědět, jak jsi dopadl.

pája řekl(a)...

Tak ve fastbootu to nefunguje. zkusím ten gparded. snad se to povede.

Johny_G řekl(a)...

Jak nefunguje? Nepovede se ani ten příkaz, nebo to jen nemá efekt?

pája řekl(a)...

Když zadám příkaz a pak dám restart, nabootuji do recovery a dám unmount sdcard, tak napíše stejnou hlášku.

pája řekl(a)...

prosím tě, mě nějak ten gparted nechce najet. V jakem stavu musí být mobil ve fastbootu? nebo se karta předělá rovnou v pc?

Johny_G řekl(a)...

GParted je linuxová aplikace, resp. samostatné LiveCD, do kterého musíš nabootovat PC. SD karta musí být v PC.

pája řekl(a)...

to je mě jasné. problém je v tom, že nevidí čtečku v notebooku.

Johny_G řekl(a)...

Bootuješ nativně nebo přes VM? Pokud přes VM, musíš čtečku přepojit z fyzické mašiny do virtuálního stroje.

pája řekl(a)...

nativně z usb

Johny_G řekl(a)...

Tak to je dobře v prdeli :-). Není ta karta vadná? Můžeš zkusit jiný telefon, popř. jinou kartu?

pája řekl(a)...

Ale, když najedu do Windows, tak ji vidím v pohodě a můžu na ni zapisovat.

Anonymní řekl(a)...

Ahoj, mám problém dělal jsem S-OFF a při kroku tři kdy se na telefonu napsalo Alpharev splboot v.2 a druhý řádek Normal NAND detected. Non-PVT4 a na notebooku mám step 3 a waiting for flashing to complete... Vím,že mám počkat,než to bude,ale už to trvá 3hod a nic se neděje.Mám strach,že svůj desire budu moci vyhodit. Může mě někdo poradit co teď...

Johny_G řekl(a)...

Už ses dostal do té fáze, kdy tě na obrazovce jasně varují, abys nevypínal, jinak si to brickneš? Pokud ano, následuj instrukce, a informuj se na IRC channelu. Pokud ne, tak asi můžeš normálně do recovery.

Anonymní řekl(a)...

Ahoj,dík za rychlé info,ale žádné instrukce mě nenaběhly,jen je na notebooku napsáno waiting for flashing to complete... a na telefonu tyto dva řádky Alpharev splboot v.2 a druhý řádek Normal NAND detected. Non-PVT4... Třetí krok probíhal asi takto, napsalo to na notebooku booting your phone for the next step.
Step 3 of 3 is starting.during this step,you will receive instructions and progress on-screen. a pak následuje varování že pokud ho odpojím,tak se z něj stane cihla. Při tomto vypisování mě to na display desire napsalo ty dva řádky Alpharev splboot v.2 a druhý řádek Normal NAND detected. Non-PVT4... a dál nic.už je to 4hod a furt nic,můžu ho tedy odpojit zničit ho???

Johny_G řekl(a)...

Neodpojuj ho, následuji oficiální instrukce:

Something went wrong! The livecd told me to get help!! Is my phone bricked?

First of all, leave your phone turned on and plugged in to USB. Your phone will most likely not be bricked, unless you REBOOT!
Before that happens, please contact an operator on irc.freenode.net , channel #alpharev , as instructed on the livecd.
The operators there should be able to provide you with some more hands-on help.

Pokud IRC neznáš, použij některou webovou službu, třeba http://webchat.freenode.net/ a zadej do kolonky channels "#alpharev" (bez uvozovek, ale s mřížkou). Tam by ti měli pomoci.

Anonymní řekl(a)...

Našel jsem si tam info:
*** Stuck on step 3 (phone is displaying progress) ***

There are several possibilities:

1. No output other than 'Normal/New NAND detected.' -> Nothing was flashed, restore your ROM and try again.
Please use AlphaRev using a stock ROM. No data2ext/whatever or other scripts that mount a SDext partition as /data.
Later versions than 1.8 will try to account for this. For now, use a stock ROM instead.

Pokud jsem to dobře pochopil,tak nic naflashováno nebylo a telefon může restartovat a naběhne. Pokud budu chtít provést S-off nesmím mít datatoEXT apod. Co myslíš,je tak???

Anonymní řekl(a)...

teď mě na notebooku naskočilo tc@box :~$ tohle jsem nikde nečetl, jak mám pokračovat???

Johny_G řekl(a)...

No zní mi to tak - odstraň z karty oddíl EXT, a flashni něco normálního. To by mohlo fungovat :-). Vyskočila ti konzole, můžeš to normálně restartovat.

Anonymní řekl(a)...

Fakt teda můžu restartovat telefon... Nebude problém :) už mám bobky cokoli udělat

Johny_G řekl(a)...

Ale jo.

Dan542 řekl(a)...

command not found: A máš v $PATH /opt/android-sdk/platform-tools? V Ubuntu se ta cesta může lišit, takhle jí mám v Archlinuxu.

Anonymní řekl(a)...

Ahoj. Dostanu do konzole telefonu prikazem adb shell, pak zadam mount /system - ale vyskoci na me hlaska: mount: cant read /etc/fstab: No such file or directory

Mam nahozenou CM7, vse dle postupu v navodu.
Diky za odpoved.

Kirass řekl(a)...

Zdravím,
po zadání příkazu "fastboot flash hboot bravo_alphaspl-cm7r2.img" v adresáři "C:\Program Files\Android\android-sdk\tools\" vyskočí chybová hláška "Program nelze spustit, protože v počítači chybí AdbWinApi.dll".
Nevíte někdo co s tím?
Dímy moc...
JK

Johny_G řekl(a)...

V tools? V platform-tools bych to pochopil. Pomůže překopírovat obě DLL ze složky platform-tools do tools k Fastbootu.

tomtatti řekl(a)...

Ahoj,
nejprve díky za tyhle stránky, jsou to opravdu supr návody. Zvládle jsem 1. a 2, pokračování, mám novou ROM CM7 a udělaný S-OFF.
Začal jsem dle 3. návodu měnit odíly. Nainstalovel jsem do noťasu SDK, stáhl bravo_alphaspl-n1table.img, vložil do .../tools, provedl dle pokynů "Nyní vypněte připojený telefon, a současným držením tlačítka Zpět a vypínače jej nastartujte do bootloaderu (potřebujeme režim fastboot). Na PC se přesuňte do složky tools, a do příkazové řádky zadejte "fastboot flash hboot bravo_alphaspl-n1table.img" (bez uvozovek), a potvrďte enterem."

Výdledkem je hláška Soubor nenalezen!

Prosím o radu, kde dělám chybu?
Dík TOM

Johny_G řekl(a)...

A určitě tam oba soubory jsou? Jak fastboot.exe tak bravo_alphaspl-n1table.img?

tomtatti řekl(a)...

no vypnu telefon a zapnu jej do režimu bootloaderu a pak už jen spustím příkaz "fastboot ... .img" Rozumím tomu správně, že krom staženého a nainstalovaného SDK potřebuji ještě fastboot.exe soubor? Omlouvám se, ale tak zkušený uživatel nejsem. Kde k němu prosím přijdu a kam přesně jej nakopírovat.

Dík TOM

Johny_G řekl(a)...

No ono je to v textu popsáno celé. Pokud by s tím měl být problém, tak doporučuju se do toho nepouštět.

tomtatti řekl(a)...

Ahoj, kouskuji čas a tak se k úpravám dostávám sporadicky.
Problém je pravděpodobně v tom, že se mi prostě v SDK nenainstalil fastboot.exe, protože ve verzi 15, která se mi nabídla prý není. Než začnu experimentovat, raději se zeptám - stačí nainstalovat např na jiný PC starší verzi SDK obsahující .../tools/fastboot.exe, a tento soubor sprostě překopírovat do mého PC. Nebo je to blbost. Co prosím poradíte?
Dík

MartCT řekl(a)...

Ahoj,

mám menší problém provedl jsem přeskupování oddílů a když dám kompletní wipe a restartuji objeví se mi pouze obrazovka s Jokerem a tím to končí nenaběhne mi to ani do fastbootu prostě jen svítí obrazovka s Jokerem, lze s tí mnějak pohnout?:((

MartCT řekl(a)...

Tak změna vše už na potřetí běží jak má a děkuju moc za návod, bez Tvé pomoci bych se do toho v životě nepustil!!!

Mylosh řekl(a)...

Zdravím, zavedl jsem nový HBOOT pomocí nástroje FastbootCommander, ale nenazálohoval jsem si ROOTlý telefon mám pouze zálohu S-ON - samozřejmě jí teď nemohu obnovit. Mám HTC Desire s PVT4. Dá se stím něco dělat? Díky za jakoukoli pomoc.

Mylosh řekl(a)...

Tak pomohl UNROOT a obnova telefonu:
http://androidforum.cz/unroot-unbrick-pvt1-pvt4-t10342-90.html

tomtatti řekl(a)...

Protože jsem si nepamatoval, co jsem s Desire dělal, začal jsem od začátku návodu.
Provedl ROOT, nahrál RADIO i ROM CM 7.0.3.

Vytvořil jsem CD s LINUXEM, a pustil se do S-OFF. Dozvědel jsemse, že:
Waiting for your device... Found!!!
identifying your phone:
device model: PB992
CID: 11111111
MID: PB992
HBOOT version 0.93.0001
Your phone was not recognized or is unsupported at this time
If you are 100% sure your phone type should be supported in this version, please note the Model ID displayed

Doplním, že při rebootu vidím informace:
BRAVO PVT3 SHIP S-OFF
HBOOT-0.93.0001
MICROP-051d
TOUCH PANEL-SYNT0101
RADIO-5.17.05.23

Ještě doplňuji, že telefon funguje, po zapnutí naběhne normálně ROM CM7, ale nevidím Jookera. MYslím, že jsme zůstal někde na půl cesty - je S-OFF, ale?

Opravdu bych hrozně rád upravil velikosti oddílů, abych měl víc místa pro SW, ale nevím jak dál. Prosím help.

Anonymní řekl(a)...

Ahoj, děkuji zá kompletní nauky o desire a všeobecně o systémech. mám tet telefon v takové kondici že jsem nechtěl věřit sním očím že to vůbec jde, jsem úplný lak a linux mi nic nerika. A tet k věci. jde mi o paměti telefonů začnu tím co mám. mám 16 GB SD, potom upravenou ROM CM 7,2 interní paměť 291MB - LUXUS DÍKY TOBĚ, CACHE má jen 5 MB to stačí CM využívá ani ne jedno mega. A RAM mi ukazuje že má velikost 405MB, dalvik jsem nepřesouval. a z toho mi vyplývá otázka kde se dalvik ukrývá? nebo jak jej najdu? jde mi o to že si tu hrajeme s pár megabajty a interní paměti jsem našel jeden oddil který má 203MB obsahuje snad stovky souborů a obsazeno je pouze 32kB (VLASTNĚ NIC) tento oddíl se jmenuje DEV hledal jsem na všech fórech a nikde jsem nenašel odpověď na otázku co je to DEV. PŘesto že mám telefon vymazleny jsem náročný na zmíněnou RAM paměť kterou při zapnutí náročných her zahltí cca 90% a občas mi díky této paměti telefon spadne a restartujte. není nějak možné RAM zvětšit? například nevyužity prostorem z DEV? pokud by to šlo už by to někdo psal já vím ale kdyby na to někdo přišel myslím že tisícům lidem by tato změna zpříjemnila život. Dalibor.

Anonymní řekl(a)...

a tady jsem usnul scr. z vypisu oddílů.

http://uloz.to/x9DG22P/screenshot-1335941729000-png

Dalibor

Maroš Rízek řekl(a)...

Zdravim, chcem sa spytat ci mozem spravit S-OFF na HTC Wildfire pomocou linuxoveho cd Alpharew 1,8 alebo je to urcene len pre HTC DESIRE? Mam Hboot 0.80.0007

Jan Gruncl řekl(a)...

Na to jsou jiné nástroje:
http://revolutionary.io/

Anonymní řekl(a)...

po spuštění příkazu fastboot "flash hboot bravo_alphaspl-n1table.img" se spustí cmd line a píše

čím to? :(

David Zlámal řekl(a)...

zdravím, když přesouvám dalvik-cache a mám problém. při zadání příkazu "sed -i /dalvik.vm.dexopt-data-only=1/d /system/build.prop" mi cmd odpoví (na dvou řádcích):

sed -i /dalvik.vm.dexopt-data-only=1/d /system/build.prop

sed: i- requires an argument

když pokračuji, jakože se příkaz provedl (jakože asi nepovedl), tak telefon (naštěstí) funguje (a paměť je bezezměny - pomineme-li přerozdělení oddílů z předchozího odstavce)

David Zlámal řekl(a)...

problém vyčešen - chybějící mezera mezi výchozím a cílovým umístěním

Okomentovat