Dopo aver sbloccato con successo il mio Galaxy Nexus, portandolo dalla versione yakjuxw a quella aggiornata da Google yakju, ho deciso di scrivere questa guida all in one con tutte le procedure spiegate passo passo per creare un paio di backup (con due sistemi diversi) del proprio sistema prima della modifica e preparare il tutto per procedere con il flash della versione finale. Per la procedura è essenziale che adb e fastboot siano configurati e funzionanti, consiglio di scaricare l'SDK android (ma non è strettamente necessario, dovrebbero bastare gli eseguibili adb e fastboot) per avere l'ultima versione. come prima cosa, una volta scaricata e installata si deve provare a collegareil Galaxy Nexus al PC e vedere tramite i comandi adb devices e fastboot devices (quest'ultimo va eseguito con il GN in modalità fastboot) se il dispositivio viene riconosciuto dal sistema. Una volta messo a posto questo punto si può procedere, le operazioni da fare sono numerose ma non difficili; tuttavia essendo un procedimento piuttosto delicato è consigliabile un minimo di conoscenza di Android e dei comandi basilari unix, anche per capire da soli in itinere se qualcosa dovesse andare storto. Personalmente eseguire queste operazioni mi ha riportato indietro a quando si facevano i primi esperimenti di ottenimento dei permessi di root sfruttando i bug del T-Mobile G1, ai tempi di Jesusfreke. Nessun altro Android che ho posseduto (oltre al G1, ovviamente) mi ha fatto sentire questa sensazione.
Attezione: Ovviamente io non mi assumo nessuna responsabilità riguardo eventuali danni di qualsiasi natura nati da queste operazioni, ognuno le fa a proprio rischio e pericolo, tenete presente che è possibile distruggere irrimediabilmente il proprio dispositivo senza potersi rivalere della garanzia, buttando di fatto via i soldi dell'acquisto. Rifletteteci.
***Creare la prima serie di immagini del sistema vergine***
La prima operazione da fare è un'immagine completa del telefono nuovo di zecca, ci sono altri modi più corretti di backup per la partizione EFS, questo però esegue il backup di tutte le partizioni:
1. attaccare il telefono al PC e attivare debug USB sotto impostazioni - sviluppo
2. aprire una shell sul PC (con windows basta digitare cmd nel campo di testo del menu start)
3. verificare che il delefono sia riconosciuto
adb devices
4. eseguire la procedura di backup
adb shell
su -
for i in boot cache dgs efs metadata misc param radio recovery sbl system xloader
do
dd if=/dev/block/platform/omap/omap_hsmmc.0/by-name/${i} of=/sdcard/${i}.img &
done
la lista delle immagini che otterrete dovrebbe essere questa, in caso contrario qualcosa è andato storto:
boot.img
cache.img
dgs.img
efs.img
metadata.img
misc.img
param.img
radio.img
recovery.img
sbl.img
system.img
xloader.img
5. copiare i files immagine del backup sul PC
adb pull /sdcard/${i}.img <percorso dove si vuole copiare i files sul PC>
***Ottenere root senza sbloccare il bootloader***
Attenzione: questa procedura funziona solo sulle versioni ITL41D (4.0.1), ITL41F (4.0.1) e ICL53F (4.0.2)
1) Scaricare i file allegati nel post originale nel vostro computer e decomprimerli nella stessa directory del file adb.exe
2) Aprire un prompt dei comandi nella stessa directory (vedi punto 2 paragrafo precedente)
3) Copiare i file sul dispositivo:
adb push mempodroid /data/local/tmp/mempodroid
adb push su /data/local/tmp/su
adb push Superuser.apk /data/local/tmp/Superuser.apk
4) Aprire una shell:
adb shell
5) cambiare l'autorizzazione su mempodroid per consentirne l'esecuzione:
chmod 777 /data/local/tmp/mempodroid
6) Eseguire l'exploit:
./data/local/tmp/mempodroid 0xd7f4 0xad4b sh
Nota: a questo punto il prompt dovrebbe cambiare da $ a #. In caso contrario, l'hack non ha funzionato.
7) Montare la partizione di sistema in lettura/scrittura:
mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
8) Copiare su in /system:
cat /data/local/tmp/su > /system/bin/su
9) Modificare le autorizzazioni di su:
chmod 06755 /system/bin/su
10) Copiare Superuser.apk:
cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
11) Modificare le autorizzazioni di Superuser.apk:
chmod 0644 /system/app/Superuser.apk
12) Montare la partizione di sistema in lettura/scrittura:
mount -o remount,ro -t ext4 /dev/block/mmcblk0p1 /system
13) annullare il root:
exit
14) Uscire dalla shell ADB:
exit
15) Fatto. Ora il telefono dovrebbe avere i permessi di root abilitati, senza dover sbloccare il bootloader.
***Backup con CWM***
Siccome sono un tipo piuttosto paranoico, dopo aver ottenuto i permessi di root ho voluto fare anche un backup del telefono tramite nandroid via ClockWorkMod; ecco la procedura passo passo (Nota: questo presuppone che si disponga dei driver per il dispositivo impostati correttamente e di aver eseguito il backup dei dati personali - ad esempio video, foto, musica, ecc - da qualche parte fuori dal dispositivo)
1) Scaricare l'immagine di clickworkmod e posizionare i file nella directory di adb;
2) Riavviare il dispositivo in modalità bootloader (spegnerlo, tenere premuto il volume su e volume giù premendo power) e collegarlo al vostro computer via USB;
3) Aprire un prompt dei comandi nella stessa directory sopra e procedere come segue:
a) Assicurarsi che il computer riconosca il dispositivo digitando:
fastboot devices
b) Sbloccare il bootloader:
fastboot oem unlock
c) Viene visualizzato un messaggio sul dispositivo che avvisa che verranno eliminati tutti i dati presenti (compresa la directory /sdcard). Accettare.
d) Riavviare:
fastboot reboot-bootloader
e) Avviare nel sistema operativo:
reboot fastboot
f) Attendere il riavvio completo poi spegnere e riavviare il sistema in modalità fastboot (VOl su + Vol giu + Power).
g) Avviare CWM:
fastboot boot recovery-clockwork-5.5.0.2-maguro.img
h) Apparirà il prompt della CWM sul telefono, tramite i tasti volume e power navigare tra i menu per eseguire il backup della propria build (sotto la voce backup);
i) Riavviare
j) Ora avete un backup completo della vostra build attuale in /sdcard/ClockworkMod/backup. Salvare questa directory sul PC
***flashare yakju***
Attenzione: questa operazione cancellerà tutti i dati dal proprio dispositivo
Preparare le operazioni di flash
1) Tutti i file che sono necessari devono essere messi nella stessa directory, che dovrebbe essere quella di adb senza sottocartelle.
2) Scaricare la versione di Android che si desidera da qui.
3) Scaricare la versione appropriata (per il proprio computer) di 7-zip e installarlo.
4) Estrarre i file all'interno del file .tgz che avete scaricato al punto 3 con 7-zip, non WinZip o WinRAR o qualsiasi altra cosa.
5) Assicurarsi di aver estratto tutti i file (inclusi i file in qualsiasi archivio all'interno del file .tgz). Si dovrebbero avere sei (6) file che terminano con .img nella directory creata nel passaggio 1. Gli altri file estratti non sono necessari;
6) Riavviare il dispositivo in modalità bootloader (spegnendolo tenendo premuto volume su e volume giù, quindi premere power) e collegarlo al computer;
7) Aprire un prompt dei comandi nella stessa directory e procedere come segue:
8) Assicurarsi che il computer riconosca il dispositivo:
fastboot devices
9) Sbloccare il bootloader (se non è stato già fatto):
fastboot oem unlock
10) Viene visualizzato il messaggio di avviso reset totale sul dispositivo; accettare.
11) Riavviare:
fastboot reboot-bootloader
12) Opzionale - Flash del bootloader:
fastboot flash bootloader bootloader-maguro-primela03.img (o qualunque sia il nome dell'immagine bootloader che avete scaricato).
13) Riavvio (non necessario se non si è fatto fatto il passo 12):
fastboot reboot-bootloader
14) Opzionale - Flashare la radio:
fastboot flash radio radio-maguro-i9250xxla02.img (o qualunque sia il nome è l'immagine radio che si è scaricata).
15) Reboot (non necessario se non si è fatto il passo precedente):
fastboot reboot-bootloader
16) Flash della partizione di sistema:
fastboot flash system system.img
17) Flash della partizione dati:
fastboot flash userdata userdata.img
Nota: questo comando cancellerà il dispositivo anche se il bootloader è già stato sbloccato.
18) Flash della partizione di avvio:
fastboot flash boot boot.img
19) Opzionale - Flash della partizione di ripristino:
fastboot flash recovery recovery.img
20) Cancellare la partizione di cache:
fastboot erase cache
21) Reboot:
fastboot reboot
22) Fatto!
NOTA:
1) Non è necessario ri-bloccare il bootloader dopo aver finito.
2) Avere un bootloader sbloccato non influisce su tutto ciò che riguarda la ROM/GoogleWallet/OTA. Niente di niente.
3) Se il bootloader è bloccato, non è possibile utilizzare i comandi fastboot. Questo è il motivo principale per non farlo.
4) Se il bootloader è bloccato, ed è necessario sbloccarlo, cancellerà tutto, anche /sdcard. Questo è il grave inconveniente di ri-bloccare il bootloader in un secondo tempo.
5) bloccare il bootloader solo se è necessario restituire il dispositivo al negozio per un intervento in garanzia; Il comando è:
fastboot oem lock