UPDATE: ho pubblicato un aggiornamento per Android 2.1 + CyanogenMod 5.x

Questo lunedì mi è arrivato l’HTC Dream marchiato Tim che in questi giorni si trova scontato al Mediaworld (289 euro, di listino sta a 349).
Purtroppo, come spesso capita con gli smartphone che montano un software modificato dagli operatori, la versione è vecchia, non più mantenuta e spesso priva di alcune applicazioni “strategiche” (google talk, chat, sincronizzazione contatti gmail).

Con Tim inoltre, non è possibile accedere nativamente come utente root e poter riflashare liberamente il proprio Android.
Quindi, prima di poter aggiornare il software, è necessario sfruttare una qualche falla per potere accedere come utente privilegiato.

Girovagando per la rete, ho scoperto una comunità  italiana Android in cui, oltre ad un blog, mettono a disposizione un wiki con diverse istruzioni sul come aggiornare il proprio droid, incluso il mio.
Peccato che le immagini Android che mettono a disposizione sian piuttosto obsolete e anche le istruzioni mi son sembrate, con il senno di poi, più complesse del dovuto.

Cercherò qui di ricostruire i passi da effettuare per poter mettere una versione di Android decentemente aggiornata e funzionale.

Hardware:

  • HTC Dream Tim
  • Cavetto USB (in dotazione)

Software:

Le SDK contengono software e documentazione necessaria a chi vuol sviluppare sia Android che applicazioni per Android. Fastboot è una utility per bypassare il caricamento dell’immagine di presente sulla memoria e passarne una “volante” tramite USB (puoi scompattarlo all’interno della cartella tools dell’SDK)

Riepilogo

  1. Abilita USB Debugging
  2. Fastboot
  3. Installazione rom di recovery
  4. Installazione Android

Abilita USB Debugging

Menu -> Impostazioni -> Applicazioni -> Sviluppo -> Debug USB
$ ./tools/adb devices List of devices attached HT935NG08417 device
Se il vostro device viene riportato, siete pronti per poter utilizzare Fastboot

Fastboot

$ wget http://blog.scorpionworld.it/wp-content/uploads/2009/11/boot.zip $ unzip boot.zip
Accendi il telefono utilizzando il tasto Power + Camera
$ ./tools/fastboot boot boot.img
Attendi il caricamento di Android…
$ ./adb shell
Adesso sei collegato al tuo Android con privilegi di root:
# id uid=0(root) gid=0(root)

Passiamo il filesystem /system da sola lettura a lettura/scrittura, e creiamo una copia della shell però con il flag setuid attivo (che ci permetterà  di avere una shell root senza esser root)
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system # cat /system/bin/sh > /system/bin/su # chmod 4755 /system/bin/su # exit

Adesso siamo pronti per poter flashare il nostro device con un versione di Android custom.
Così a naso, sembra che il miglior Android mantenuto dalla comunità è CyanogenMod, e anche qui c’è un nutrito wiki con la procedura per installarlo (upgrade da firmware con root).

Installazione rom di recovery

Scarica la più recente versione della Recovery Image CyanogenMod (sostituisce il sistema minimale di recovery, sarà  utilizzato per poter installare facilmente Android+CyanogenMod)
Scarica la più recente versione della ra-recovery da XDA.

Scompatta e copia la prima immagine direttamente nella cartella principale della tua memoria SD (con il telefono collegato al pc, seleziona l’avviso che esce fra le notifiche in alto del device e fai Connetti) e riapri una shell:
$ ./tools/adb shell # su # flash_image recovery /sdcard/cm-recovery-1.4.img # exit

Installazione Android

Procedi seguendo il post linkato all’inizio di questo articolo.

Scarica l’ultimo firmware marcato “recovery image” qui Scarica l’ultima immagine ufficiale di Android 1.6 denominata recovery image.

Adesso copia i due files zip nella cartella principale della tua memoria SD (non li scompattare!)

Procediamo con la reinstallazione del sistema: completa entrambi i passi, non riavviare.

Puoi accedere al sistema di recovery appena installato accendendo il telefono tramite Home + Power.
Seleziona ‘Apply any zip from SD’ e poi signed-dream_devphone_userdebug-ota-14721.zip (Android 1.6)
Seleziona nuovamente ‘Apply any zip from SD’ e poi update-cm-4.2.5-signed.zip (CyanogenMod)
Premi Home + Back per riavviare.

Al successivo riavvio, se tutto è andato come previsto, vedrete apparire il logo in blu che identifica la CyanogenMod.</del>

A questo punto in cui sarete colti da immensa felicità , ricordatevi di installare anche l’applicazione Cyanogen Updater che trovate nel Market, così che con due click potrete facilmente aggiornare all’ultima versione di CyanogenMod (prevalentemente bugfix ma spesso arrivano anche nuove features) senza nemmeno dover usare il proprio pc.

Unica nota di demerito: la tastiera pare esser con layout americano, nessun problema per le lettere, solo i tasti secondari sono messi fuori posto. Non ho ancora voluto indagare perchè alla fine si fa prima ad imparare il nuovo layout (:P), ma se qualcuno ha la soluzione sarei più che felice di integrarla in questa guida.