[Tutoriel] transférer une installation complète de Gladys sur un disque USB

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…

  1. 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.
  1. 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”.

  1. 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.

  1. 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 
  1. 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 ! :wink: )
N’oubliez pas de redémarrer votre pi car… Vous venez d’arrêter les services tels que Docker faisant tourner Gadys ! :smiling_imp:

3 « J'aime »

Merci de partager ton expérience je suis sûr ça servira à d’autres! :slightly_smiling_face:

Je viens de migrer Gladys vers un SSD PNY CS900 sur un Raspberry Pi 3B+
Les différences avec le Raspberry Pi 4 :
La partie “2. Configurer la séquence de boot sur le pi” est remplacée par la suivante :

Mettre à jour Raspbian :
On ne fait pas un sudo apt-get update mais la commande ci-dessous car le dépôt à modifié sa valeur de ‘Suite’`

sudo apt-get update --allow-releaseinfo-change
sudo apt upgrade -y

Changement du disque de démarrage :
Sur le Pi 3, dans le raspi-config, il n’y a pas le menu Advanced Options
On édite donc le fichier config.txt pour rajouter à la fin la ligne " program_usb_boot_mode=1" :

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
On a la confirmation à la ligne suivante…

On peut aussi utiliser la commande :

sudo nano /boot/config.txt

C’est permanent, mais il est possible de faire encore démarrer le raspberry Pi sur carte SD en supprimant cette ligne et en veillant à ce qu’il n’y ait pas de ligne vide à la fin du fichier.

Pour vérifier que tout est bon, on peut regarder le registre 17 de l’OTP (One-Time programmable qui désigne la mémoire morte qui ne peut être programmée qu’une seule fois). Pour cela on utilise la commande suivante :

vcgencmd otp_dump | grep 17:
Il doit retourner la valeur 17:3020000a qui indique que tout c’est bien passé

Ensuite on reprend à la partie 3.

2 « J'aime »

image

Salut!
Je n’ai pas le souvenir d’avoir dû choisir entre ces deux options.
Qu’entends-tu par ‘je n’arrive pas à finaliser l’installation’? Que se passe-t-il ? Tu as un message d’erreur ?

Bonjour, GBoulvin
A force de bidouiller , j’ai reussi à aller jusqu’au bout; mais je n’arrive pas à booter sur le SSD , quand j’enlève la carte SD. Si je laisse la carte SD avec le SSD, Gladys rame au possible.
Voila les partitions crées


Pour info j’ai un Rpi3B+ . Est ce normel qu’il n’y aie pas la mention “boot” sur "sda1

Bonjour,
Pour ceux qui n ont pas de Raspberry mais possèdent un vieux PC ou portable 64 bit OpenMediaVault est idéal pour installer et tester GLadys docker en 1 heure, une carte SD 16 go ou SSD suffit (OMV Bootable + docker Gladys + autres…)
OMV: base debian 10, NAS avec gestion dockers, plein de tutos et bonne communauté sur internet, sauvegarde facile de tout le système avec Snapshot64 ou Acronis True image.

https://sourceforge.net/projects/openmediavault/files/5.6.13/openmediavault_5.6.13-amd64.iso

Pour un RPi 3, regarde le message de @gaetanb76 ci-dessus, la démarche y est détaillée :wink:

T’as tout sur la sd là

Sinon le tuto YouTube de @pierre-gilles est ultra simple

Bonsoir merci pour vos réponses
GBoulvin
je crois que j’ai cerné le problème, ça vient de mon SSD, car je boot bien sur une cle Usb, et j’ai mis un hub USB avec le disque ou avec la clé , mais là ce ne fonctionne plus , je pense qu’il faut adressé le SSD avec le chemin du Hub ( je ne pas sûr :thinking:).
VonOx
je l’ai testé la procédure, mais ça n’a pas fonctionné ( est ce que ce n’est pas réservé au RPI4, j’ai un 3B+, et dans le read.me il ne parle que du PI4
merci à vous

Le lien vers le tuto de @pierre-gilles