Cloner la carte SD de sa Raspberry Pi sur Mac OS X

Article écrit le par

Avec l’arrivée de la Raspberry Pi 3 dans nos foyers, il peut s’avérer utile de cloner l’installation de son ancienne Raspberry afin de faire une sauvegarde ou juste pour basculer son système d’une Framboise à une autre.

La sortie de la nouvelle mouture de la Raspberry Pi a été accompagnée d’un succès sonnant et trébuchant. Si vous avez la chance d’en recevoir une dans les jours qui viennent ou si vous souhaitez juste être guidé dans le clonage de votre installation actuelle, vous êtes arrivés au bon endroit.

Attention, ce tutoriel a été écrit, réalisé et concerne uniquement les Macs. N’ayez crainte chers utilisateurs Windowsiens, de nombreux guides sont disponibles sur la Toile.

L’avantage du clonage de Framboises

Le clonage est la création d’une copie exacte d’un ensemble de fichiers. Ce guide va vous apprendre comment créer cette copie exacte à l’aide de Mac OS X qui sera, par la suite, utilisable sur tous les systèmes d’exploitation disponibles sur le marché.

L’avantage indéniable est de pouvoir sauvegarder son installation et ensuite la déployer rapidement sur d’autres Raspberry Pi ou de pouvoir restaurer votre Framboise en cas de problème. Ce guide vous montrera aussi comment cloner une carte SD d’une taille supérieure à la carte qui accueillera la restauration de l’image. Par exemple, vous avez une installation qui tourne sur une carte de 16Go et vous souhaitez créer une image qui pourrait être déployée sur une carte de 8Go.

Cloner son image à l’aide du Terminal

Avant de commencer, si vous devez cloner une carte SD possédant une taille supérieure à la carte dans laquelle vous allez restaurer l’image, veuillez sauter momentanément ce chapitre afin de suivre les instructions pour réduire la taille de l’image.

Etape 1. Insérer votre carte SD

Oui, c’est tout bête mais il faut bien commencer quelque part. Utilisez le port fourni avec votre Mac ou, dans le cas échéant, un adaptateur SD externe. Une fois l’opération effectuée, marchez tranquillement vers la deuxième étape.

Etape 2. Localiser l’emplacement de votre carte SD

Afin de connaître l’emplacement de votre carte, ouvrez le Terminal et tapez la commande ci-dessous :

diskutil list

Le résultat de la commande diskutil list

Localisez votre carte SD en vous aidant des champs NAME et SIZE. Dans mon cas, ma carte SD se trouve sur /dev/disk3

Etape 3. Cloner votre carte SD

Maintenant que nous avons le nom du volume occupé par notre carte, entrons dans le vif du sujet. Attention, cloner une carte SD s’avère être une opération relativement lente. Sur mon Macbook Pro 13 pouces mi-2010, le clonage d’une carte de 16Go a été effectuée en 50 minutes.

Entrez donc la commande suivante dans le Terminal en prenant soin de remplacer le volume par celui trouvé dans l’étape précédente :

sudo dd if=/dev/disk3 of=~/Desktop/raspberry.dmg bs=5m

Lancer le clonage de la carte SD

Après avoir tapé votre mot de passe administrateur, la commande va effectuer le clonage de votre carte SD sur votre Bureau en créant une image au format DMG et portant le doux nom de raspberry.dmg.

Pour les débutants, n’oubliez pas que lorsque vous entrerez votre mot de passe, aucun caractère ne s’affichera sur votre Terminal et c’est tout à fait normal.

Une petite astuce pour ceux qui souhaiterez avoir une indication quant au bon déroulement de l’opération, appuyez simultanément sur les touches CTRL+T afin d’obtenir un aperçu.

Obtenir des informations sur le déroulement avec CTRL+T

Restaurer un clone sur une carte SD

Attention, cette opération suggère que la carte SD où vous allez restaurer votre image clonée ait une taille identique ou supérieure au clone. Si ce n’est pas le cas, sautez directement cette partie pour suivre le guide et revenez une fois les manipulations effectuées.

Etape 1. Insérer une carte SD vierge

Toujours la même rengaine, une carte SD vierge dans votre lecteur histoire de ne pas déployer votre image dans l’air. Prenez soin de formater votre carte SD au format MS-DOS (FAT) à l’aide de l’Utilitaire de Disque.

Etape 2. Trouver le nom du volume de la carte SD

Exactement comme avec l’étape 2 du chapitre précédent, entrez la commande suivante et localisez le nom de votre carte SD (le nom peut être différent) :

diskutil list

Etape 3. Démonter la carte SD

Avant de débuter la restauration de l’image, il est indispensable de démonter (et non pas éjecter) votre carte. Pour ce faire, veuillez entrer la commande suivante en prenant bien soin de remplacer /dev/disk3 par votre nom de volume :

diskutil unmountDisk /dev/disk3

Etape 3 bis. Formater la carte si nécessaire

Si vous ne m’avez pas écouté et que votre carte n’est pas encore formatée, voici votre chance de ne pas faire capoter l’opération. Entrez la commande suivante en prenant bien soin de remplacer /dev/disk3 par votre nom de volume :

sudo newfs_msdos -F 16 /dev/disk3

Etape 4. Déployer pour mieux régner

C’est le moment de lancer tous vos soldats dans la bataille et de déployer votre image. Localisez le répertoire où vous avez enregistré l’image clonée dans le premier chapitre et entrez la commande suivante, en changeant encore une fois le /dev/disk3 par votre nom de volume :

sudo dd if=~/Desktop/raspberry.dmg of=/dev/disk3 bs=5m

Lancement de la restauration de l'image clonée

Entrez votre mot de passe et armez-vous de patience car l’opération peut être extrêmement lente.

Et c’est terminé ! Vous n’avez plus qu’à redémarrer votre Raspberry Pi et le tour est joué !

Bonus : redimensionner son image Raspberry Pi avant de cloner

Vous avez une installation sur une carte de 16Go que vous souhaitez cloner sur un carte de 8Go ? Si oui, cette partie est faite pour vous, si non, vous pouvez la passer.

Afin de redimensionner la partition il est obligatoire d’effectuer trois actions :

  1. Sauvegarder les données de votre Raspberry Pi puisque nous allons redimensionner la partition contenant vos données
  2. Libérer assez d’espace afin que le redimensionnement de la partition n’échoue pas
  3. Avoir sous la main une machine virtuelle Linux (j’utiliserai Ubuntu 15.10 sur VirtualBox pour ce guide)

Une fois votre machine virtuelle lancée, il vous faut attacher votre carte SD sur celle-ci afin de pouvoir lire les partitions Linux que Mac ne peut pas reconnaître. Pour ceci, démontez votre carte SD depuis l’Utilitaire de Disque et attachez la carte à votre machine comme montré sur les captures d’écran suivantes.

Monter la carte SD sur la machine virtuelle

Si vous obtenez une erreur quelconque qui vous empêche de monter votre carte sur la machine virtuelle, veuillez suivre ce tutoriel (en anglais) qui vous montrera comment résoudre ce problème.

Dans l’explorateur de fichiers d’Ubuntu, vous allez voir apparaître deux partitions : boot et Volume de XXGo (XX étant la capacité de votre carte). La première partition de 50-60 Mo est une partition MS-DOS FAT16 utilisée par la Raspberry Pi afin de pouvoir démarrer le système, la seconde sert à accueillir votre système d’exploitation ainsi que vos données et est formatée en ext4.

L'explorateur de fichiers Ubuntu affiche les deux partitions

2. Localisez le nom du volume de vos partitions

Ouvrez un Terminal sur votre machine virtuelle et tapez la commande suivante :

sudo blkid

Celle-ci devrait vous afficher un résultat similaire à celui de la capture d’écran suivante. Elle vous affichera les disques disponibles sur votre machine ainsi que les différentes partitions. Dans mon cas, le volume /dev/sdb1 correspond à ma partition boot et le volume /dev/sdb2 à mes données.

Le résultat de la commande blkid

3. Redimensionnez la partition

Installez l’utilitaire gparted

Afin d’éviter de faire des erreurs inutiles, nous allons utiliser une application afin de redimensionner notre partition de données en réduisant l’espace libre jusqu’au point où l’image clonée finale soit à la taille désirée.

Ouvrez l’appstore d’Ubuntu en cliquant sur l’icône orange.

Cherchez l’utilitaire gparted et cliquez sur Installer.

Installer l'utilitaire gparted depuis l'Appstore d'Ubuntu

Entrez votre mot de passe et ouvrez l’application une fois téléchargée et installée.

Redimensionnez la carte SD

Sélectionnez la bonne partition en vous remémorant le nom du volume trouvé lors de l’étape 2.

Démontez la partition en faisant un clic droit sur celle-ci et en cliquant sur “Démonter”.

Démontez la partition de vos données

La partition devrait être démontée comme le montre la capture d’écran ci-dessous, le point de montage est vide.

La partition de vos données est démontée

Faites à nouveau un clic droit sur la partition et cliquez par la suite sur “Redimmensionner/Déplacer”.

Redimensionnez votre partition

Je vous conseille d’ajouter 100 à 200 Mo à la taille que vous souhaitiez obtenir afin de se prémunir de quelques erreurs. Par exemple, si vous souhaitiez obtenir une partition de 4 Go, entrez 4200 Mo.

Cliquez ensuite sur le bouton “Redimensionner/Déplacer”. Cliquez sur “Appliquer”

Valider les modifications

Attendez la fin de l’opération puis éjectez votre carte, éteignez votre machine virtuelle, débranchez et rebranchez votre carte afin qu’elle soit correctement montée sur votre Mac et suivez les instructions de l’étape 3.

Toutefois, en plus de la commande, vous devrez indiquer à dd que vous souhaitez limiter la taille de votre image. Pour ce faire ajoutez la mention count=XXX à fin de la commande où XXX équivaut à la nouvelle taille que vous avez défini dans gparted (en prenant toujours soin d’ajouter 100 à 200 Mo à celle-ci). Cela donne une commande telle que :

sudo dd if=/dev/disk3 of=~/Desktop/raspberry.dmg bs=5m count=7500

Conclusion

Et voilà, vous avez appris à cloner votre Raspberry Pi et à restaurer une image en cas de besoin. N’hésitez pas à user et abuser du clonage sur votre Framboise, c’est moins dangereux qu’avec la viande.