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

  • Auteur de la discussion kalagani
  • Date de début
K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
44
Points
8
  • #1
ban-texte-tutoriel-bl.png
partie 1/4:
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
G800FXXU1CRG3
ce dernier semblant avoir migré en
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,
1) sous Linux est à détarer en ligne de commande
Bash:
S'il vous plaît, Connexion ou S'inscrire to view codes content!
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)
Bash:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

3) en mode Download sur le S5, flash de cette version XEF via sur PC
Bash:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

ou en une seule ligne
Bash:
S'il vous plaît, Connexion ou S'inscrire to view codes content!
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,
changer-de-csc-xef-sans-root-sur-firmware-officiel-samsung
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
tuto-i9100-linux-flasher-ROM stock
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:
M

Membre supprimé 3065

  • #2
Salut et merci a toi pour ce tuto. (y)
 
K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
44
Points
8
  • #3
Merci Fred,
avec suite de ce tuto de nouvelle année:
ban-texte-tutoriel-bl.png
partie 2/4:
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
ban-texte-avertissement-vl.png

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
tuto-i9100-linux-flasher ROM custom
 
Dernière édition:
Texas2607

Texas2607

Administrateur
Inscrit
5 Février 2012
Messages
14 274
Points
113
  • #4
Salut
Merci bien [emoji106]
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. [emoji6]
 
K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
44
Points
8
  • #5
OK texas2607, bannières et avertissements ajoutés pour chaque partie du tuto dont cette suite

1578299962535.png
partie 3/4:
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'obtenir 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 !
(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)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
(lecteur youtube sans utilisation d'API Google et sans besoin de compte youtube)

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 !
(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 !
devenu QuelProduit (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)
_
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
en remplacement du précédent car propose nativement les accès Nextcloud et webDav sans installer d'autres applis
pour peu que l'on dispose d'un "cloud" perso via son FAI ou fournisseur d'adresse courriel...
(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:
K

kalagani

Membre
Inscrit
25 Juin 2019
Messages
44
Points
8
  • #6
1578299962535-png.5474
partie 4/4:

"rooter" son smartphone

/!\ 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'obtenir un Android plus récent, permet d'éliminer les applis de Samsung et celles de Google
(par flashage d'une ROM alternative en lieu et place de la ROM officielle générique)
_la troisième partie, sans compte Google, permet d'installer des applications Open Source et à priori aussi toutes les applis du Play Store de Google
(par installation des 2 banques d'application F-Droid et Aurora Store)

Parmi ces applications, certaines demandent à obtenir le privilège root, lequel n'existe que pour ADB mais pas pour les applications!

Là encore il existait plusieurs façons d'obtenir ce privilège

néanmoins depuis lineageos 16, il semblerait que certaines d'entre elles ne fonctionnent plus...
J'ai donc choisi
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

celle-ci se compose d'un "serveur" du même nom et d'une appli "client" Magisk Manager
Il faut que les 2 soient installés.
A) d'abord le "client" Magisk Manager
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

puis installation sur le smartphone à l'aide de la commande (cf partie 1, les pré-requis pour les outils dont adb)
_adb install MagiskManager-v7.5.1.apk
B) puis acquisition du "serveur" Magisk grâce au client (cf PS:)
_au 1er lancement de ce dernier sur le smartphone, celui-ci indique que Magisk n'est pas installé et propose d'obtenir son .zip, ce qu'il faut faire...
l'installation se fera via le TWRP déjà en place en passant le smartphone en mode recovery
_adb reboot recovery
choisir Installer dans le menu de TWRP
le .zip est alors proposé à l'affichage, le sélectionner et valider l'installation
Redémarrer le smartphone si cette option n'a pas été choisie avec l'installation

Maintenant, le lancement du "client" montre que le "serveur" est installé.
Et dans Paramètres->Accès super-utilisateur ( partie Super-utilisateur)
on peut vérifier que par défaut Applications et ADB ont ce droit
Sinon, le changer ou en choisir un autre parmi les 4 proposés

PS: selon les développeurs l'image du serveur peut être proposée à l'installation, alors il suffit juste d'installer l'apk du client.
Ce n'est pas le cas pour la version Lineageos installée sur ce S5mini.
 
Dernière édition:
Haut Bas