Utiliser un disque dur externe
Ce chapitre traite de l’utilisation d’un disque dur externe (ou n'importe quelle unité de stockage connectée par le port USB) à la place de la carte microSD.
En effet une carte microSD a une durée de vie limitée à un nombre d’écriture, environ 10000, ce qui est relativement faible au regard de l’usage qui en est fait par le Raspberry qui l’utilise comme mémoire de masse du système Linux (Raspbian) qui y est installé.
C’est pourquoi, pour un usage intensif pour le développement d’applications où les distributions réalisées seront déployées plusieurs fois sur le système cible, est-il préférable d’utiliser un disque externe.
Par ailleurs, les mémoires de masse externes permettent des espaces de stockage beaucoup plus importants, encore que la taille d'une carte microSD soit suffisante pour la plupart des applications du Raspberry.
En effet une carte microSD a une durée de vie limitée à un nombre d’écriture, environ 10000, ce qui est relativement faible au regard de l’usage qui en est fait par le Raspberry qui l’utilise comme mémoire de masse du système Linux (Raspbian) qui y est installé.
C’est pourquoi, pour un usage intensif pour le développement d’applications où les distributions réalisées seront déployées plusieurs fois sur le système cible, est-il préférable d’utiliser un disque externe.
Par ailleurs, les mémoires de masse externes permettent des espaces de stockage beaucoup plus importants, encore que la taille d'une carte microSD soit suffisante pour la plupart des applications du Raspberry.
Booter sur un disque dur externe.
La manière la plus simple pour installer un disque externe bootable est de recopier dessus une image de Rasbian téléchargée à partir du site officiel https://www.raspberrypi.org/downloads/ avec Win32DiskImager (téléchargeable sur https://sourceforge.net/projects/win32diskimager/) comme préconisé sur le site officiel.
Connecter le disque externe sur un port USB quelconque du Raspberry, oter la carte microSD s’il y en a une d’installée et démarrer le Raspberry Pi.
En principe, l’installation sur le disque externe se déroule exactement de la même façon que pour l’installation de Raspbian sur une carte microSD.
OUI MAIS … ça ne marche pas… dans certains cas.
OUI MAIS … ça ne marche pas… dans certains cas.
Modifier le FirmWare du Raspberry Pi
Si ça ne marche pas, il se peut que le Raspberry ne soit pas configuré pour permettre de booter sur une mémoire de masse connectée à un port USB.
Lancer la commande suivante pour vérifier :
Lancer la commande suivante pour vérifier :
pi@APLRASPI01:~ $ vcgencmd otp_dump | grep 17
17:3020000a
pi@APLRASPI01:~ $
17:3020000a
pi@APLRASPI01:~ $
Si la valeur du registre 17 de la mémoire OTP du Raspberry PI n’a pas exactement la valeur 3020000a, le Raspberry Pi n’est pas configuré pour permettre de booter sur une mémoire de masse connectée à un port USB.
Il faut donc modifier la valeur de ce registre. Pour cela, il suffit d’ajouter, à la fin du fichier config.txt contenu dans la partition boot d’une carte microSD déjà opérationnelle, la commande suivante :
Il faut donc modifier la valeur de ce registre. Pour cela, il suffit d’ajouter, à la fin du fichier config.txt contenu dans la partition boot d’une carte microSD déjà opérationnelle, la commande suivante :
. . .
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem=128
# Cette commande modifie le firmware du Raspberry Pi
# pour permettre de booter sur une memoire de masse
# connectee a un port USB
program_usb_boot_mode=1
Booter le Raspberry Pi en utilisant la carte microSD modifiée, et vérifier à nouveau que le registre 17 de l’OTP contient bien la valeur 3020000a.
Si ce n’est pas le cas, probablement le Rasberry Pi est trop ancien. Et c’est mort.
Si c’est le cas, ôter la carte microSD et redémarrer le Raspberry PI avec le disque externe connecté. Si le disque est compatible, il doit démarrer et s’installer exactement comme une carte microSD.
Ne pas oublier de supprimer ou de commenter l’instruction ajoutée dans le fichier config.txt de la carte microSD si celle-ci doit être utilisée par ailleurs. Inutile de réécrire le registre 17 à chaque démarrage du Raspberry Pi au risque endommager à terme la mémoire morte de celui-ci, car celle-ci est inamovible.
Si ce n’est pas le cas, probablement le Rasberry Pi est trop ancien. Et c’est mort.
Si c’est le cas, ôter la carte microSD et redémarrer le Raspberry PI avec le disque externe connecté. Si le disque est compatible, il doit démarrer et s’installer exactement comme une carte microSD.
Ne pas oublier de supprimer ou de commenter l’instruction ajoutée dans le fichier config.txt de la carte microSD si celle-ci doit être utilisée par ailleurs. Inutile de réécrire le registre 17 à chaque démarrage du Raspberry Pi au risque endommager à terme la mémoire morte de celui-ci, car celle-ci est inamovible.
Pourquoi le disque dur ne fonctionne pas ?
Il peut y avoir plusieurs raisons :
- Comme vu précédemment, le Raspberry est un modèle plus ancien antérieur au Pi3B pour lequel il est impossible de modifier le contenu du registre OTP.
- Le modèle du disque dur est trop ancien (protocole USB, formatage, etc.).
- En principe, le Raspberry Pi 3B peut délivrer une tension suffisante sur les ports USB pour alimenter une disque externe. Mais ceci est conditionné par la qualité de l'alimentation électrique du Raspberry. Celle-ci soit être capable de fournir du 5V-3A (et non pas 2,5A comme préconisé). Des plantages aléatoires du Raspberry Pi sont un bon indicateur de ce problème. Il peut être préférable d'utiliser des disques durs à alimentation indépendante.
Pour des raisons d’économie, il est possible d’utiliser une ancienne carte microSD de faible capacité (4 Go) sur laquelle est installé Rasbian Lite. Seule la partition de boot de cette carte sera utilisée en lecture seule. Ce qui ne posera pas de problème de longévité puisque les rares opérations d’écritures ne concerneront que les fichiers de configuration config.txt et cmdline.txt.
Les opérations pour mettre en oeuvre cette fonction feront l'objet d'un prochain article.
Commentaires
Enregistrer un commentaire