Réinstallation ROM constructeur sur Samsung Galaxy S3 Mini

Mise à jour : Android 7.1

Ce document décrit la réinstallation d'une ROM constructeur (ROM stock) dans le cas d'un périphérique Samsung Galaxy S3 Mini. L'installation s'effectue en mode download, en utilisant le logiciel Heimdall.

1 - Préalable

On suppose le logiciel Heimdall disponible sur le PC

2 - Installation

2.1 - Télécharger la ROM

Télécharger la ROM (ou firmware) d'origine. Les roms Samsung sont généralement disponibles, gratuitement, après inscription, sur les sites suivants :

Dans ce qui suit, on télécharge la rom du GT-I8190 en version 4.1.2 disponible sur les sites updato et sammobile aux adresses suivantes :

https://updato.com/firmware-archive-select-model?record=A92C3F211C1E11E6949E0CC47A44B7B2
https://www.sammobile.com/firmwares/galaxy-s--mini/GT-I8190/XEF/download/I8190XXAMG4/26233/

2.2 - Accéder au contenu de la ROM

$ unzip GT-I8190_XEF_1_20130905162823_zgmg7avpcr.zip 
$ mv I8190XXAMG4_I8190XEFAMH1_HOME.tar.md5 I8190XXAMG4_I8190XEFAMH1_HOME.tar
$ tar xvf I8190XXAMG4_I8190XEFAMH1_HOME.tar
boot.img
modem.bin
recovery.img
STE_boot1.img
STE_boot2.img
system.img
cache.img
hidden.img

2.3 - Faire correspondre les fichiers avec les partitions

Crédit : https://forum.xda-developers.com/wiki/Heimdall

$ heimdall download-pit --no-reboot --output I8190.pit
$ heimdall print-pit --no-reboot --file I8190.pit |grep 'Partition Name:\|Flash Filename:' |perl -pe 's/Partition Name: (.*?)\n/--\1 /' |perl -pe 's/(.*?Flash Filename: \n)|(Flash Filename: )//' |perl -pe 's/\n/ \\\n/'
--MasterTOC STE_boot.bin \
--PIT goldenxx.pit \
--MD5HDR md5.img \
--STEboot1 STE_boot1.img \
--STEboot2 STE_boot2.img \
--Dnt dnt.ssw \
--CSPSAFS cspsa.img \
--CSPSAFS2 cspsa2.img \
--EFS EFS.img \
--ModemFS modemfs.img \
--ModemFS2 modemfs2.img \
--Fota ssgtest.img \
--IPL Modem ipl.bin \
--Modem modem.bin \
--Loke4 normal.bin \
--2ndLoke4 normal2.bin \
--PARAM param.lfs \
--Kernel boot.img \
--Kernel2 recovery.img \
--SYSTEM system.img \
--CACHEFS cache.img \
--HIDDEN hidden.img \
--DATAFS userdata.img \

ou bien connaissant le nom du fichier pour trouver le nom de la partition :

$ heimdall print-pit --no-reboot |grep -B12 modem.bin |grep "Partition Name"
Partition Name: MODEM

2.4 - Installer la ROM ou une de ses partitions

$ sudo heimdall flash --Kernel2 recovery.img
$ sudo heimdall flash 
--STEboot1 STE_boot1.img \
--STEboot2 STE_boot2.img \
--Modem modem.bin \
--Kernel boot.img \
--Kernel2 recovery.img \
--SYSTEM system.img \
--CACHEFS cache.img \
--HIDDEN hidden.img \