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
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
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.
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
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 :
- Sauvegarder les données de votre Raspberry Pi puisque nous allons redimensionner la partition contenant vos données
- Libérer assez d’espace afin que le redimensionnement de la partition n’échoue pas
- 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.
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.
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.
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.
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”.
La partition devrait être démontée comme le montre la capture d’écran ci-dessous, le point de montage est vide.
Faites à nouveau un clic droit sur la partition et cliquez par la suite sur “Redimmensionner/Déplacer”.
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”
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.