Ogni proprietario di uno smartphone Samsung prima o poi sa che dovrà usare ODIN, il tool per il download o il flashing delle ROM. Il problema è che ODIN può essere eseguito solo su MS Windows ed ogni tentativo di farlo funzionare, per gli utenti GNU/Linux, sotto una macchina virtuale fallisce miseramente (esperienza personale), con grande frustrazione.
Deve essere per questo motivo che Benjamin Dobell ha deciso di sviluppare un tool multipiattaforma opensource, quindi anche per GNU/Linux, chiamato Heimdall e disponibile qui: glassechidna.com.au/heimdall/
Heimdall è composto da una parte a riga di comando e da una GUI, ma personalmente preferisco avere il controllo di ciò che accade e quindi proverò a spiegarvi, man mano che lo faccio io, come utilizzarlo per aggiornare la ROM del vostro smartphone Samsung Galaxy con un sistema GNU/Linux. Sto utilizzando una Linux Mint 18.3 su processore a 64 bit.
Come prima cosa, installiamo le dipendenze necessarie alla compilazione del software:
sudo apt install qt5-default cmake
e poi scarichiamo Heimdall direttamente dal repository Gitlab:
git clone https://gitlab.com/BenjaminDobell/Heimdall
dalla directory Heimdall lanciamo la compilazione con:
cmake .
seguito da:
make
che, se non si verificano errori, impiegherà solo pochi istanti a terminare. A questo punto, installiamo il software nel sistema con:
sudo make install
adesso dovremmo avere disponibili i due comandi ‘heimdall‘ e ‘heimdall-frontend‘.
per iniziare, colleghiamo il nostro smartphone via USB avendolo già messo in modalità ‘Download mode’ (accendendolo mantenendo premuto i pulsanti home+power+vol down): un warning vi chiederà di confermare premendo il pulsante vol up e, a quel punto, comparirà una scritta “Downloading…”.
Adesso verifichiamo sia il funzionamento del collegamento che del software, con il comando:
heimdall print-pit
che, se tutto è andato a buon fine, visualizzerà le varie partizioni della ROM dello smartphone:
è importante prendere nota, o mantenere a disposizione, questo lungo elenco perché il nome delle partizioni sarà necessario per scrivere il nuovo firmware.
A questo punto possiamo scaricare la nuova ROM (ad esempio, ho appena caricato la ROM con Android 6.0.1 scaricata da qui: www.sammobile.com/firmwares/galaxy-s5-mini/SM-G800F/ITV/download/G800FXXU1CQA1/125036/) e scompattarla all’interno di una nuova directory. In questo caso, i files da caricare sullo smartphone sono:
procediamo adesso con il flashing del firmware sullo smartphone con il comando:
heimdall flash --[nome partizione] [file]
che, nel mio caso e prendendo nota dell’elenco delle partizioni visualizzato prima, sarà:
sudo heimdall flash --RECOVERY recovery.img --HIDDEN hidden.img --BOOTLOADER sboot.bin --SYSTEM system.img --RADIO modem.bin --CACHE cache.img
(sudo è necessario per poter permettere l’accesso al device attraverso la porta USB)
In pochi minuti il nuovo firmware sarà flashato nella ROM dello smartphone e, se tutto è andato per il meglio, il telefono sarà aggiornato.
Buon aggiornamento !
6 comments
Il repo è cambiato:
https://gitlab.com/BenjaminDobell/Heimdall.git => https://gitlab.com/BenjaminDobell/Heimdall
Grazie per la segnalazione!
For Fedora/RHL users you must have libusb-devel installed:
denf install -y libusb-devel
Si può flashare senza file hidden.img?
Nel firmware che ho scaricato non c’è questo file
Inoltre, sei sicuro che non debba flashare anche i file up_param.bin cm.bin ?
Scusami per i commenti multipli, comunque ce ne sono anche altri di file…
Ma soprattutto il boot.img che hai detto che va flashato. In che partizione va messo visto che nel bootloader c’è sboot.bin?