Salutations !
Je viens de faire le transfert de mon installation complète de Gladys depuis une carte SD vers un disque externe USB (en SSD) et comme j’ai pas mal galéré pour ma config “pas simple” je vous propose un petit tuto complet…
- Préambule
J’utilise un Raspberry Pi 4. Il peut y avoir des différences pour les autres versions !
J’ai eu des ruses à cause de l’alimentation trop faible des ports USB. Un HUB USB avec alimentation externe est vivement conseillé !
Il existe deux cas de figure :
- Vous n’avez que Gladys à transférer : Suivez les 4 premières étapes
- Votre installation comprend d’autres choses (Kodi, samba, caméras…) : C’est la solution qui sera développée ici. On va :
a. Configurer la séquence de boot sur le pi ;
b. Installer rpi-clone ;
c. Effectuer une première copie de la carte SD (pour créer les partitions nécessaires) ;
d. Modifier la taille des partitions afin d’ajouter une partition “Data” sur le disque USB.
- Configurer la séquence de boot sur le pi
Il faut pour cela se connecter au raspberry en SSH (voir ici si cela ne vous dit rien).
On va d’abord mettre à jour le pi. Tapez la commande :
sudo apt update && sudo apt upgrade -y
Lancez ensuite l’utilitaire “raspi-config” via la commande :
sudo raspi-config
Naviguez avec les flèches jusque “6 Advanced Options” → “A7 Bootloader version” → “E1 Latest…”
Quand l’utilitaire vous demande de remettre la config à zéro, dites-lui “non” de même que pour le redémarrage car nous allons en profiter pour changer la séquence de démarrage du pi.
Naviguez donc jusque “6 Advanced Options” → “A6 Boot Order” pour choisir “B2 USB Boot”.
- Installer rpi-clone
Toujours en SSH, on va installer le script “rpi-clone”. Pour ce faire, introduisez les quatre commandes suivantes, une à la fois :
sudo apt install git
git clone https://github.com/billw2/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin
Si ce n’est déjà fait, connectez votre disque externe à votre raspberry.
- Effectuer une première copie de la carte SD (pour créer les partitions nécessaires)
On arrête les services en cours :
sudo service mysql stop
sudo service cron stop
sudo service apache2 stop
sudo service docker stop
sudo service kodi stop //si kodi est installé
Et tous ceux que vous pourriez avoir ajouté…
Ensuite, deux cas de figures :
- Le plus courant : Vous n’avez qu’un seul disque externe connecté à votre raspberry.
Encore et toujours en SSH, tapez la commande :
sudo rpi-clone sda -f
- Vous avez plusieurs disques externes connectés à votre raspberry.
Dans ce cas, il faut d’abord identifier le disque sur lequel vous voulez pouvoir booter. Pour cela, tapez la commande suivante et recueillez l’information nécessaire c’est-à-dire “sda”, “sdb”, “sdc” etc. Information que vous intégrerez dans la commande proposée dans le point précédent…
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
Voilà, c’est terminé (sauf si vous voulez redimensionner les partitions, dans ce cas, passez à l’étape suivante), Gladys est maintenant entièrement migrée sur votre disque externe ! Fini les SD corrompues ! Vous pouvez dès à présent redémarrer le pi (vous pouvez enlever la carte SD ou la laisser dedans, elle ne sert plus à rien sauf si vous voulez y faire une sauvegarde de temps en temps…) en tapant :
sudo reboot
Attention ! Pour l’étape suivante, il faut que le pi n’aie pas redémarré ou aie démarré sur la carte SD !
5. Modifier la taille des partitions afin d’ajouter une partition “Data” sur le disque USB.
Généralement, les disques externes ont une capacité bien supérieure aux cartes SD que nous pouvons exploiter. Si, pour une raison ou une autre, un problème survient sur une des partitions du système, toutes les données peuvent être corrompues et une nouvelle installation complète peut s’avérer nécessaire.
Je vous propose donc de :
- Redimensionner la partition système créée par rpi-clone
- Créer une nouvelle partition “Data” utilisée pour un stockage de données supplémentaire, partages, sauvegardes etc.
Attention ! Ceci nécessite des manipulations qui risquent de corrompre les données. Effectuez celles-ci avec précautions !
a. Exécutez la commande (où sda est le chemin de votre lecteur USB)
sudo cfdisk /dev/sda
Choisissez alors la ligne /dev/sda2 et sélectionnez l’option “Resize”
Introduisez la nouvelle taille voulue (une vingtaine de Gib sont amplement suffisants (6G minimum !)
Descendez ensuite sur la dernière ligne (Free space) et choisissez l’option “New”. Introduisez la taille voulue (par défaut, il propose de mettre la totalité).
Enfin, cliquez sur “Write” et tapez “yes” (en entier, oui !)
C’est pas tout !
Il faut maintenant formater tout ça…
Tapez la commande
sudo mkfs.ext4 /dev/sda2
sudo mkfs.ntfs -f /dev/sda3
(j’ai choisi ntfs pour ma partition de partage afin de pouvoir y accéder depuis une autre machine en cas de besoin)
Pour terminer…
Vu qu’on vient de formater la partition que nous avions copiée depuis la carte SD, il faut refaire une copie de celle-ci avec rpi-clone :
sudo rpi-clone sda
Vous remarquerez que cette fois, pas d’argument -f, qui force la création des partitions, ce qu’on ne veut plus !
Voilà, c’est terminé !
sudo reboot
Après redémarrage, il ne vous reste plus qu’à monter la nouvelle partition dans un dossier que vous aurez créé (moi, c’est “Musique”)
sudo mkdir /media/Musique
sudo mount /dev/sda3 /media/Musique
Et si vous voulez que ce soit fait automatiquement au démarrage du pi, il faut d’abord récupérer l’UUID de la partition. Pour ce faire, tapez la commande suivante et copiez le numéro correspondant :
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
Puis éditez le fichier “fstab” et y introduire le numéro que vous aurez récupéré avec les infos nécessaires (le point de montage et le type de système de fichiers)
sudo nano /etc/fstab
UUID=28C537D72EC5ADAD /media/Musique ntfs defaults,auto,users,rw,nofail,umask=000,x-systemd.device-timeout=30 0 0
- Bonus : Utiliser la carte SD comme sauvegarde
Je sais, c’est saugrenu mais vu qu’elle est là et qu’elle ne sert plus à rien, je vous propose de l’utiliser à des fins de sauvegarde de votre système car c’est très simple !
Il suffit, en SSH, de taper la commande suivante, APRES avoir stoppé les services
sudo rpi-clone mmcblk0 -f2
Et voilà ! vous avez une copie bootable de votre système (à prêter aux amis pour qu’il découvrent Gladys ! )
N’oubliez pas de redémarrer votre pi car… Vous venez d’arrêter les services tels que Docker faisant tourner Gadys !