Android 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'
Sur 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
Si ç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.