Application aux Raspberry Pi 4

Les cartes Micro-SD sont trĂšs pratiques par leur taille et leur coĂ»t pour des systĂšmes Ă  base de Raspberry Pi. À long terme, pour des applications trĂšs sollicitĂ©es, l’utilisation d’un disque SSD offre une meilleure fiabilitĂ©, des temps d’accĂšs rĂ©duit et une grande capacitĂ© de stockage.

Cet article dĂ©crit comment transfĂ©rer un systĂšme dĂ©marrant (boot) et s’exĂ©cutant Ă  partir d’une carte Micro-SD vers un disque SSD branchĂ© en USB via un adaptateur SATA / USB.

Adaptateur USB SATA

rpi-clone est un script shell qui permet de cloner un disque source Raspberry Pi (carte SD ou disque USB) en cours d’exĂ©cution vers un disque de destination qui sera amorçable. Les disques de destination sont des cartes SD dans un lecteur de carte USB, des clĂ©s USB ou des disques durs USB. Si vous avez bootĂ© sur une clĂ© USB, il sera possible de cloner la clĂ© sur une carte SD insĂ©rĂ©e dans le connecteur SD du Raspberry Pi.

rpi-clone est disponible sur github et est tĂ©lĂ©chargĂ© par clonage du dĂ©pĂŽt. Il s’agit d’un script autonome et l’installation consiste simplement Ă  copier le fichier dans un rĂ©pertoire.

Dans un terminal tapez la commande :

git clone https://github.com/billw2/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin

Verifiez que /usr/local/sbin est dans votre $PATH en tapant la commande :

echo $PATH

Branchez le disque SSD au RPI4 sur un port USB3 en bleu. Avec :

df

ou

sudo fdisk -l

trouvez la référence au nouveau disque: sda ou sdb . Attention cela peut changer.


ArrĂȘtez les principaux services . Si vous avez par exemple un serveur web :

udo service mysql stop
sudo service cron stop 
sudo service apache2 stop 


Lancer le clonage vers le nouveau disque USB ‘sda’:

sudo rpi-clone -f sda

En retour vous aurez quelque chose comme ceci :

Booted disk: mmcblk0 31.3GB                Destination disk: sda 500.1GB
---------------------------------------------------------------------------
Part               Size    FS     Label           Part   Size    FS     Label
1 /boot/firmware   512.0M  fat32  --              1      512.0M  fat32  --
2 root              28.6G  ext4   rootfs          2      465.3G  ext4   --
---------------------------------------------------------------------------
== Initialize: IMAGE partition table - forced by option ==
1 /boot/firmware      (63.5M used)   : MKFS  SYNC to sda1
2 root                (22.3G used)   : RESIZE  MKFS  SYNC to sda2
---------------------------------------------------------------------------
Run setup script       : no.
Verbose mode           : no.
-----------------------:
** WARNING **          : All destination disk sda data will be overwritten!
-----------------------:

Initialize and clone to the destination disk sda?  (yes/no):

Optional destination ext type file system label (16 chars max): Ne rien répondre


La led verte du Rpi4 va rester allumĂ© en permanence. Ce processus va durer plusieurs minutes. Rien ne s’affiche Ă  l’écran du terminal qui a lancĂ© rpi-clone. Ouvrir un deuxiĂšme terminal et tapez :

df


Ainsi, vous pouvez suivre l’augmentation de volume utilisĂ© de la nouvelle partition /dev/sda2 et la comparez Ă  celle de la carte sd /dev/mmcblk0p2

A la fin de lu clonage. Ne faite pas ‘return’ immĂ©diatement pour ne pas dĂ©monter le nouveau disque. Dans la deuxiĂšme fenĂȘtre faite un :

sudo fdisk -l


et notez le disk identifier du nouveau disque /dev/sda . Exemple:
Disk identifier: 0xdb4efeed dans notre cas.

Allez vers :

cd /mnt/clone
df

pour identifier la partition principale.

Éditez le fichier fstab sur le nouveau disque

sudo nano /mnt/clone/etc/fstab
Ctrl X pour sortir


Vérifiez la nouvelle PARTUUID db4efeed sans le préfixe 0x et suivi de -01 et -02

Ensuite ouvrez le fichier cmdline.txt

cd /boot/firmware
sudo nano cmdline.txt

vérifiez/changez PARTUUID comme ci-dessus.

Ne mettez pas le préfixe 0x et laissez en fin le -02

Ctl-X puis Y pour sauvegarder la nouvelle configuration


Si vous avez oubliĂ© de fermez une fenĂȘtre qui accĂšde au nouveau disque, faite un dĂ©montage vous-mĂȘme :

sudo umount /dev/sda1
sudo umount /dev/sda2

Terminez avec un arrĂȘt du RPI4 :

sudo halt

Couper l’alimentation et retirer la carte SD

Relancez et comme la carte sd n’est pa trouvĂ©, le systĂšme va booter sur le disque USB.

Vous pouvez changer l’ordr du boot dans raspi-config/Advanced

Un conseil : branchez un Ă©cran sur la sortie Hdmi du rpi4 pour surveiller son fonctionnement

Alimentation 5V

Avec une alimentation 5V/3A ou 15W pour le RPI4 + un SSD , j’ai rencontrĂ© des problĂšmes d’Ă©criture sur le disque. Avec une alimentation 5V/4A ou 20W, plus d’erreur.