Buongiorno cari,
Questa giuda è ALTAMENTE SPERIMENTALE, nasce da un mio vecchio pallino:
voler modificare i file IMG stock in modo da poter flashare direttamente un firmware modificato da fastboot.
Ci sono strade più facili e meno incasinate, ma come vi ho detto, è una questione che mi tocca da diverso tempo e [edit] ci sono finalmente riuscito.Direte voi, a che serve considerando la facilità con cui si flashano le rom con la recovery?
A Niente!
Prerequisiti1) UBUNTU 12.04 LTS a 32 bit correttamente installato (io ho usato un virtualizzatore)
1a) 7Zip installato (può tornare sempre utile)
2) Il pacchetto con le immagini delle partizioni che si usa per ripristinare il nexus
3) Il pacchetto contenente i programmi che ci permetteranno di realizzare la magia!Procedimento
PRIMA PARTE: Rendiamo leggibile il contenuto
Le immagini delle partizioni che si flashano direttamente sul telefono sono in un formato particolare, che ha bisogno di essere trattato prima di essere manipolato. Ora vi spiego come fare.
0) Posizionatevi nella cartella "NEXUS_4_MakeSystem" con il terminale
dopo averlo ovviamente decompresso sul desktop con 7zip o similicodice:cd [trascinare la cartella]
1) Estraete dal file contenente la factory image il file "system.img" e posizionatelo all'interno della cartella "NEXUS_4_MakeSystem"
2) Date il comando (copia e incolla)
creerete così la cartella "update" all'interno di "NEXUS_4_MakeSystem". Se il nome non vi piace cambiatelocodice:mkdir update
3) Date il comando (copia e incolla)
creerete così un file "output.img" di circa 900 mb. Quella è la nostra partizione non compressa. se il nome non vi piace, mettete quello che vi pare.codice:./simg2img system.img output.img
4) Date il comando
questo comando monterà l'immagine appena creata nella cartella "update", in modo da renderne visibile il contenuto.codice:mount -t ext4 -o loop output.img update/
BENE! Questa è fatta.SECONDA PARTE: Modificare il contenuto
Arrivati a sto punto avete una cartella che potete modificare solo utilizzando il terminale.
Se siete arrivati qui dalla parte precedente della guida, dovreste essere ancora operativi come utente root
Per verificarlo guardate il terminale, se come ultimo carattere della riga è presente il carattere # vuol dire che siete loggati come root, diversamente se è presente $ siete loggati come amministratore semplice, e non potrete operare in quella cartella.
È importante.
Ora vediamo come fare per modificare i file.
1) Per copiare un file:
2) Per copiare una cartellacodice:cp [trascinare file origine] [trascinare cartella destinazione]
3) Per eliminare un filecodice:cp -r [trascinare cartella origine] [trascinare cartella destinazione]
4) Per eliminare una cartellacodice:rm [trascinare il file]
Questi sono i comandi base per editare la partizione system, vi ricordo che bisogna essere utente root (almeno nel terminale) per poterlo fare.codice:rm -r [trascinare la cartella]TERZA PARTE: Ricreare la partizione
Ultima parte della guida, conclusa questa sarete in possesso di una immagine system.img da flashare con fastboot o con i vari tools disponibili per il nexus. il procedimento necessita dei privilegi di root dal terminale #
1) Posizionatevi nella cartella "NEXUS_4_MakeSystem" con il terminale
2) Dare il comando (copia e incolla)
questo è il comando principale, dategli il tempo necesario e creerà un file chiamato "new_system.img" all'interno della cartella "NEXUS_4_MakeSystem". Volendo siete già pronti per flashare.codice:./make_ext4fs -s -l 840M -a system new_system.img update/
3) Smontare la partizione su cui abbiamo lavorato
4) Rimuovere la cartella "update"codice:umount update
5) Digitare sul terminalecodice:rm -rf [trascinare cartella]
per tornare ad avere i privilegi di utente normalecodice:exit
6) Ripetere il punto 5 per chiudere il terminale.
Fatto! ora avete a disposizione una immagine moddata a vostro piacimento che potrete flashare, e avrete ripulito la cartella di lavoro dalle varie cartelle con i permessi di root.Consigli Finali
È un procedimento DELICATO, se non siete pratici rischiate di combinare casini.Permessi File e Esecuzione
Nel caso qualcuno ci provi, e come è successo a me si impantani nell'esecuzione dei programmi da terminale, deve tenere in considerazione due cose fondamentali:
1) I file "simg2img" e " make_ext4fs" sono dei programmi, e nei permessi devono avere le autorizzazioni ad essere eseguiti.
se non sapete come fare, nel terminale digitate
2) I programmi si eseguono solo su macchina a 32 bit!codice:sudo chmod 755 [trascinare file]
A me rendeva continuamente un errore, cambiato sistema operativo (da ubuntu x64 a x 86) hanno funzionato perfettamente.
Prima di tutto (anche prima di installare ubuntu, non si sa mai :P), fare un NANDROID BACKUP da una condizione stabile in modo da poter tornare indietro senza perdere dati.