Da qualche mese mi sono fatto il mio primo smarthone, un Samsung Galaxy Ace 2 che uso incelofanato come un cimelio in una custodia antiacqua e antipolvere.
Quello di Android per me è un mondo tutto nuovo, ci sono un sacco di superesperti e tonnellate di guide; l’approccio a questo mondo mi ricorda i miei primi goffi tentativi con Linux.
Come ogni smanettone che si rispetti il desiderio di passare dal vetusto Android 2.3 Gingerbread al fiammante Jelly Bean 4.1 era forte ma non avrei mai osato metter mano ad device vista la mia zero esperienza, troppi rischi poi forse arriverà da solo (mha..dice).
Dovete sapere che mi sono procurato una super microSD classe10 da 64Gb pur sapendo del limite dichiarato di 32 GB per il mio modello e nonostante venga riconosciuto tutto lo spazio mi dava problemi di partizionamento, mi ci volevano i permessi di root.
I dispositivi Android in commercio infatti non offrono all’utente privilegi di root per evitare che gli utenti possano involontariamente danneggiare il sistema ed invalidare la garanzia.
Essendo ancora in un mondo Windowscentrico per i Linuxiani non sempre esiste una alternativa affidabile per questo genere di operazioni.
La maggior parte delle guide infatti vertono sul programma Odin che abbinato a Kies pare una soluzione piuttosto affidabile per interfacciarsi al Samsung.
Vengo a sapere che la stessa cosa si può fare su Linux con Heimdall, ottimo!!
Gia stavo scaldando Synaptic per una difficile compilazione quando Ohibò noto che Heimdall è presente nei repo Debian Sid (sono pure aggiornati quindi ottimo per questo genere di software) e ne faccio man bassa.
I pacchetti da scaricare sono:
Cuore del programma a linea di comando:
heimdall-flash
Interfaccia grafica (GUI):
heimdall-flash-frontend
(in fondo alle rispettive pagine trovate i link ai .deb amd64/i386)
Per lanciare l’interfaccia dare da terminale il comando heimdall-frontend (in download mode, vedi sotto per info su questa modalità).
Nota: Possiamo verificare la connessione in Utilities con il tasto Detect.
Modalità speciali:
Ho scoperto che Android dispone di due particolari stati dedicati agli smanettoni:
Download mode: sul Galaxy Ace 2 vi si accede con la combinazione volume giu+ home + tasto di accensione, permette di mettere in ricezione il device ed è indispensabile per connetterlo a Heimdall.
Recovery mode: vi si accede con la combinazione volume su + home + tasto di accensione, rende possibili una serie di operazioni molto geekose, è bene farsi un bel backup e selezionare wipe data/factory reset prima di installare la ROM.
Il misterioso pit:
Dopo varie imprecazioni e ravanate di google ecco che iniziano in me a delinearsi le prime rudimentali nozioni androidesche.
Nel dispositivo risiedono tante “caselle” o entry ognuna contenente una parte della installazione ed il pit tiene traccia del loro nome e posizionamento.
Per visualizzare a schermo i segreti del nostro dispositivo basterà dare
heimdall print-pit
Un maldestro tentativo di root (non avevo decompresso il kernel) fa entrare il mio device in loop: logo e riavvio continuo tanto che ho dovuto rimuovere la batteria…panico (dicesi brikkare, si veda articolo successivo per la procedura corretta).
A questo punto dovevo fixare, non avevo scelta ma non avevo idea di dove mettere le mani!!
Le guide erano decine ed ognuna di esse usava file e sistemi differenti, e ancora non avevo capito come usare heimdall-frontend.
Come al solito in questi casi la soluzione migliore è dormirci sopra e approcciare in modo umile e tranquillo.
Non sapendo come ripatchare il kernel mi sono concentrato su come riflashare l’intero sistema (mio Dio) con Heimdall.
Mi concentro su due siti: SamMobile e Samsung Updates dai quali è possibile scaricare i firmware del mio Ace 2.
Essendo il file in questione di oltre 400Mb mi tengo la versione di SamMobile (occorre registrarsi per poter scaricare) sebbene Samsung Updates che ho scoperto dopo mi ispirasse di più (mi muovevo a tentoni).
Pare che serva anche il region name.
Riesco a trovare una guida per Heimdall a prova di niubbio ed ecco in modo assai grezzo quello che ho capito:
1 – Scaricare e scompattare due volte il firmware da .zip tar.md5 ed estraggo ancora i singoli files md5 all’interno.
cache.img.md5
kernel.bin.md5
SS_DL.dll (ho ignorato questo file)
hidden.img.md5
modem.bin.md5
system.img.md5
Questi sono i file “patchatori” che andranno a riscrivere le relative omonime sezioni presenti le Samsung, e qui rientra in scena il famigerato pit.
heimdall-frontend integra un tool che permette di scaricare il pit (la radiografia del nostro device):
2 – Accoppiare i file del firmware con i relativi moduli estrapolati dal pit (in genere hanno nomi uguali o simili).
Scheda Flash —> Partition Name seleziono una delle voci -pit
Browse—> Appiccicarci il relativo file che decompresso dal mega archivio del firmware
Cliccare Add
Questa operazione va ripetuta per tutte le voci disponibili relative al pit.
Nel caso del mio GT-i8160P ecco le corrispondenze:
HIDDEN
hidden.img.md5Kernel
kernel.bin.md5Modem
modem.bin.md5CACHEFS
cache.img.md5PWR MGT
power_management.bin.md5SYSTEM
system.img.md5
Nota: volendo possiamo fare a manina passando ad Heimdall i singoli comandi ma in questo caso sarebbe facile sbagliarsi (vedi maiuscole e minuscole).
Nota2: advanced/Verbose output mostra un output dettagliato di eventuali errori, se avrete un errore di connessione USB provare a disconnettere in modo sicuro lo smartphone e riconnetterlo (mi ci è voluta mezzora di improperi per capirlo), verifichiamo di avere le librerie libqtcore4 e libsmokebase
Se tutto è andato bene visualizzarerte una serie di schermate come queste:
Questo solo apparentemente complicato procedimento mi ha permesso di recuperare Android anche se temo di aver incrementato il contatore che appare in download mode invalidando la garanzia… (tenetene magari conto).
Di certo questo sistema non sarà il migliore ma come al solito quando ci batti la testa qualcosa impari e ci tiri fuori, solo qualche giorno fa non pensavo di riuscire a farlo… ed ora mi sento sulla strada giusta per Jelly Bean 🙂
Chris Daley says
Thanks for posting this, I was able to update my phone successfully using Heimdall.
fabrixx says
🙂 Very Good Chris