Le point faible du Raspberry Pi est sans aucun doute sa micro SD qui, selon les utilisations, peut vite se corrompre. La fondation, bien consciente de ce problème, a corrigé cela en donnant la possibilité de booter sur un disque dur ou un SSD. Si cela se fait automatiquement sur les RPI 1, 2, et 3, une manipulation spéciale est à faire pour démarrer Raspberry Pi 4 sur SSD. Je vous explique ici comment procéder de A à Z.
Il n'y a encore pas si longtemps, je déconseillais l'utilisation d'un Raspberry Pi pour une box domotique, à cause notamment de sa micro SD qui se corrompt très vite. En effet, dans le cadre d'une box domotique, de nombreuses opérations de lecture / écriture sont effectuées, et la micro SD arrive vite en fin de vie, son nombre d'écritures étant limitées. Quelques uns ont ainsi eu la mauvaise surprise de voir leur box domotique plantée en plein hiver, avec une gestion du chauffage tombée à l'eau. J'en ai moi même fait l'expérience il y a quelques années, la veille de partir en vacances, ce qui m'a obligé à une réinstallation en catastrophe.
Un Raspberry Pi avec une micro SD n'est donc pas une solution viable pour un système domotique. En revanche, il est tout à fait possible de booter un RPI sur un mSata, un SSD, un disque dur mécanique, ou même une clé Usb, ce qui est beaucoup plus fiable ! Les anciennes version de Raspberry Pi le proposent maintenant directement. Sur un Raspberry Pi 3 installé récemment avec un disque mSata, je n'ai donc rien eu à faire, simplement brancher le mSata en Usb sur le RPI, et le démarrer (sans micro SD, donc). Sur un RPI 4, en revanche, une mise à jour et un paramétrage spécifique sont à effectuer. Découvrons donc comment démarrer Raspberry Pi 4 sur SSD.
Pré-requis pour démarrer Raspberry Pi 4 sur SSD
Pour commencer, il vous faudra bien sûr un Raspberry Pi 4. Cette version existe avec 2, 4, ou 8Go de Ram, à sélectionner en fonction de vos besoins, cela n'impacte pas le fonctionner sur SSD.
Si la méthode fonctionne également avec une clé Usb, on lui préférera du mSATA (comme un mini SSD, plus abordable, mais avec des capacités de stockage plus réduites), un disque dur mécanique en 2,5″ (mais du coup un peu plus bruyants), ou, idéalement, un SSD. On en trouve aujourd'hui à des tarifs très abordables. L'avantage du SSD est qu'il est rapide et silencieux. C'est vraiment ce que je vous recommande !
Il faudra un adaptateur pour raccorder le SSD au Raspberry Pi 4. Ca peut être un simple adaptateur Usb, ou une carte dédiée, qui permettra une intégration plus propre (nous en reparlerons dans un prochain article).
Enfin, il vous faudra le logiciel Raspberry Pi OS Lite, à installer sur une micro SD (nécessaire juste la première fois pour le paramétrage du boot). La version Lite, plus légère et sans interface graphique, sera bien suffisante pour notre besoin.
Préparation de la micro SD et connexion SSH
Pour commencer, il faudra préparer une micro SD avec le système Raspberry Pi OS Lite, à installer avec un utilitaire comme Balena Etcher par exemple.
On insère la micro Sd dans un ordinateur, on lance Balena Etcher, on sélectionne l'image Raspberry Pi OS Lite téléchargée plus haut, on indique notre micro SD, et on clique sur Flash: il n'y a plus qu'à attendre quelques minutes que l'opération s'effectue.
Une fois la micro SD écrite, on l'ouvre sur l'ordinateur et on y crée un fichier vide nommé “ssh” (avec un éditeur de texte par exemple), ce qui permettra d'activer automatiquement la connexion SSH sur le Raspberry Pi.
On peut alors éjecter la micro SD et l'insérer dans le RPI. On branche celui ci à une prise réseau et une prise électrique pour le démarrer. On cherche ensuite son adresse IP en consultant la liste des périphériques connectés sur sa box internet, ou en lançant un scan du réseau via un utilitaire comme LanScan par exemple.
Il ne reste plus qu'à s'y connecter en SSH, grâce à Putty ou directement via la fenêtre terminal si on est sur Mac ou Linux. Le nom d'utilisateur par défaut est pi et le mot de passe raspberry.
Mise à jour du Raspberry Pi 4
Pour pouvoir démarrer Raspberry Pi 4 sur SSD, il va falloir commencer par lancer une mise à jour complète du système grâce aux commandes:
sudo apt update
sudo apt full-upgrade
sudo rpi-update
On valide chaque fois par “Y” pour confirmer la mise à jour.
A la fin de la mise à jour, il faut redémarrer le RPI pour que les modifications soient appliquées, grâce à la commande:
sudo reboot
Une fois le RPI redémarré, on s'y reconnecte de nouveau en SSH, comme précédemment. Il reste à installer le nouveau bootloader via cette commande:
sudo rpi-eeprom-update -d -a
Configuration du Boot USB sur Raspberry Pi 4
Il faut maintenant configurer le boot afin de pouvoir démarrer Raspberry Pi 4 sur SSD. Cela passe par la commande:
sudo raspi-config
On se rend dans le menu “Advanced Options” puis “A7 Bootloader Version“:
Ici, on sélectionne l'option “E1 Latest” pour utiliser le bootloader le plus récent.
Attention à l'écran suivant, qui se place par défaut sur “Yes”: il faut cliquer sur “No”, sinon les paramètres seront remis par défaut !
Une fois validé, un écran doit vous confirmer que les paramètres n'ont pas été réinitialisés.
Ensuite, toujours dans l'écran “Advanced Options“, on sélectionne cette fois “A6 Boot Order“:
Puis l'option “B2 USB Boot“, afin de démarrer en priorité sur l'Usb, et non plus la micro SD.
L'écran suivant doit confirmer que l'Usb est maintenant le boot par défaut.
Enfin, à l'écran suivant, on valide par “No” pour ne pas redémarrer.
On va plutôt opter pour un arrêt du Raspberry Pi, via la commande:
sudo halt
Démarrer Raspberry Pi 4 sur SSD
Il ne reste plus qu'à préparer notre SSD (ou notre mSata, ou disque dur classique). Pour cela, on installe le système qu'on souhaite comme vu plus haut avec Balena Etcher, mais en sélectionnant non pas une micro SD, mais un SSD branché à l'ordinateur. On peut installer sur le SSD Raspberry Pi OS, ou n'importe quelle autre image pour Raspberry Pi: Jeedom, Home Assistant, OpenMediaVault, RecalBox, etc.
Une fois l'image installée, on branche le SSD sur le RPI 4 (et on pense à retirer la micro SD utilisée pour le paramétrage). On peut maintenant démarrer Raspberry Pi 4 sur SSD directement, sans plus avoir besoin d'aucune micro SD !
Nous avons maintenant un système fiable et rapide, paré à toutes les utilisations :) Avec la puissance du nouveau Raspberry Pi 4, allié à un démarrage direct sur SSD, voilà une combinaison parfaite pour la réalisation d'une box domotique (ou d'un Nas ou encore d'une console de jeu…).
Super tuto, merci ! Il manque l’étape de création du fichier “ssh” à la racine du DD SSD une fois flashé avec Etcher… ;)
je ne comprends pas : au rédemarrage du PI mon SSD clignote sans cesse et ne boote pas. Avez vous une idée?
Bonjour,
Ca m’a pris un moment et un changement de disque dur, des tests avec hub usb et sans hub… Pour comprendre que sur mes ports USB 3 ça ne fonctionnait pas alors que sur le usb 2 oui…
Ca me laisse le temps de trouver une solution tout en pouvant démarrer sur le SSD.
Je ne comprends pas car mon interface entre le SSD et le port usb 3 est le Argon one M.2 donc fait exprès pour fonctionner sur port usb 3 :(
Eric, as tu trouvé une solution ? je suis dans le même cas que toi
Hello, je déterre un peu le sujet car me retrouvant dans la même configuration.
SSD sur le Argon M.2 et impossible de booter directement dessus.
Des avancées de votre côté ou c’est l’abandon ? :D
Bonsoir à tous et merci pour ce tuto. J’ai quelques interrogations…… J’ai SSD 120Mo tout neuf faut il le formater? (FAT32), faut il le partitionner? si Oui faut il faire une partition “swap”. Je souhaiterai installer un double Boot pour le démarrage à la place de la carte SD. Merci pour vos conseils.
Hello,
Même problème
Mon boîtier usb3 fonctionne sur le port usb 2 uniquement
Et si je transfert mon sud dans un boîtier usb2 , il fonctionne sur les port usb 2 et port usb 3
Le problème doit venir du contrôleur usb3, trop de puissance damandé en usb 3 , problème de compatibilité…?
Si quelqu’un a la solution ?
Merci
Salut,
Idem pour moi, le boot via USB3 ne fonctionne pas : je vais tester avec un autre cable USB3 -> mSATA (juste au cas où).
J’ai pourtant une alimentation officielle RPI 3A …