Modding in dettaglio Nexus S
Tutto quel che ho dovuto e a volte non voluto conoscere...
La guida avrà un andamento diciamo enciclopedico, ovvero non ci sono passi da seguire per ottenere qualcosa ma varie spiegazioni.
Il cellulare può essere visto dal pc in 2 modi: via bootloader o all' interno della rom caricata.
Viene dato per scontato che il cell venga visto dal pc.
Se non è così ci son 2 guide per la configurazione: per i9023 e i9020a e per i9020t (per entrambe è da fare solo la part 1).
Nel caso serva aggiungo un link con SDK + Adb + Fastboot preso da XDA
Via BOOTLOADER (schermatina con l’ androidino).

Ci si arriva tenendo premuto, a cellulare spento e scollegato, “volume su+power” e in questa si opera tramite l’ eseguibile fastboot.exe (da qui il nome “fastboot mode”) presente nella cartella \tools dell' SDK.
Fastboot essendo un comando dato dal pc al cell, richiede che i file da flashare, SIANO NELLA STESSA CARTELLA DI FASTBOOT.EXE, e di conseguenza che il cell sia attaccato al pc.
Fastboot ha vari comandi e opzioni, ma a noi interesseranno solo:
“fastboot devices”: se il cellulare è configurato per fastboot il comando restituirà <un seriale>; in caso negativo invece dirà <waiting for devices>. Questo comando non fa nulla di che, e infatti serve semplicemente per vedere se è possibile dare altri comandi.
“fastboot oem unlock” : sblocca il bootloader (passo fondamentale per installare la recovery)
“fastboot oem lock” : blocca il bootloader (utile se si deve mandare in assistenza)
“fastboot boot recovery.img” : fa partire il file recovery.img (che dal nome evocativo sarà una recovery modificata): vale solo per un boot, appena si rebootta o si spegne il cell la recovery viene persa.
“fastboot flash recovery recovery.img”: al contrario del comando di prima il parametro flash richiede il nome della partizione in cui effettivamente flashare il file; amenochè di script strani tipo quello della stock gingerbread la recovery rimarrà.
Per avere la recovery sempre su anche nella stock gingerbread è possibile rinominare il file "/etc/install-recovery.sh" usando o l' app Rootexplorer (a pagamento) o ES Gestore File (free) dal cellulare oppure coi 2 programmi che ho elencato in fondo alla guida (accedendo da rom avviata e rootata).
Da fastboot è possibile flashare anche rom\kernel e quant’ altro, formattare partizioni ecc…ma vista la scomoda interfaccia a riga di comando di solito si opta a fare tutte queste operazioni dalla recovery modificata (da qui in poi semplicemente recovery).
Trucchetto: fatevi un collegamento sul desktop a un file .bat contenente il comando più usato.
Piccola digressione sulle partizioni:

Esistono 6 partizioni importanti nel nexus s:
\boot: contiene il kernel, formattatela senza rimetterci nulla e non credo andrete oltre il logo google
\recovery: contiene la omonima
\system: contiene la rom (e alcune modifiche che un kernel può aver apportato), formattatela senza rimetterci nulla e non credo andrete oltre il logo google
\data: contiene le impostazioni della rom, delle app installate, degli account google associati; insomma tutto ciò che è stato creato postumo alla rom. Se la formattate tuttavia non tornerete a uno stato di rom vergine, per il fatto che android tende a mettere molte app (gli apk perlomeno) nella cartella “.android_secure” che sta nella sd.
\cache: lo dice il nome, è una partizione che contiene dati temporanei per un veloce accesso, è cancellabile/formattabile sempre senza danni.
\dalvik-cache: è la cache della macchina virtuale dalvik su cui android gira, è cancellabile/formattabile senza danni come sopra.
Le 2 partizioni cache (soprattutto la dalvik) è consigliabile formattarle dopo aver cambiato kernel, per non avere dati sporchi del kernel precedente in giro.
Trucchetto: se sentite che il kernel non funziona bene e volete tornare a quello fornito con la rom basta che riflashate la rom su se stessa (magari formattando \boot e \system prima se volete): non perderete nulla.
Oltre a questa c’è la cartella \efs che contiene L’ IMEI del cellulare più altri dati sensibili. NON VA MAI TOCCATA.
Di seguito l’ ordine in cui il cell carica tutto quanto:
(boot+rom) \bootloader => \boot => \system => tutto il resto
(recovery) \bootloader => \recovery
Consideriamo ora cosa può fare la CLOCKWORKMOD (la recovery modificata più usata per il nexus s)

Attualmente alla versione 5.0.2.3.
La recovery, essendo un comando dato dal CELL a se stesso, richiede che i file da flashare SIANO NELLA SDCARD.
wipe: Qui avete tutte le voci che permettono una comoda pulizia delle partizioni interessate, in dettaglio c’è:
wipe data/factory reset: non fa altro che formattare \data, \cache e cancellare il contenuto della cartella “.android_secure” nella sd.
Il resto della sd non viene toccato. Non viene toccata manco la partizione \system e \boot.
Questo è il classico reset di fabbrica, e riporta la rom corrente allo stato vergine (kernel postumo e modifiche di sistema a parte).
Si usa questo comando prima di installare un'altra rom perché \boot e \system verranno sovrascritte al nuovo flash (non dovrebbe essere necessario formattarle quindi, anche se io lo faccio lo stesso).
wipe cache e wipe dalvik-cache: cancellano le rispettive cache (si usano prima di flashare un kernel; se vi scordate va bene anche subito dopo).
wipe batterystats: cancella il file batterystats obbligando il sistema a ricrearlo. Il file batterystats contiene le informazioni della batteria come ciclo di carica/scarica e viene cancellato per ricalibrare la batteria. E’ la stessa cosa che fan le varie magiche app per ricalibrare la batteria…
Install zip from sdcard: Qui potete flashare un qualsiasi zip contenuto nella sd (radio, rom, kernel, impostazioni strane, tweak utili, qualche app di sistema: di tutto e di più insomma).
Mounts and storage: Qui potete formattare singolarmente le partizioni che vi interessano e montare la sd del cellulare come chiavetta usando “mount USB storage” (comunemente usato quando si vuole cambiare rom ma ci si è scordati di mettere lo zip nel cellulare prima di riavviare). Qui potete anche formattare singolarmente tutte le partizioni.
Advanced: Se qualcosa va storto fate un giro di “fix permissions” prima di procedere coi vari wipe o reflash.
Per riavviare quando si ha finito consiglio sempre di usare power off e riavviare a mano, per evitare problemi.
Il root nella rom stock (le rom modificate son TUTTE già rootate).
Avere i permessi di root è assimilabile ad avere i permessi di amministratore in windows, ovvero il totale controllo sulla macchina. Il sistema infatti definisce come detentrice dei poteri assoluti la radice (root in inglese).
Nella rom stock i permessi si ottengono flashando (da recovery) uno zip creato da ChainsDD, (il developer dietro alla app SuperUser) che semplicemente va a sostituire alcuni file nella cartella system. Il file è reperibile anche nel suo thread di xda o tramite l’ app superuser, che scaricherà per voi lo zip su sd, attualmente alla versione 3.0.7.
Questo zip vale per TUTTE le versioni di android dalla 2.1 in su.
Ci son miliardi di altri metodi che lo fan in un click, due, girando su se stessi, facendo capriole per aria (vari nomi che ho visto sono superboot, oneclickroot ecc); tutti metodi che sembran facilitare il procedimento ma che non danno alcun controllo sulla cosa, e che se non funzionano lasciano l’ utente spiazzato e confuso.
Fidatevi, flashate lo zippino e vivrete felici con la stock.
Oltre ai permessi di root serve anche l’ app superuser, che non fa altro che regolamentare quale app può accedere come root e quale no.
Insomma flash zip e superuser app e siete root, il cellulare è completamente vostro.