Cloner une carte SD sur un SSD pour un raspberry

La carte SD c’est bien, cependant lorsque l’on utilise un raspberry 24h/24 (ce qui est le cas de mon raspberry 4), l’usure de la carte est un objet limitant. Très même !

Alors pourquoi ne pas utiliser un ssd et transférer le contenu de la carte SD vers celui-ci. En plus d’un espace conséquent, vous allez gagner en fiabilité.

Alors, vous allez avoir besoin

Étape 1 : Préparation du raspberry

Déconnexion de tous les services qui pourraient écrire sur la SD pendant le transfert des données
sudo service mysql stop
sudo service cron stop
sudo service apache2 stop
sudo service docker stop # si vous avez docker installé
sudo service nginx stop # si vous avez nginx installé

Étape 1 : mettre à jour le firmware pour pouvoir accéder au boot USB

Si votre firmware date d’avant le 15 mai 2020 pour le raspberry 4 vous devez le mettre à jour. Pour cela, vous allez éditer le fichier rpi-eeprom-update et changer “critical” par “beta”.
sudo nano /etc/default/rpi-eeprom-update # vous faites la modification puis vous sauvegardez.
# vous updatez le firmware
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-05-15.bin
# vous rebootez le raspberry
sudo reboot

Étape 2 : cloner la carte SD sur le SSD

Vous téléchargez le script qui va faire le clonage tout seul comme un grand

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

Le bonheur commence réellement ici, j’ai connecté mon SSD qui venait juste d’arriver au boitier. J’ai connecté le boitier au raspberry (le SSD est donc non formaté). Lorsque l’usb se connecte, il devrait se nommer sda. Vous pouvez vérifier en listant le dossier /dev. Puis vous lancez la commande
sudo rpi-clone sda -f

Le script va vous poser juste 2 questions
Initialize and clone to the destination disk sdb? (yes/no): yes <- votre réponse
Optional destination ext type file system label (16 chars max): <- vous pouvez laisser vide

Si vous n’avez pas changé de firmware, un simple “sudo reboot” et tout va refonctionner. Le script change les UUID dans le boot et le fsatb, donc pas d’inquiétude.

Si vous avez changé de firmware, il faudra remplacer tous les fichiers elf et dat du boot du raspberry par ceux-ci https://github.com/raspberrypi/firmware/tree/master/boot. Une fois fait, zou un reboot et votre raspberry fonctionne sur un SSD.

Elle est pas belle la vie !

[Références]

https://forum.jeedom.com/viewtopic.php?t=31252
https://korben.info/raspberry-pi-comment-mettre-a-jour-le-firmware.html
https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb