[TUTO][G800F][LINUX] Flasher firmware stock ou custom sans Odin

K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
7
Points
3
partie 1/3:
Bonjour

un petit tuto pour les possesseurs de Linux qui ne disposent donc ni d'Odin, ni des pilotes Samsung
et qui souhaitent malgré tout flasher une version de firmware pour Galaxy S5 mini.

/!\ AVERTISSEMENT /!\ :
Cette opération comporte des risques. Phonandroid et moi-même ne pouvons être tenus pour responsables des éventuels problèmes rencontrés !

Pré-requis :
  • Les paquets adb et heimdall de sa distribution Linux doivent être installés
par ex sous xubuntu 18
sudo apt-get install adb
sudo apt-get install heimdall-flash

ou sous Mageia7 via son Centre de Controle (CCM) les paquets
android-tools
heimdall

  • Un Samsung S5 Mini SM-G800F
le mien don d'un copain était bloqué par perte de l'empreinte alors j'ai commencé par un
effacement de celle-ci par reset usine après passage en mode Recovery (Touches Volume Haut+Power+Home)
  • un câble USB entre l'ordinateur et le smartphone
Maintenant,
les manips:

Ce S5 mini était opérationnel mais avec un firmware d'opérateur de CSC BOG et pas à la dernière version
(6.0.1/MMB29K/G800FXXU1CQA1)
une fois mis à jour tout à fait officiellement par le réseau il s'est retrouvé en version toujours CSC BOG
(6.0.1/MMB29K/G800FXXU1CRG3)
J'aurai pu en rester là mais je préfère avoir une version expurgée des applis opérateurs donc avec un CSC XEF
que j'ai téléchargée du site de Samsung
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

(Même et dernière version officielle en Android 6.0.1 que l'actuelle!)

Le fichier obtenu
G800FXXU1CRG3_G800FOXX1CRJ1_G800FXXU1CRG3_HOME.tar.md5
à la différence d'Odin où il suffit de le placer tel quel au bon endroit, sous Linux est à détarer en ligne de commande
1) tar -xvf G800FXXU1CRG3_G800FOXX1CRJ1_G800FXXU1CRG3_HOME.tar.md5
laquelle commande extrait les fichiers
sboot.bin
param.bin
boot.img
recovery.img
system.img
cache.img
hidden.img
modem.bin

qu'on est bien infoutu de relier aux partitions à flasher avec heimdall

Pour cela il faut faire le rapprochement avec le fichier de partition .pit embarqué dans le S5
comme je l'ai fait, les pas curieux peuvent directement aller en 3)
sinon pour les autres la vérification de la correspondance PARTITION/fichier .img se fait via l'affichage du .pit
se mettre en mode Download sur ce S5 (Touches Volume Bas+Power+Home)
puis sur PC par
2) heimdall print-pit --verbose

3) en mode Download sur le S5, flash de cette version XEF via sur PC
heimdall flash \
--BOOTLOADER ./sboot.bin \
--PARAM ./param.bin \
--BOOT ./boot.img \
--RECOVERY ./recovery.img \
--RADIO ./modem.bin \
--SYSTEM ./system.img \
--CACHE ./cache.img \

--HIDDEN ./hidden.img

ou en une seule ligne
heimdall flash --BOOTLOADER ./sboot.bin --PARAM ./param.bin --BOOT ./boot.img --RECOVERY ./recovery.img --RADIO ./modem.bin --SYSTEM ./system.img --CACHE ./cache.img --HIDDEN ./hidden.img
Cette dernière commande de flash lancée du répertoire où ont été extraits les .img

Il n'y a plus qu'à redémarrer le S5 puis à le configurer comme s'il sortait d'usine (langue, fuseau...etc)

En fait le CSC affiché n'est pas par défaut XEF, ce n'est pas non plus BOG (et les applis de cet opérateur ont bien disparu) mais ETL,
ceci parce qu'en fait Samsung livre des versions multi-CSC...
J'ai bien essayé de faire le changement suivant ce tuto,
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

car en fait ce comportement n'est pas propre à la méthode sous Linux/heimdall, il existe aussi sous Windows/Odin...
mais je n'ai pas réussi...
En réalité, je n'ai pas trop insisté car j'avais dans l'optique d'installer une version Custom avec un Android plus récent...
Ce sera dans la suite de ce TUTO :+)

Pour l'instant, pour étendre cela aux autres S5 mini voir à beaucoup de smartphones Samsung...
il faut juste se souvenir des quelques commandes citées
tar -xvf version_firmware_officielle (extraction des .img)
mode Download sur le téléphone
heimdall print-pit --verbose (pour faire la correspondance entre ces .img et les noms des partitions les embarquant)
mode Download sur le téléphone
heimdall flash --NOM_PARTITIONx fichierxCorrespondant.img --NOM_PARTITIONy fichieryCorrespondant.img...etc...etc (pour le flash proprement dit)

PS: le nommage tel qu'écrit dans le .pit du smartphone n'est pas anecdotique, j'étais tombé dans ce pb en flashant (sous Linux aussi :+) mon précédent S2
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

avant de m'apercevoir que l'échec venait d'orthographe et nom différent employés avec heimdall par rapport à la réalité du .pit du S2...
Alors pour ceux qui veulent étudier tranquillement le .pit de leur Samsung, il est possible de le mémoriser sur son ordinateur sans copier/coller d'écran
mode Download sur le téléphone
heimdall download-pit --verbose --output monSamsungPartitionsStock.pit
et lecture n'importe quand avec ou sans le téléphone
heimdall print-pit --file monSamsungPartitionsStock.pit
PS2: les perspicaces auront remarqué que la commande adb n'a pas été utile jusque là :+)
 
Dernière édition:
Dernière édition:
Fred

Fred

Administrateur
Inscrit
19 Juin 2011
Messages
57 959
Points
113
Salut et merci a toi pour ce tuto. (y)
 
K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
7
Points
3
Merci Fred,
avec suite de ce tuto de nouvelle année:
partie 2/3:
passage d'une version stock officielle à une version custom alternative

/!\ AVERTISSEMENT /!\ :
Cette opération comporte des risques. Phonandroid et moi-même ne pouvons être tenus pour responsables des éventuels problèmes rencontrés !

pour cela il faut ajouter aux 3 précédents d'autres

Pré-requis :

  • pour pleinement utiliser adb, passer son smartphone en mode développeur, puis autoriser le debug USB

    d'une version d'Android à l'autre, cela diffère quelque-peut, mais en l’occurrence sur ce S5 stock en Android 6.0.1, ce sont via les icones:
    _Appli->Paramêtres->à propos du téléphone
    se déplacer jusqu'à se positionner sur la version de build
    appuyer 7 fois sur celle-ci (une boite de dialogue indique le nombre d'appui) et le mode développeur sera activé
    _retour arrière dans Paramêtres pour chercher et ouvrir la nouvellement apparue
    Options pour les développeurs
    se déplacer jusqu'à Débogage Android pour
    Activer l'interface Android Debug Bridge (ADB)

  • se procurer une partition de recovery tierce plus étoffée que celle d'origine de Samsung

    il y a plusieurs fournisseurs, personnellement j'ai choisi celle de TWRP (Team Win Recovery Project) dédiée à ce S5 dont le petit nom est aussi kminilte
    S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

    prendre le .img et pas le .tar prévu pour Odin​
  • se procurer la ROM custom qui remplacera la ROM stock de Samsung

    là aussi plusieurs fournisseurs, personnellement j'en ai choisi une de LineageOS
    S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

    et plus précisément la version standard build correspondant à Android 9
    S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

    En fait, LineageOS ne fournissant pas ou plus officiellement de version récente d'Android pour ce S5
    c'est spookcity138 (merci à lui) de la communauté XDA qui fait évoluer le LineageOS open source de base.​
Une fois ces prérequis effectués,
les manips:

d'abord, vérification du dialogue adb entre smartphone et ordinateur via la commande
adb devices
si le retour indique une
List of devices attached vide de N° c'est que le dialogue n'est pas opérant alors il faut "tuer" le daemon adb via
adb kill-server
la commande adb devices se chargera de relancer le serveur, sinon faire avant
adb start-server
sur le smartphone si c'est vraiment la 1ère connexion avec le PC, une pop-up d'autorisation s'affiche, répondre oui
(et reaffichée si l'on change d'ordinateur)

Au final, le dialogue sera validé quand adb devices rendra un N° sous la liste de device
par ex sur mon PC Mageia5 adb devices renvoie
List of devices attached
320467e5658ac1b5 device


Ensuite installation du recovery tiers précédemment récupéré twrp-3.3.1-0-kminilte.img (renommé en recovery.img)
via du PC les commandes
adb reboot download (ben oui autant en profiter adb étant opérationnel,
sinon se mettre classiquement en mode Download sur le smartphone)
puis
heimdall flash --no-reboot --RECOVERY ./recovery.img
l'option --no-reboot fait qu'on reste en mode download, pour en sortir il faut enlever la batterie!
Le but est de s'assurer de redémarrer sur le nouveau recovery plutôt que sur celui de Samsung
ceci via (Touches Volume Haut+Power+Home) du téléphone.

Si le smartphone a malgré tout démarré et si le nouveau recovery est toujours en mémoire mais pas installé alors du PC un
1) adb reboot recovery
devrait faire apparaitre le menu TWRP sur le S5
Commencez par sélectionner le langage qui vous convient (sinon par défaut=anglais)
2) puis en bas
Glisser pour déverrouiller->Paramêtres avancés->Formater->Formatage avancé
et sélectionner tout (Cache Dalvik, Cache, Système, Données, Mémoire interne) sauf la carte micro SD

alors en bas
Glisser pour formater

cela effacera la ROM Samsung ainsi que toutes vos données!!!!!!

Une fois le formatage effectué toujours sur le S5 dans TWRP retour AR via en bas
triangle pointe à gauche 2 fois puis
Paramètres avancé->Transfert via ADB->Glisser pour débuter le transfert
par excès de précaution cocher les propositions d'effacer les cache Dalvik et Cache (à priori superflu puisque formatés précédemment)
le smartphone est alors placé en attente de la commande sur PC
3) adb sideload lineage-16.0-20191212-UNOFFICIAL-kminilte.zip

Il n'y a plus qu'à suivre l'avancement de l'installation autant sur PC que sur le S5 (sur ce dernier aucune erreur ne doit apparaitre, sinon recommencer les 2) et 3))
à la fin TWRP demande à redémarrer le système...

Le trébuchet symbole de LineageOS devrait alors apparaitre et mettre quelques longues minutes angoissantes avant que n'apparaisse vraiment le logo LineageOS,
signe que le smartphone tourne maintenant avec cette ROM alternative, ouf!!!!

Il n'y a plus qu'à prendre de nouvelles habitudes déjà en commençant par la configuration (langue, fuseau...wifi...etc) puisque ce S5 est comme sorti d'usine :+)
La suite de ce TUTO sera sur le comment installer des applications alors que cette ROM alternative n'embarque rien de Google donc pas son Play Store...

Là aussi ces commandes peuvent être étendues à d'autres smartphones Samsung, la condition étant de prendre les recovery et ROM tiers correspondant à celui-ci!
PS: bien que semblant fastidieux, ce flashage du S5 n'est rien comparé à la galère que j'ai rencontré à faire la même chose sur mon précédent S2
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
 
Dernière édition:
texas2607

texas2607

Moderateur Global
Inscrit
5 Février 2012
Messages
13 878
Points
113
Salut
Merci bien
Par contre inspires toi des autres tutos pour la mise en page et rajouter les bannières :
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
Et rajoutes également l'avertissement en début de post.
 
K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
7
Points
3
OK texas2607, bannières et avertissements ajoutés pour chaque partie du tuto dont cette suite

1578299962535.png
partie 3/3:
installer des applications alors que la ROM alternative n'embarque rien de Google
donc pas son Play Store...


/!\ AVERTISSEMENT /!\ :
Cette opération comporte des risques. Phonandroid et moi-même ne pouvons être tenus pour responsables des éventuels problèmes rencontrés !

la première partie de ce tuto permet d'éliminer les applis de son opérateur
(par installation d'une ROM officielle Samsung "générique" en lieu et place de la ROM officielle de l'opérateur)
la seconde partie, en plus d'installer un Android plus récent, permet d'éliminer les applis de Samsung et celles de Google
(par installation d'une ROM alternative en lieu et place de la ROM officielle générique)

Un curieux avant l'installation de quoi que ce soit aurait constaté (version officielle opérateur en 6.0.1)
le nombre "affolant"de ces dernières via commandes adb
adb shell pm list packages | grep -c 'samsung'
57
adb shell pm list packages | grep -c 'google'
27

l'opérateur concerné ici étant plus raisonnable
adb shell pm list packages | grep -c 'bouygue'
3


Ainsi installer ce LineagesOS élimine 87 applications "non désirées", c'était mon but:
...plus d'espionnage à mon insu, plus d'applis inutiles qui consomment de la batterie...
tout en remettant ce S5 au goût du jour avec une version Android 9 (Pie) la dernière au moment de l'édition de ce tuto...

Alors bien qu'avec ce LineageOS, on ait un smartphone pleinement utilisable pour un usage de base: téléphonie, SMS, courriels, navigation internet etc...etc...
on n'a aucun accès à une quelconque banque d'applications!

Comme il n'était pas question pour moi de réinstaller quoi que ce soit de Google fusse t-il sous sa forme
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

et que j'avais fait l'impasse d'installer celle avec les "leurres" microG
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

il a fallu installer mes propres banques d'applications

Là encore il en existe plusieurs
1578303321801.png

dont il faut savoir quelles ne passent pas par le contrôle qu'est censé faire Google sur les applications mises à disposition sur son Store

j'ai donc choisi cette 1ère banque
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

qu'après avoir téléchargé sur ordinateur, il faut copier sur le smartphone via la commande
adb push FDroid.apk /storage/self/primary/Download
puis installer en cliquant sur son .apk trouvé en se déplaçant via l'application Fichiers de LineageOS
Fichiers->Download
Une fois cette banque installée (icone F-Droid),
on a alors accès à toute une série d'applications Open Source dont certaines sont aussi sur le Store de Google mais ici pas besoin de compte!
Ainsi par ex j'ai installé:
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(toutes ses adresses courriels en 1 seule appli, mieux que l'appli native E-mail que l'on peut désactiver)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(lecteur simple de .pdf...n'existe pas en natif!)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(pour synchroniser ses contacts et calendriers...situés sur un serveur quelconque supportant les protocoles CardDav et CalDav)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(Firefox en version privée par défaut, dont j'ai changé la config du moteur de recherche pour Qwant au lieu de Google)
(là aussi on peut désactiver l'appli native Navigateur)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(appli de navigation y compris off-line, mode avion grace uniquement au GPS et aux cartes embarquées sur le smartphone)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(horaires des transports en commun)

Puis pour malgré tout installer des applis que l'on ne trouve que sur le Store de Google, mais là encore sans avoir besoin de compte
cette seconde banque
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

laquelle m'a permis par ex d'installer les applis
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(qui m'a fait changer de gel douche, de mousse à raser, de dentifrice... :+)
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(navigateur simple de fichiers parce que j'ai une carte SD que l'appli native Fichiers ne lit pas directement...il faut entrer dans paramètres)
(là encore on peut désactiver l'appli native Fichiers)
Si sur Aurora Store, une appli est payante, on devrait la plupart du temps être redirigé vers le site web du fournisseur avec différentes formules de paiement...

En résumé, il me semble possible avec ces 2 banques de se passer de celle de Google et dès lors de ne pas avoir besoin de compte Google...
 
Dernière édition:
Haut Bas