Préparation du système pour le Pi

Reprise synthétique des informations de la documentation officielle pour l’installation de l’image d’un système d’exploitation pour le Raspberry Pi depuis GNU/Linux.

Première étape:

  • Télécharger Raspbian.
  • Vérifier le hash du zip récupéré.
  • Extraire le fichier image de l’archive ZIP.
  • Lister les supports de stockage connectés avec lsblk.
  • Brancher la carte SD/microSD.
  • Réexécuter lsblk.
  • Noter l’identifiant correspondant de la forme mmcblk0 ou sdX (X, lettre minuscule non accentuée).
  • Si d’éventuelles partitions sur la carte sont montées, les démonter: umount /dev/sdX1.

Place ensuite à l’installation:

dd bs=4M if=2018-03-13-raspbian-stretch.img of=/dev/sdX status=progress conv=fsync

Enfin, exécuter sync afin de s’assurer que l’on peut retirer la carte sans risque.

Pour ma part, j’ajoute une étape supplémentaire consistant à activer SSH par défaut. Pour cela, il suffit de monter la carte et de créer un fichier vide nommé ssh dans la partition boot: sudo touch ssh (point de montage visible dans lsblk. On peut démonter toutes les partitions de la carte ensuite). De cette manière, le Pi devient accessible en SSH avec les identifiants par défaut dès son premier démarrage et on peut ainsi exécuter directement un script Ansible pour le configurer automatiquement.

Sauvegarde du contenu d’une carte SD

J’ai réalisé dernièrement quelques essais d’applications audio compatible Raspberry Pi. En cas de test non satisfaisant, je voulais être en mesure de redéployer aisément l’ancien système. Le site officiel du Raspberry Pi fournit pour ce cas précis de bonnes explications.

Je retiens donc les commandes suivantes permettant de copier le contenu d’une carte SD et de pouvoir le réécrire à l’identique, avec au passage, compression des données pour gagner en espace disque.

Pour sauvegarder :

sudo dd bs=4M if=/dev/mmcblk0 | gzip > pi.img.gz

Et pour déployer la sauvegarde :

gunzip --stdout pi.img.gz | sudo dd bs=4M of=/dev/mmcblk0

En remplaçant bien évidemment /dev/mmcblk0 par le chemin vers la carte SD sur le système hôte.