[Pi] Désactiver le HDMI

Je fais fonctionner, depuis presque un mois maintenant, un raspberry pi zero w sur mon balcon, à l’aide d’un panneau solaire et d’une batterie. Au moment de la mise en place, j’ai donc cherché à réduire au maximum l’énergie consommée par le pi.

Après quelques recherches, j’ai trouvé qu’il était possible de désactiver le HDMI, pour une économie estimée à 25 mA. Pour réaliser cette opération de désactivation, on exécute la commande suivante (la ré-activation s’effectue avec l’option -p) :

/usr/bin/tvservice -o

Afin de s’assurer de la persistance de cette configuration en cas de redémarrage, on s’assure également d’ajouter la ligne dans le fichier /etc/rc.local .

Il est également possible de désactiver les leds pour économiser 5 mA par led. Je n’ai en revanche pas testé cette configuration, car je souhaitais pouvoir contrôler visuellement l’état du pi.

Source : Raspberry Pi Zero – Conserve power and reduce draw to 80mA

Installer scdaemon sur un Pi déconnecté du réseau

Dans un article précédent décrivant la partie génération de clefs PGP et transfert sur YubiKey, j’avais évoqué qu’il était envisageable de réaliser le processus complet sur un ordinateur exclusivement réservé pour cet usage. Je me suis donc procuré un Raspberry Pi Zéro, afin de vérifier la validité de cette hypothèse.

Mes premiers tests ont néanmoins été quelque peu retardés, car il est nécessaire d’adjoindre au Pi un hub USB disposant d’une alimentation dédiée, afin de pouvoir connecter, et surtout utiliser les différents périphériques : clavier, YubiKey et support de sauvegarde.

Le principal point bloquant par rapport à la génération des clefs PGP testée la première fois, se situe du côté de l’absence dans le système du composant scdaemon. Sans lui, impossible de dialoguer avec la YubiKey et d’exporter les clefs. Passons donc aux étapes permettant son installation.

Dans un premier temps, et après avoir récupéré la dernière version de Raspbian, en étant particulièrement attentif à la vérification de l’image récupérée par comparaison des sommes de hachage, il faut également récupérer le paquet scdaemon. Une page du wiki debian nous indique par ailleurs, que la bonne architecture à choisir pour le Raspberry Pi Zéro est armel ou armhf, à priori.

Sur le site web du projet raspbian, je parviens par ailleurs à trouver la liste des paquets de la distribution disponible. Dans ce fichier, une recherche de la chaîne « Package: scdaemon », nous permet de déterminer le chemin (propriété filename) où trouver le paquet recherché dans l’arborescence du même site, à savoir ici :

pool/main/g/gnupg2/scdaemon_2.1.18-8~deb9u2_armhf.deb

Nous pouvons alors nous rendre sur la page suivante afin d’explorer les différents versions du paquet à notre disposition: https://archive.raspbian.org/raspbian/pool/main/g/gnupg2/. Une fois le paquet récupéré et le système installé sur la carte SD, on pourra alors monter le système de fichier présent sur la carte et déposer le .deb quelque part dans l’arborescence (par exemple, dans /home). On en profite également pour comparer la somme de hachage du paquet avec celle présente dans le fichier « Packages ». Il ne nous reste plus qu’à démarrer le système depuis le Pi et à exécuter la commande dpkg -i <paquet>.deb pour installer scdaemon.

À ce stade, nous disposons désormais d’un ordinateur ayant tous les pré-requis nécessaires à la génération et à l’exportation des clefs PGP sur la YubiKey. J’ai rencontré quelques difficultés lors des premières tentatives d’export vers la YubiKey, car cette dernière, bien que détectée, ne semblait pas disponible. Il semble que deux processus scdaemon étaient démarrés et j’ai donc pu résoudre mon problème avec un simple « killall scdaemon ». Autre point l’export devait être réalisé en mode root, l’option -E de sudo devient alors incontournable pour transmettre la variable d’environnement « GNUPGHOME ». Pas grand-chose à ajouter de plus, si ce n’est qu’il faut faire preuve de patience pour les opérations de génération des clefs, qui mettent plusieurs minutes à s’exécuter sur un Pi zéro.