Android Debug BridgeAndroid Debug Bridge (adb), Fastboot (fastboot) et Heimdall (heimdall) sont trois outils en ligne de commande qui permettent à un PC de communiquer avec un smartphone, notamment pour accéder à des partitions protégées en écriture. Dans mon quotidien, je m’en sers concrètement pour remplacer le système propriétaire Android préinstallé par son équivalent open source LineageOS.

Installer ADB et Fastboot

Sous Rocky Linux 8, le dépôt de paquets tiers EPEL (Extra Packages for Enterprise Linux) fournit le paquet android-tools avec les deux binaires adb et fastboot, entre autres choses :

# dnf install -y android-tools
# rpm -ql android-tools | head -n 6
/usr/bin/adb
/usr/bin/append2simg
/usr/bin/avbtool
/usr/bin/e2fsdroid
/usr/bin/ext2simg
/usr/bin/fastboot

Configurer ADB

Maintenant que ADB est installé, il faut le configurer sur le smartphone :

  • Applications > Paramètres > À propos de l’appareil.
  • Appuyez sept fois sur Numéro de version.
  • Revenez en arrière et sélectionnez Options de développement.
  • Cochez Débogage USB.
  • Cochez Déblocage OEM.
  • Reliez le smartphone au PC avec un câble USB.
  • Autoriser le débogage USB > Toujours autoriser ce PC > OK.

Si tout s’est bien passé, la commande adb devices devrait afficher le téléphone branché :

$ adb devices
List of devices attached
a851c680 device

ImportantSi ça ne fonctionne pas comme prévu, essayez de remplacer le protocole MTP par PTP pour vous connecter. Dans les paramètres du téléphone, allez dans Options de développement > Réseau > Configuration USB > PTP.

Installer Heimdall

Heimdall est un outil spécifiquement conçu pour les smartphones de la marque Samsung. Sous Linux, on a le choix entre une version en ligne de commande (heimdall) et un frontal graphique (heimdall-frontend). J’ai testé les deux, et j’avoue que je préfère de loin la version en ligne de commande.

Sous Rocky Linux 8, aucun dépôt de paquets officiel ou tiers ne fournit de paquet binaire correspondant. Nous allons donc chasser l’ours à mains nues et compiler l’outil depuis les sources, ce qui ne relève pas de la magie noire.

Dans un premier temps, il faut installer quelques prérequis pour la construction :

# dnf group install -y "Development Tools"
# dnf install -y cmake libusb-devel qt5-devel

Ensuite, on va récupérer les sources de Heimdall :

$ git clone https://github.com/Benjamin-Dobell/Heimdall.git

Le fichier README fournit des instructions sommaires pour la compilation. Voici en gros ce qu’il faut faire :

$ cd Heimdall/
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make

Si tout s’est bien passé, on peut procéder à l’installation :

$ sudo make install

N’ayez pas peur de spammer votre système. Le résultat de cette opération, ce sont deux binaires proprement rangés dans un endroit approprié :

$ tree /usr/local/bin/
/usr/local/bin/
├── heimdall
└── heimdall-frontend

Le fichier 60-heimdall.rules permet aux utilisateurs communs mortels d’accèder à un smartphone Samsung branché sur le port USB du PC :

$ cd ..
$ sudo cp heimdall/60-heimdall.rules /etc/udev/rules.d/

Configurer Heimdall

Pour mes tests, je me suis servi d’un vieux Samsung Galaxy SM-A520F :

  • Éteindre le téléphone.
  • Démarrer en mode Download : VolDown+Home+Power.
  • Un avertissement s’affiche : appuyer sur VolUp pour continuer.
  • Le téléphone affiche Downloading... Do not turn off target.

Testez Heimdall en invoquant la commande suivante :

$ heimdall print-pit

Si le téléphone redémarre et que votre terminal vous affiche un tsunami d’informations, c’est que tout fonctionne correctement.


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 


1 commentaire

Emmanuel · 13 août 2023 à 10 h 42 min

Sur un sujet connexe, il serait intéressant de pouvoir utiliser une carte SIM sous Linux.
Jusqu’à présent, je n’ai malheureusement pas vraiment trouvé de documentation ni de pilote non propriétaire pour le faire.

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *