Réinstallation ROM constructeur sur Samsung Galaxy A5 2017

Mise à jour : Android Buster 10.2 - Heimdall 1.4.1-2+b1

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

1 - Préalable

1.1 - Installer Heimdall

1.2 - Identifier le périphérique

Nom modèle		SM-A520F
Nom appareil a5y17lte
Version du bootloader           A520FXXUBCSG1
Version de radio A520FXXUBCSG1
Code CSC XXF

Il ne sera pas nécessaire de réinstaller les partitions du bootloader et de radio si elles sont à jour

2 - ROM constructeur

2.1 - Télécharger la ROM constructeur

https://www.sammobile.com/samsung/galaxy-a5-2017/firmware/SM-A520F/XEF/download/A520FXXUBCSG1/287589/
ou
https://samsung-firmware.org/model/SM-A520F/region/FTM/
FTM-A520FXXUBCSG1_A520FFTMBCSG1-20190711.zip

2.2 - Accéder au contenu de la ROM

$ unzip FTM-A520FXXUBCSG1_A520FFTMBCSG1-20190711.zip -d A5_20190711
Archive: FTM-A520FXXUBCSG1_A520FFTMBCSG1-20190711.zip
inflating: BL_A520FXXUBCSG1_CL13712092_QB24584159_REV00_user_low_ship.tar.md5
inflating: AP_A520FXXUBCSG1_CL13712092_QB24584159_REV00_user_low_ship_meta.tar.md5
inflating: CP_A520FXXUBCSG1_CP13170899_CL13712092_QB24584159_REV00_user_low_ship.tar.md5
inflating: HOME_CSC_FTM_A520FFTMBCSG1_CL16370216_QB24646958_REV00_user_low_ship.tar.md5
inflating: CSC_FTM_A520FFTMBCSG1_CL16370216_QB24646958_REV00_user_low_ship.tar.md5
AP	System & recovery & boot
BL Bootloader
CP Modem / Radio
CSC_ Consumer Software Customization : Country / Region /Operator (FTM = France)
HOME_CSC
$ cd A5_20190711
$ rm HOME_CSC_FTM_A520FFTMBCSG1_CL16370216_QB24646958_REV00_user_low_ship.tar.md5
$ for i in *.tar.md5; do tar -xvf $i; done
$ lz4 -dm *.lz4
$ rm *.lz4 *.tar.md5

$ ls
A5Y17LTE_EUR_OPEN_HIDDEN200M.pit cm.bin modem.bin sboot.bin
boot.img hidden.img param.bin system.img
cache.img meta-data recovery.img

3 - Flashage

3.1 - Charger la table de partition

$ adb reboot download
$ heimdall detect
Device detected
$ heimdall download-pit --output A520.pit
......
Downloading device's PIT file...
PIT file download successful.

Ending session...
Releasing device interface...

3.2 - Identifier les partitions et fichiers à flasher

Pour faire correspondre la table de partition avec les fichiers fournis, utiliser

A5Y17LTE_EUR_OPEN_HIDDEN200M.pit
$ heimdall print-pit --file A5Y17LTE_EUR_OPEN_HIDDEN200M.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/'
--BOOTLOADER sboot.bin \
--CM cm.bin \
--ECT ect.bin \
--PIT - \
--MD5HDR md5.img \
--BOTA0 - \
--BOTA1 - \
--EFS efs.img \
--CPEFS cpefs.img \
--m9kefs1 m9kefs1.bin \
--m9kefs2 m9kefs2.bin \
--m9kefs3 m9kefs3.bin \
--CARRIER carrier.img \
--PARAM param.bin \
--BOOT boot.img \
--RECOVERY recovery.img \
--OTA - \
--RADIO modem.bin \
--TOMBSTONES tombstones.img \
--DNT dnt.ssw \
--STEADY steady.bin \
--RESERVED2 - \
--SYSTEM system.img \
--CACHE cache.img \
--HIDDEN hidden.img \
--CP_DEBUG modem_debug.bin \
--NAD_FW nad_fw.bin \
--NAD_REFER nad_refer.bin \
--USERDATA userdata.img \

Note : le fichier meta-data/fota.zip n'est pas utilisé semble-t-il dans le cas d'un flashage avec heimdall. 

$ heimdall print-pit --file A5Y17LTE_EUR_OPEN_HIDDEN200M.pit |grep -B1  "boot.img"
Partition Name: BOOT
Flash Filename: boot.img

$ heimdall print-pit --file A5Y17LTE_EUR_OPEN_HIDDEN200M.pit |grep -B1 "recovery.img"
Partition Name: RECOVERY
Flash Filename: recovery.img

3.3 - Flashage

$ heimdall detect

Mais, dans la pratique, un redémarrage est nécessaire entre deux commandes pour que la seconde soit prise en compte

$ sudo heimdall flash --BOOT boot.img
.....
Heimdall v1.4.2
....

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Uploading BOOT
100%
BOOT upload successful

Ending session...
Rebooting device...
Releasing device interface...
$ sudo heimdall flash --RECOVERY recovery.img
$ sudo heimdall flash \
--BOOTLOADER sboot.bin \
--CM cm.bin \
--PARAM param.bin \
--BOOT boot.img \
--RECOVERY recovery.img \
--RADIO modem.bin \
--SYSTEM system.img \
--CACHE cache.img \
--HIDDEN hidden.img