Raspberry Pi 4 sur disque externe

Le raspberry pi 3 permet de démarrer directement sur une clé USB ou sur un disque dur externe. Dans le cas du Pi 3, il suffit d’installer Raspbian sur le support externe, le connecter sur un des ports USB et démarrer sans carte SD.

Cette fonctionnalité n’existe pas encore pour le Raspberry Pi 4. Maintenant, je te sens déçu mais patientes encore quelques lignes.

Tu n’as pas eu à attendre longtemps. Certes, le Pi 4 ne permet pas un démarrage directement sur le support externe mais tu peux démarrer sur la carte SD et le fonctionnement du système se fera sur le support externe.

Pourquoi et quand utiliser un support externe

Avant de te lancer dans l’installation, je vais t’expliquer pourquoi et dans quel cas cela est utile.

Dans quel cas choisir le support externe

En fonction de ton projet, tu n’auras pas obligatoirement l’utilité de passer sur un support externe.

Si tu souhaites garder une compacité, une portabilité alors cet article ne t’est pas destiné. En revanche, tu peux utiliser Pi Imager pour la préparation de ta carte.

Pourquoi le choix du support externe

Dans un premier temps, tu vas profiter de la vitesse de transmission de l’USB3 (le port bleu sur le pi), sa capacité de transfert est, en théorie, de 1 Gb/s. Bien au-dela de ce que permet la carte SD.

Avec cela, tu gagneras en vitesse d’accès et d’écriture aux données (ou système) sur le support. Bien entendu, il est préférable de choisir un lecteur en USB3.

La durée de vie est également importante. Par exemple, dans le cas d’une utilisation en serveur web, énormément d’informations sont lues et écrites. La carte SD, la clé USB, le disque dur physique ou SSD n’ont pas les mêmes limites.

Alors que la carte SD ne propose que 10000 cycles, le disque dur SSD va jusqu’à 100000.

Cela allongera d’autant la durée de vie tout en la combiant à une vitesse d’accès.

Matériels requis

A présent, tu connais le pourquoi et maintenant le comment. Voici ce dont tu auras besoin :

  • un Raspberry Pi 4,
  • une alimentation,
  • une carte SD (qui ne servira que pour le boot),
  • le Pi consomme beaucoup, il faut choisir de préférence un qui possède une alimentation propre ou une clé USB, choisis une connexion en USB3

Tu auras aussi besoin d’un ordinateur.

Installation du support

Préparation des supports

Il va falloir préparer la carte SD et le support externe. La carte SD reste indispensable pour le boot. Elle ne sera donc sollicitée que lors du démarrage.

Pour l’installation de Raspbian, sinon tu peux suivre les étapes de cet article pour la préparation de la carte et de ton support.

Une fois que tes deux installations sont faites, il faut activer le ssh sur la carte SD, en ajoutant dans la racine, un fichier sans extension nommé « ssh » :

Création du fichier ssh sur la carte SD
Création du fichier ssh sur la carte SD

A présent, tu dois démarrer le Raspberry Pi sans connecter le support. Le premier démarrage prend quelques minutes.

Pour la suite, il faut récupérer l’adresse IP de ton pi, rends toi sur la page de ta box (souvent 192.168.0.1 sinon, en fonction de ton fournisseur, une recherche sur Google te dira comment faire). Ensuite, rends-toi sur les périphériques réseaux, afin de trouver l’adresse IP de ton pi.

Une fois l’adresse IP de ton pi trouvée, tu peux te connecter en ssh, soit en utilisant un utilitaire comme putty (si tu es sur Windows) ou bien, directement via le terminal (si tu es sur linux) :

zigomato@LAPTOP-5BAA0GOP:~$ ssh pi@192.168.0.39 -p 22

Le mot de passe par défaut est : raspberry.

Une fois que le pi est bien démarré, connectes le support et dans un terminal, saisie la commande lsusb :

zigomato@serveur-web:~ $ lsusb
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Configuration du support

Tu vas devoir configurer le nouveau support pour que celui-ci soit utilisé comme système.

Toujours dans le terminal (de toute manière, tu ne le quitteras plus), saisies, la commande :

sudo fdisk /dev/sda.

Pour la configuration, tu saisiras :

  • p
  • x
  • i
  • saisies le nouvelle id, par exemple : 0xd34db33f
  • r
  • w

Pour la confirmation de la prise en charge, tapotes la commande suivante :

sudo blkid

Cela te donneras comme résultat, un écran comme celui-ci :

zigomato@serveur-web:~ $ sudo blkid<br>/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="4BBD-D3E7" TYPE="vfat" PARTUUID="738a4d67-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="45e99191-771b-4e12-a526-0779148892cb" TYPE="ext4" PARTUUID="738a4d67-02"
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="4BBD-D3E7" TYPE="vfat" PARTUUID="d34db33f-01"
/dev/sda2: LABEL="rootfs" UUID="45e99191-771b-4e12-a526-0779148892cb" TYPE="ext4" PARTUUID="d34db33f-02"
/dev/mmcblk0: PTUUID="738a4d67" PTTYPE="dos"

Tu peux constater que le PARTUUID pour le /dev/sda a bien été modifié.

Prise en compte du support au boot

Il est temps à présent de modifier le fichier /boot/cmdline.txt. Cette modification te permettra d’indiquer quel disque utiliser.

Dans un premier temps, récupère l’ID du support en faisant la commande :

sudo lsusb

Cela te donnera ce genre de fenêtre, récupéres l’ID de ton support, dans mon cas 174c:55aa :

zigomato@serveur-web:~ $ lsusb
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Maintenant, édite le fichier /boot/cmdline.txt, en début de fichier, places :

usb-storage.quirks=174c:55aa:u

Puis le reste du ficher à la suite, suivi d’un expace. Recherches le PARTUUID et remplace-le par celui que tu viens de créer, tu devrais obtenir un truc dans le genre :

zigomato@serveur-web:~ $ cat /boot/cmdline.txt
usb-storage.quirks=174c:55aa:u console=serial0,115200 console=tty1 root=PARTUUID=d34db33f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

Pour finir cette partie, tu quittes en enregistrant et tu redémarres le pi.

Après le rédémarrage, pour vérifier la bonne prise en compte, dans le terminal, saisies :

zigomato@serveur-web:~ $ findmnt -n -o SOURCE /<br>/dev/sda2

Dans le fichier /etc/fstab, nous allons modifier le PARTUUID du disque où se situe la racine de notre système :

Modification du fstab
Modification du fstab

Finis par redémarrer le Pi.

Redimensionner la partition

Comme tu as pu le constater, ton nouveau support ne faisait qu’1,5 Go. Tu vas devoir le redimensionner pour l’utiliser complètement.

Dans le terminal, saisie la commande fdisk et suis les commandes comme sur l’image ci-dessous :

Redimensionnement du support avec la commande fdisk
Redimensionnement du support avec la commande fdisk

Tu peux redémarrer le Pi et dès que celui-ci est redémarré, lance la commande :

sudo resize2fs /dev/sda2

Une fois que la commande est finie et que tu récupères la main, vérifies le redimensionnement avec la commande df -h:

Contrôle du redimenssionnement
Contrôle du redimenssionnement

Conclusion

Maintenant, tu as un Raspberry boosté aussi bien grâce à une prolongation de sa durée de vie mais aussi avec une mémoire qui peut être bien plus importante que la carte SD. Enfin, il ne faut pas oublier la vitesse gagné.

Pour cet article, j’ai utilisé un bon vieux disque dur mais qui fait très bien l’affaire.

Cet article a été vu sur domo-blog.fr.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.