Google Nexus: Guida al flash ed al Live Mode (Runs from RAM) By salvosant86 http://ilbruttobug.wordpress.com/ Licenza e diritti riservati con Creative Commons (CC BY-NC-ND 3.0). Per informazioni Info e Contatti Introduzione Questa semplice guida serve a capire come poter eseguire il flash di un'immagine, e quindi installarla nella memoria del dispositivo, oppure avviare l'immagine in modalità live, senza installarla nel nostro dispositivo. Per prima cosa bisogna installare alcuni tools, che sono presenti nel pacchetto Android-SDK scaricabile gratuitamente dal sito internet https://developer.android.com/sdk/index.html. In particlare bisogna avere i tools: • “rules” - Esso contiene le regole UDEV per riconoscere il dispositivo (nella sezione “Configuring USB Access” del seguente sito è descritto come creare e dove va inserito questo file https://source.android.com/source/initializing.html) • “adb” - Esso è l'“Android Debug Bridge”, ovvero il tool che consente di comunicare con il dispositivo (vedere anche https://developer.android.com/tools/help/adb.html) • “fastboot” - Esso è un protocollo di diagnostica usato principalmente per eseguire tramite USB il flash di un firmware (ovvero l'installazione di un sistema operativo su un dispositivo “Embedded” o “Mobile”), ma anche il boot in livemode di immagini di recovery o di sistemi operativi live. È consigliabile avere anche il tools “fsutils”, che serve a supportare i filesystem usati da Android immagazzinati in un unico file “img” oppure “.bin”. Questi file system generalmente sono in formato “ext4” e si trovano in partizioni separate per aumentare la sicurezza e diminuire la frammentazione. Una altro tool che è consigliato installare è “abootimg”, uno strumento che ha la funzione di leggere, scrivere e aggiornare le immagini di avvio di Android ed è presente nei repositori ufficiali di Ubuntu. Invece gli altri tool citati sopra sono presenti nel repository Ubuntu Phablet Team, quindi, una volta aggiunto questo repository nella propria sources.list, possono essere installati con il seguente comando: $ sudo apt-get install android-rules android-tools-adb android-tools-fastboot android-tools-fsutils abootimg Sblocco del bootloader I dispositivi Google Nexus per ragioni di sicurezza hanno il bootloader bloccato per evitare appunto di eseguire il flash o il boot in live mode, operazioni delicate che invalidano la garanzia e possono causare il “brick” del dispositivo rendendolo inutilizzabile. In alcuni modelli è possibile eseguire l'“unbrick” senza particolari strumenti, come nel caso del Samsung Galaxy NEXUS GT-I9250, equipaggiato con un “Texas Instrument OMAP 4460 Dual-Core @ 1,2 Ghz”. La particolarità di questo processore e che supporta l'“USB-ON-THE-GO (USB-OTG)”, quindi in caso di brick, basta rimuovere la batteria avviare da windows “OMAPflash Tools” o da linux “omap4boot” (entrambi i tools sono facilmente reperibili su internet insieme alle guide che ne spieghino il funzionamento). Ora basta collegare il dispositivo e installare un bootloader nuovo e successivamente lanciare lo script “flash-all.bat” su Windows o “flash-all.sh” su Linux e si riavrà il dispositivo funzionante. I due script si trovano nel file compresso contenente l'immagine originale del sistema operativo Android di Google (Factory Image), scaricabile per ciascun dispositivo Google NEXUS dal sito ufficiale: “https://developers.google.com/android/nexus/images”. Per altri modelli e necessario inviarli in garanzia o acquistare degli strumenti particolari, usati dai centri assistenza, il cui prezzo varia dalle 100 € alle 500€. Per sbloccare il bootloader bisogna entrare nel bootloader del dispositivo. Per fare ciò è necessario premere e tenere premuto a dispositivo spento una combinazione di uno o più tasti e poi il tasto accensione fino all'avvio del bootloader . Una volta entrati nel bootloader si deve collegare lo smartphone con il cavo USB e per sbloccare il bootloader bisogna lanciare il comando: $ sudo fastboot oem unlock Una volta sbloccato il bootloader, è possibile sia eseguire il flash di un firmware come ad esempio: • Un upgrade o un downgrade di Android (Factory Images for Nexus Devices) • Di un'immagine di un sistema operativo differente (Replicant) • Di OS ibridi (Ubuntu Touch) • Di una Mod (CyanogenMod, MIUI) • Di Recovery non ufficiali (ClockworkMod Recovery, Team Win Recovery Project) NOTA: Nel caso in cui si abbia modificato il proprio OS Android originale, ad esempio installando i permessi di ROOT, l'aggiornamento via OTA non può essere eseguito, quindi e necessario procedere all'upgrade via USB. NOTA 2: Per poter installare una Mod, è necessario eseguire il flash di una Recovery non ufficiale, in quanto vengono installate tramite la funzione “update from zip in sdcard” della recovery. Alcune immagini possono essere eseguite in modalità live come ad esempio le immagini di recovery non ufficiali, oppure l'immagine live di un sistema operativo, ovviamente che abbia un kernel per l'architettura del dispositivo, che al momento è solo “ARM”. Flash o boot in live mode (Runs from RAM) La fase di flash potrebbe durare qualche minuto ed il cavo USB non deve essere rimosso per alcun motivo. Inoltre bisogna evitare che il pc si riavvii o si spenga, se no potrebbe verificarsi il brick del dispositivo. Se si lancia un'immagine in live mode il cavo può essere staccato ed una volta spento il dispositivo tutto ritorna come prima (come se si provasse un OS in live CD/DVD su un PC). I comandi da lanciare sono i seguenti: • Per lanciare un'immagine in live mode va usato questo: “$ sudo fastboot boot file_immagine.img o file_immagine.bin ” • Per seguire il flash di un'immagine va lanciato questo comando per ciascuna immagine: “$ sudo fastboot flash file_immagine.img o file_immagine.bin ” NOTA 3: È vivamente consigliato usare gli script oppure i tool che escono insieme alle immagini degli OS, mai fare il flash manualmente di ogni singolo file manualmente. C'è un ordine da seguire per i file da flashare (il bootloader è il primo che deve essere flashato) e se si inverte l'ordine potrebbe verificarsi il brick del dispositivo. Blocco bootloader Una volta finito, è consigliabile bloccare il bootloader, quindi bisogna spegnere il dispositivo, riavviarlo nel bootloader e dare il comando: $ sudo fastboot oem lock Conclusione Quello descritto in questa guida è una procedura molto delicata, quindi prima di eseguire ciò che è descritto. Bisogna porsi due domande: È necessario? Vale la pena rischiare? Se la risposta a tutte e due è “SI!” allora bisogna documentarsi bene, andare sui vari siti citati, andare sui forum e approfondire gli argomenti della guida. È necessario settare il PC con tutti gli strumenti necessari anche ad effettuare l'umbrick (Solo processori con supporto USB- OTG, quali TI OMAP, Samsung Exynos, Qualcomm Snapdragon S3 e S4 Pro) ed aspettare le condizioni climatiche idonee a non far andar via la corrente o a causare alzamenti o abbassamenti di tensione. Declinazione di eventuali responsabilità Ne io (autore) ne coloro che pubblicheranno e/o ospiteranno questo documento su forum, blog ecc non siamo responsabili di eventuali danni subiti dai dispositivi.