Come installare Cyanogenmod, MIUI o una custom rom sul Nexus One

Installare un sistema operativo personalizzato al posto di quello standard presente sul proprio smartphone e’ una pratica consolidata. Gia’ con Symbian era prassi comune quella di eliminare la versione customizzata che l’operatore telefonico installava nel telefono, spesso con crapware e limitazioni varie, per usarne una “stock”, ovvero pulita, spesso piu’ aggiornata, piu’ leggera e senza vincoli. Con Windows Mobile c’e’ stata un’esplosione di questa pratica e le ROM coocked create dalla comunita’ erano spesso di gran lunga migliori di quelle standard: parecchi bugfix, driver e sistemi operativi aggiornati, utility precaricate per risparmiare spazio, Erano insomma capaci di prolungare la vita di un device di un anno o piu’. Dopotutto intendiamoci, i produttori di dispositivi non hanno interesse a rilasciare versioni aggiornate del firmare dei propri prodotti, preferiscono che si buttino via e si ricomprino nuovi con quanto di nuovo c’e’ sul mercato.

Android, ovviamente, non fa differenza. Unica controindicazione di questo processo di customizzazione della ROM e’ la perdita della garanzia, ma si puo’ sempre ripristinare quella originale ;)

Considerazione finale dopo aver sperimentato per un paio di giorni tutto: ma come ho fatto ad aspettare cosi’ tanto tempo prima di usarle sul mio Nexus One!

 

I passi da seguire per un Nexus One

Ovviamente ogni telefono ha una sua sequenza di comandi per essere sbloccato e personalizzato, di seguito quelli per il mio Nexus One:

  • Sbloccare il bootloader del device per poter installare una nuova recovery image, al posto di quella standard (si usa fastboot).
  • Installare una Custom Recovery Image che permettera’, tra le altre cose, di installare delle ROM personalizzate (ClockWorld Mod).
  • Tramite la Custom Recovery Image, fare un salvataggio del sistema e poi caricare la nuova ROM personalizzata.
  • Installazioni aggiuntive.

Purtroppo, la prima volta che si esegue questo processo, tutti i settaggi delle app saranno irrimediabilmente persi. Quindi addio punti nei giochi, impostazioni di programmi e tutto quello che non viene salvato nativamente nel cloud o sulla SD dalle singole applicazioni. Le volte successive, grazie all’accesso root al dispositivo e ai tool di backup esistenti, questo problema sara’ solo un brutto ricordo. Ragione in piu’ per fare il prima possibile lo sblocco, anche solo per avere un salvataggio completo di tutto, in caso di perdita del device.

 

Sbloccare il bootloader ed installare Fastboot

Una volta il comando fastboot era installato nell’Android SDK, poi e’ stato tolto. Qui si puo’ trovare un eseguibile multipiattaforma: e questa e’ la procedura dettagliata per sbloccare il boot del device.

  • Scaricare i pacchetti del fastboot per linux e copiati nella directory platform-tools dell’sdk Android
  • Boot del device nel bootloader (premere il trackpad e accendere il dispositivo). Apparira’ uno schermo con dei robottini Android su uno skate.
  • Controllare che in alto a sinistra ci sia la scritta S-OFF, che indica il security off del dispositivo, quindi la possibilita’ di sbloccarlo
  • Controllare che sia selezionato FASTBOOT e non HBOOT nelle voci del menu’
  • Connettere il device via USB al computer
  • Lanciare, dal computer, il comando fastboot devices e controllare che il proprio device sia elencato
  • Lanciare, dal computer, il comando fastboot oem unlock e confermare l’unlock del device

Tutti i dati saranno cancellati e il device verra’ riavviato. Per controllare se e’ effettivamente stato sbloccato, avviare nuovamente il bootloader e questa volta, in altro, dovrebbe apparire la scritta *** UNLOCKED ***

 

Installare una Custom Recovery Image

Compito della Custom Recovery Image e’ quello di installare custom rom, salvare dati, partizionare sd card, cancellare dati, resettare impostazioni particolari di sistema e molto altro. Ci sono diversi programmi molto usati e che fungono bene allo scopo, io ho scelto ClockWorldMod Recovery, ecco spiegato cos’e’. Per installarlo, ho seguito questi passi qui, che comprendono anche il link per il download del file img. In alternativa, c’e’ anche Amon-Ra’s

  • Scaricato il file img nel computer
  • Boot del device nel bootloader
  • Connettere il device via USB al computer
  • Lanciare il comando fastboot flash recovery /path/to/recovery-clockwork-3.0.0.5-passion.img
  • Riavviare il device. La Custom Recovery Image e’ presente ed operativa.

Ovviamente esiste una versione piu’ nuova della 3.0.0.5, dopo l’installazione della custom rom ci sono le istruzioni per aggiornarla.

 

Backup del sistema operativo, conosciuto anche come Nandroid backup, e installare di una custom ROM

Prima di installare una qualunque custom rom, e’ buona cosa fare un backup dell’intero sistema operativo, che servira’ anche nel caso in cui le cose vadano storte e il device non si riavvii piu’, ad esempio a a causa di una rom sbagliata, un errore nella sd che ha corrotto il file ecc. Inoltre e’ l’immagine che va rimessa sul dispositivo in caso di invio in assistenza (assieme all’esecuzione del comando fastboot oem lock per ribloccare il bootloader e riportarlo allo stadio originale). Conosciuto anche come Nadroid backup, ecco i passi che ho seguito:

  • Fare il reboot in recovery mode: lanciare il bootloader, scegliere recovery, oppure, con il device connesso via usb, lanciare il comando adb reboot recovery.
  • Scegliere la voce di menu’ Backup and Restore
  • Lanciare in backup e aspettare un paio di minuti
  • Per il restore, stessa procedura, ma selezionando restore invece di backup, e l’immagine da ripristinare (tramite data e ora del backup fatto)

 

Installazione di una Custom ROM

Ovviamente esistono tantissime custom rom, sia in base al device, sia in base all’orientamento che viene dato alla rom (performance, cool&stylish, funzionalita’ ecc). Personalmente, e per un Nexus One, ritengo che ci siano tre grandi alternative: installare una rom stock, una Cyanogenmod o una MIUI. Consiglio la prima scelta a chi usa il device per sviluppare e testare le proprie applicazioini, ma non vuole perdere i benefici di essere root: le rom customizzate, infatti, sono molto diverse da quella originale, quindi potrebbero anche avere dei comportamenti inattesi / fuori dagli standard che potrebbero pregiudicare il buon esito dei test di funzionamento. La Cyanogenmod, invece, e’ tipicamente per gli smanettoni: tantissimi settaggi, ottimizzazioni alle stelle e velocita’ da urlo. MIUI, infine, e’ esteticamente qualcosa di unico ed offre applicazioni di gran lunga migliori di quelle standard (player musicale, rubrica dei contatti, backup integrato ecc). A voi la scelta. Io le sto provando entrambe e, per ora, la MIUI mi ha conquistato. Seguiranno post piu’ dettagliati.

A prescindere dal tipo di rom i passi sono molto simili, ecco quelli che ho seguito io per la Cyanogenmob, secondo la guida ufficiale.

  • Scaricare nel computer il file della custom rom, prendendola dal sito o scaricandola con qualche app direttamente dal device. E’ un file zip, che va copiato nella propria SD (dove si vuole, io ho creato la cartella /roms e le metto li sotto). Io ho preso la versione stable da qui.
  • Nel caso di una Cyanogenmod, se si vogliono anche le Google Apps (Market, GMail ecc), occorre scaricare l’apposito pacchetto.
  • Fare il reboot in recovery mode: lanciare il bootloader, scegliere recovery, oppure, con il device connesso via usb, lanciare il comando adb reboot recovery.
  • Selezionare un Wipe data/factory reset e poi Wipe data/Cache partition: questo cancellera’ tutti i dati presenti, ma e’ fondamentale farlo quando si installa una nuova tipologia di ROM, non sempre richiesto quando si passa ad un nuova versione di rom della stessa famiglia.
  • Selezionare Install zip from sd card e poi Choose zip from sdcard e navigare fino a scegliere il file scaricato con la rom in precedenza
  • Ripetere il precedente passo, ma con il file delle Google Apps
  • Riavviare il sistema dall’apposito’ menu.
  • Let’s the magic happens! La ROM e’ pronta all’uso.

 

Prima di perdervi in questo nuovo mondo

Consigli veloci da fare subito, per poi darsi alla sperimentazione selvaggia di tutto quello che c’e’ di nuovo:

 

Spostare le applicazioni su SD per liberare spazio (APP2SD, A2SD, APP2Ext, APP2SD+)

Prima di Froyo (Android 2.2), le applicazioni eran installate nella memoria interna del device. Il Nexus One ha circa 190 mega liberi da dedicare allo scopo ma, tra aggiormanenti di GMail, Maps, e poco altro, lo spazio a disposizione finiva in un baleno. Per questo, a partire da Froyo in poi, e’ stato introdotto il supporto all’App2SD, la possibilita’ di spostare un’applicazione sulla scheda sd. Si libera pareccha memoria interna (non tutta, perche’ alcuni dati dell’app ancora rimangono li) e si puo’ respirare un po’ di piu’, ma e’ una funzionalita’ che la singola applicazione deve implementare e, ovviamente, molte non lo fanno (per precise ragioni o per pigrizia degli sviluppatori, dipende). Le principali custom ROM hanno abilitato un workaround che sposta automaticamente tutte le app nella memoria SD, a prescindere dal loro supporto o meno all’App2sd di Froyo. Grande comodita’, non si perde praticamente nulla in velocita’, solo forse si accorcia leggermente il ciclo di vita della propria SD (ma dipende sempre dall’utilizzo). Qui, qui e qui qualche info in piu’ sulla cosa.

Brevemente, sia Cyanogenmod che MIUI hanno l’A2SD+ installato. Io per abilitarlo sulla seconda ho dovuto seguire questi passi (penso comunque utilizzabili anche per la prima)

  • Creare una partizione EXT3 sulla mia SD (tramite GParted o un altro strumento). Ho scelto una dimensione di 600 mb, che penso sia abbastanza per installare moooolte cose.
  • Aprire una shell sul device (tramite applicazione del terminale o digitando adb shell dal pc attaccato al device)
  • Lanciare il comando a2sd check per verificare che non fosse gia’ tutto abilitato. Si puo’ capire nelle voci Apps e Private Apps, che hanno un “No Apps2SD Flag File not found.” selezionato.
  • Lanciare comando as2d install per abilitare il tutto, aspettato qualche minuto e il reboot del dispositivo.

Se le applicazione supportano la modalita’ App2sd di Froyo, si potranno ancora spostare sulla SD alla vecchia maniera (nella partizione fat32), se invece si lasciano nella memoria interna, verranno automaticamente messe nella nuova partizione ext3 creata. In aggiunta, si puo’ anche spostare la cartella /data/data nella sd, liberando ancora piu’ spazio in memoria interna, grazie al comando a2sd datasd.