Visualizzazione stampabile
-
Primo brick
Dunque, vi spiego com'è successo e in che situazione sono:
Ieri sera dopo aver ottenuto root e modificato un paio di cose stavo giochicchiando in adb. Il comando ls "standard" non è neanche ordinato alfabeticamente, così ho pensato di installare busybox. Ne ho scaricata una versione recente, copiata in /system/xbin dopo aver rimontato readwrite /system, e fin qui tutto ok. Ho controllato che i comandi "estesi" tipo busybox ls funzionassero e ho pensato di dare busybox --install per creare i vari link simbolici, poi cambiare temporaneamente il path mettendo /system/xbin prima di /system/bin e avere i comandi di busybox di default.
L'errore
Complice la mancanza di sonno, ho scritto cd /system/bin al posto che xbin, non me ne sono accorto, e ho dato busybox --install.
Il risultato
Busybox ha sovrascritto tutti i link al toolbox originale (ls, cd e compagnia) in /system/bin. Essendoci tra questi anche sh, su, e parecchi comandi base che servono per adb shell, la shell ha smesso di funzionare.
Una volta rilanciata avevo ovviamente perso root (il comando su non era più quello messo con l'update.zip ma quello di busybox che ovviamente non funziona allo stesso modo), e quindi non ho potuto sistemare niente non avendo i permessi di agire in /system.
Ma il peggio deve ancora venire:
Al riavvio il cellulare si pianta sul logo motorola. Penso succeda perchè la sintassi dei comandi di busybox è leggermente diversa da quella di toolbox, e quindi qualche comando durante il boot non funziona come dovrebbe.
Ho provato il safe mode, stessa solfa.
Posso entrare in recovery, ma per il momento posso solo ri-applicare l'update.zip per il root che non mi aiuta. In recovery adb non è disponibile.
L'unica idea che ho avuto è quella di installare l'update.zip di 2.0.1 "pulito", sperando che sistemi il problema. Perdo root, ma tanto sto aspettando il nexus one che mi è stato spedito e non penso di usare più molto il milestone. Mi interesserebbe solo riportarlo in vita, e ho paura che portandolo in assistenza alla motorola (i centri wind mi hanno detto che non fanno assistenza, possibile?) mi "sgamino" :D
Dove posso procurarmi l'update.zip originale? (Andrea penso ce l'abbia)
Avete altre idee alternative da provare?
Grazie!!
EDIT BY ANDREA
Se avete un telefono brickato seguite questa guida. Potrebbe resuscitarvelo Androidiani: Motorola Milestone 2.0.1 e root :) | Motorola Milestone, root
-
il debug di ddms che dice ?
io posso darti l'update originale ma non ti garantisco che funzioni.. Ma sopratutto non ti garantisco che non ti creerà altri problemi
-
Si blocca ben prima di attivare adb o qualsiasi altra interfaccia su usb, quindi non posso leggere il debug..
Forse ho avuto un'idea che potrebbe sistemare il mio problema, ho bisogno di una conferma da te però visto che ne sai molto di più sugli update.zip.
Io in pratica ho sovrascritto un buon numero di comandi in /system/bin che originariamente erano symbolic link a /system/bin/toolbox. Se prendessi il dump di /system (che è già disponibile online), potrei prendere tutti i link a toolbox, metterli in un update.zip, accodare questo update all'update originario (che ho trovato su alldroid) e far installare alla recovery stock i link sovrascrivendo quelli sbagliati.
Lo so che sono un rompiballe ma se dedicassi un minuto a pensarci e mi dicessi se è fattibile te ne sarei molto grato :)
Grazie!
-
WOW, non c'è come una notte insonne per sistemare ciò che hai incasinato nella notte insonne prima.
Sistemato tutto usando di nuovo il bug in verifier.c.
Lascio un breve how-to nel caso qualcuno dovesse avere problemi simili o fosse interessato a pasticciare ;)
L'idea di base di usare un update.zip modificato per ripristinare i file danneggiati era giusta, ma non c'era bisogno come pensavo di inserire i file, poichè ogni update.zip contiene un file "updater-script" che esegue una serie di comandi, e ha tra le sue possibilità sia delete() (per cancellare un file) sia symlink() (per creare un link simbolico).
Ciò che serve:
- L'update.zip originale della 2.0.1 e il payload con su (presi qui)
- Volez, che permette di creare update.zip da "accodare" agli aggiornamenti ufficiali (preso qui)
- Cygwin, per compilare ed utilizzare Volez su Windows (con make e gcc almeno)
Ho preso il payload che contiene su e Superuser.apk, ho rimosso entrambi, poi ho editato il file updater-script in questo modo:
codice:
mount("MTD", "system", "/system");
ui_print("Deleting previous symlinks...");
delete("/system/bin/cat");
delete("/system/bin/chmod");
[... e tutti gli altri file]
ui_print("Creating new symlinks...");
symlink("SYSTEM:bin/toolbox", "/system/bin/cat");
symlink("SYSTEM:bin/toolbox", "/system/bin/chmod");
[... e tutti gli altri file]
ui_print("Fixing permissions for good measure...");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02755, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
unmount("/system");
Poi ho usato Volez per attaccare il payload personalizzato all'update ufficiale, l'ho caricato sulla sd e via!
Detto così è un po' semplicistico, mi ci sono volute 5 ore di tentativi, spero di poterle evitare a qualcun altro :)
Come effetto secondario di quello che ho imparato, vi posto un update.zip per unrootare qualsiasi Milestone 2.0.
Questo file rimuove semplicemente /system/app/Superuser.apk e /system/bin/su, annullando quindi le modifiche che ha fatto il root.
Se root non vi serve, dovete mandare il cellulare in garanzia, o per qualsiasi altro motivo, e non sapete come rimuovere il root a mano, usate questo che è più semplice! L'ho testato più e più volte ed è perfettamente funzionante :)
download update.zip per rimuovere root
Buona giornata a tutti!
-
sei stato veramente un grande....ti meriti 2 giorni di riposo
-
Quote:
Originariamente inviato da
fabbibi
sei stato veramente un grande....ti meriti 2 giorni di riposo
Concordo, complimenti Martino, onore al merito!
-
-
grandissimo...perche' non iniziamo a fare uno stiky post!?!?
-
Grandissimo.......con questo update tutti quelli che hanno rootato il loro milestone possono tornare tranquillamente indietro....Grazie davvero.
-
Grazie dello sticky ;)
Martino non potresti preparare un pacchettino antibrick!
puo' essere che abbia detto una fesseria sono novizio di android quindi vi chiedo scusa :)