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

Certaines distributions comme Debian et Ubuntu fournissent des paquets binaires pour adb et fastboot dans leurs dépôts de paquets. Ce n’est malheureusement pas le cas pour OpenSUSE Leap, la distribution que j’utilise au quotidien sur ma station de travail et mon portable. Voici donc une petite documentation pour vous guider pas à pas dans l’installation manuelle de ces deux outils.

Ouvrez un terminal et téléchargez les Android SDK Platform Tools (13 Mo).

$ wget -c https://dl.google.com/android/repository/platform-tools-latest-linux.zip

Décompressez l’archive ZIP.

$ unzip platform-tools-latest-linux.zip
$ ls
platform-tools  platform-tools-latest-linux.zip

Le répertoire platform-tools contient tout un fatras de commandes. Repérez adb et fastboot et copiez-les vers un endroit approprié.

$ cp -v platform-tools/{adb,fastboot} ~/bin/
'platform-tools/adb' -> '/home/kikinovak/bin/adb'
'platform-tools/fastboot' -> '/home/kikinovak/bin/fastboot'

InfoSur les systèmes OpenSUSE, le répertoire ~/bin est présent dans la configuration par défaut et fait partie du PATH. C’est sans doute un clin d’œil au bon vieux temps où SUSE était une Slackware germanisée pour des utilisateurs qui chassaient l’ours à mains nues et rangeaient leurs scripts shell dans ~/bin.

Profitez-en pour faire un peu de ménage.

$ rm -rf platform-tools*

Vérifions s’il ne manque rien au bon fonctionnement de ces deux outils.

$ cd ~/bin/
$ ldd adb fastboot 
adb:
  linux-vdso.so.1 (0x00007ffdd3160000)
  libdl.so.2 => /lib64/libdl.so.2 (0x00007fd7191f3000)
  libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd718fd3000)
  libm.so.6 => /lib64/libm.so.6 (0x00007fd718c92000)
  librt.so.1 => /lib64/librt.so.1 (0x00007fd718a8a000)
  libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd718871000)
  libc.so.6 => /lib64/libc.so.6 (0x00007fd71849c000)
  /lib64/ld-linux-x86-64.so.2 (0x00007fd719aba000)
fastboot:
  linux-vdso.so.1 (0x00007ffedd91b000)
  libdl.so.2 => /lib64/libdl.so.2 (0x00007efd7e8de000)
  libpthread.so.0 => /lib64/libpthread.so.0 (0x00007efd7e6be000)
  libm.so.6 => /lib64/libm.so.6 (0x00007efd7e37d000)
  librt.so.1 => /lib64/librt.so.1 (0x00007efd7e175000)
  libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007efd7df5c000)
  libc.so.6 => /lib64/libc.so.6 (0x00007efd7db87000)
  /lib64/ld-linux-x86-64.so.2 (0x00007efd7eae2000)

Configurer ADB

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

  • Applis > 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.
  • Reliez le smartphone au PC avec un cable 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 et un frontal graphique. J’ai testé les deux, et j’avoue que je préfère de loin la version en ligne de commande.

OpenSUSE fournit le paquet heimdall dans ses dépôts officiels.

# zypper install heimdall

La documentation de Heimdall est quelque peu laconique, mais on y trouve tout ce qu’il faut.

$ less /usr/share/doc/packages/heimdall/README
$ heimdall help | less

Configurer Heimdall

Pour mes tests, je me suis servi d’un vieux Samsung Galaxy A5 SM-A500FU.

  • É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 (que nous verrons en détail dans notre prochain article), 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.

 


2 commentaires

Cenwen · 6 janvier 2022 à 21 h 40 min

Je suis surpris que Heimdall fonctionne encore après qu’il soit définitivement arrêté depuis 4 ou 5 ans. C’était un grand projet, d’ailleurs, je n’en connais aucun autre de ce genre, avant ou après. L’autre inconvénient en plus de son arrêt de développement est qu’il faille avoir un Samsung. C’est un frein.

Je suis curieux de voir la suite.

Sinon, bien que je sois sur Manjaro et non Suse, je trouve vos articles très intéressants et de grandes qualités. Bonne continuation.

Restaurer le firmware d’un smartphone Samsung sous Linux – Le blog technique de Microlinux · 7 janvier 2022 à 10 h 34 min

[…] Odin qui ne tourne que sous Windows. L’alternative open source sous Linux, c’est l’outil Heimdall, dont nous avons vu l’installation et la configuration initiale dans le précédent […]

Les commentaires sont fermés.