Utiliser une mémoire de masse externe
Introduction
La carte micro SD (Secure Digital) du Raspberry Pi donne aux utilisateurs une grande souplesse d’utilisation. Il suffit de changer de carte micro SD pour démarrer rapidement sur un autre système.
Néanmoins dans certains cas, brancher un stockage additionnel à son Raspberry Pi permet de partager ses données avec d’autres ordinateurs, soit d’étendre la capacité de stockage au-delà de ce qu’offre les cartes micro SD, soit d’utiliser des disques durs offrant des vitesses supérieures aux cartes micro SD.
Ce chapitre présente les éléments à prendre en compte lors du choix d’une solution, ainsi qu’un exemple de mise en œuvre avec une clé USB de 4 Go, divisée en deux partitions de 2 Go. Cette description s’applique à des supports externes de taille quelconque.
Après la préparation de la clé USB pour son utilisation avec le Raspberry Pi, le montage manuel ou automatique des partitions présentes sur le support externe permettra d’étendre les possibilités du Raspberry Pi.
L’utilisation de la ligne de commande pour la réalisation de toutes les opérations facilitera la prise en main de cet environnement qui se révèle, à l’usage, simple à utiliser et souvent beaucoup plus puissant que les utilitaires...
Choisir un stockage de masse externe
1. Caractéristiques des cartes micro SD
La carte SD, lancée en 2000 par Panasonic, SanDisk et Toshiba, est devenue un support incontournable pour le stockage des données dans nombre d’appareils comportant un système embarqué (appareils de prise de vue, diffuseurs de musique, smartphones, tablettes…).
Elle a été déclinée en mini SD et micro SD, qui conservent les caractéristiques de la carte SD originale, mais avec une taille adaptée à la miniaturisation des appareils actuels.
Au fil des années, les capacités des cartes SD ont augmenté, mais restent en moyenne bien inférieures aux capacités des disques dur. Elles offrent aussi des vitesses de lecture et d’écriture inférieures aux même disques durs.
a. Technologie des cartes micro SD
Les cartes micro SD sont construites à partir d’EEPROM (Electrically Erasable Programmable Read-Only Memory = mémoire morte programmable et effaçable électriquement). L’écriture des données dans ces mémoires de type NAND (Not-AND = mémoire construite à base de portes logiques NON-ET) nécessite l’emploi d’une tension plus élevée que la tension utilisée en lecture. Si la lecture des cartes micro SD peut se faire indéfiniment sans causer de détérioration, les écritures répétées provoquent à la longue une dégradation des cellules de mémoire.
Les fabricants mettent en œuvre des procédés qui gèrent l’endroit où se fait l’écriture dans les mémoires. Un composant présent sur la carte enregistre le nombre d’écritures par zone mémoire et optimise l’utilisation de ces zones.
b. Durée...
Les disques et les partitions sous Linux
Dans le système Linux, les disques n’apparaissent pas directement dans le système de fichiers (l’arborescence) comme sous Windows. L’accès aux disques et aux partitions se fait à travers des fichiers spéciaux qui servent d’interface entre le système et le périphérique.
1. Identification des disques sous Linux
Un disque externe USB, branché sur une machine tournant sous Windows, est détecté et apparaît sous la forme de partition dans le gestionnaire de disques. Ces partitions se nomment F:, G: ou autre selon la première lettre disponible en dehors de celles réservées pour les lecteurs locaux.
Sous Linux, un disque apparaît dans le dossier /dev, sous la forme d’un fichier spécial, permettant au système d’accéder au disque.
Les disques IDE (Integrated Drive Electronics = disque dur à électronique intégrée) reliés à la carte mère des PC par une nappe à 40 fils prennent le nom de hda,hdb… dans le dossier /dev. Ils sont remplacés depuis quelques années par les disques SATA (Serial Advanced Technology Attachment = liaison série en technologie de pointe).
Les disques SATA ou les disques SCSI (Small Computer System Interface = interface pour petit système informatique) sont nommés sda, sdb… dans le dossier /dev.
2. Identification des partitions sous Linux
Sous Linux, les partitions reçoivent un nom qui est une déclinaison du nom du disque dur sur lequel elles se trouvent (nom du disque complété par un chiffre). Par exemple un disque nommé sda et comportant deux partitions sera affiché sous la forme sda1 et sda2. Les partitions sont accessibles dans le répertoire /dev qui regroupe tous les fichiers spéciaux du système Linux.
a. Fichiers spéciaux
Pour avoir un aperçu des fichiers spéciaux présents dans le répertoire /dev du Raspberry Pi, tapez la commande :
pi@raspberrypi ~ $ ls /dev
Ce sont près de 160 fichiers spéciaux qui existent dans /dev. C’est ici qu’apparaissent les disques et partitions qui nous intéressent.
b. Nommage des fichiers spéciaux
La carte micro SD est identifiée sous...
Définir un point de montage
Sous Windows chaque partition est identifiée par une lettre distincte C:, D:… Sous Linux les partitions sont simplement « raccrochées » à l’arborescence générale du système via un « point de montage ».
1. L’arborescence sous Linux
Sous Linux, le système de fichiers est organisé en arborescence (voir le chapitre Utiliser la ligne de commande).
pi@raspberrypi ~ $ ls /
bin dev home lost+found mnt proc run selinux sys usr
boot etc lib media opt root sbin srv tmp var
Deux répertoires nous intéressent tout particulièrement :
-
/media destiné au montage des médias amovibles.
-
/mnt habituellement utilisé pour le montage temporaire de systèmes de fichiers.
Pour accéder aux partitions de la clé USB, il faut créer un répertoire à partir duquel le système d’exploitation pourra accéder au système de fichiers présent sur le support.
Ce répertoire peut être situé n’importe où dans l’arborescence, mais...
Utiliser une mémoire externe
Dès lors que les répertoires qui vont servir de point de montage ont été créés, il devient possible de raccrocher des systèmes de fichiers externes à l’arborescence du Raspberry Pi.
1. Montage manuel de la clé USB
Après avoir créé les points de montage, il faut monter les partitions dans ces répertoires, pour qu’elles apparaissent dans le système de fichiers du Raspberry Pi. La commande mount réalise cette opération.
La partition présente sur la clé USB, nommée /dev/sda1 par le système, est montée sur le point de montage /mnt/partition1 avec la commande :
pi@raspberrypi /mnt $ sudo mount -t ext4 /dev/sda1
/mnt/partition1
La commande mount demande trois paramètres :
-
-t ext4 indique le type de partition à monter. Les types de partitions reconnus sont nombreux (ext, ext2, ext3, ext4, hpfs, msdos, vfat, nfs, iso9660, smbfs…). Il est ainsi possible de monter une grande variété de supports de mémoire de masse sur le système de fichiers du Raspberry Pi.
-
/dev/sda1 est la partition qu’il faut monter sur le point de montage.
-
/mnt/partition1 est le répertoire dans lequel la partition /dev/sda1 apparaîtra.
La commande mount accepte également des options avec les paramètres -o, parmi lesquelles :
-
ro autorise uniquement la lecture sur le système de fichiers monté.
-
rw autorise la lecture et l’écriture sur le système de fichiers monté.
-
user autorise les utilisateurs normaux (ceux qui ne sont pas root) à monter un système de fichiers.
Montez la deuxième partition de la clé USB dans le répertoire /mnt/partition2, autorisez-la en lecture seulement. Vérifiez avec la commande mount que l’option ro a bien été appliquée à /mnt/partition2. La commande mount utilisée seule affiche la liste des fichiers montés.
/dev/sda1 on /mnt/partition1 type ext4 (rw,relatime,data=ordered)
/dev/sda2 on /mnt/partition2 type ext4 (ro,relatime,data=ordered)
Le montage manuel des partitions donne une grande souplesse pour gérer des mémoires de stockage de masse. Cependant, le système Linux utilise un système économisant les transferts...
Modification des droits
Lors de la préparation de la clé USB, ce sont les droits de l’administrateur qui s’appliquent. Pour qu’un utilisateur normal puisse utiliser le périphérique, il faut modifier les droits d’accès.
L’application du droit 777 sur l’ensemble du disque peut sembler facile, mais elle est dangereuse car elle ouvre le disque à tout accès sans aucun contrôle.
1. Partition FAT ou NTFS
Pour une partition FAT ou NTFS, il vaut mieux créer un groupe qui aura accès au disque et lui donner les droits sur l’ensemble du disque. Il suffit ensuite d’ajouter les utilisateurs à ce groupe pour leur attribuer ces droits. Ces utilisateurs peuvent être des utilisateurs réels ou des utilisateurs mis en œuvre par des applications.
Créez le groupe diskuser autorisé à utiliser le disque :
pi@raspberrypi ~ $ sudo groupadd diskuser
Il faut maintenant ajouter l’utilisateur pi, et d’autres si vous le souhaitez, au groupe diskuser :
pi@raspberrypi ~ $ sudo usermod -a -G diskuser pi
Ajoutez maintenant la ligne suivante au fichier /etc/fstab pour monter automatiquement la partition FAT :
/dev/sda2 /mnt auto auto,async,gid=diskuser,umask=007 0 2
Le paramètre umask enlève les permissions indiquées. Ici, la valeur 7 indique que les utilisateurs qui ne sont...
Conclusion
L’utilisation d’une carte micro SD limite la quantité de mémoire disponible. L’utilisation d’une mémoire de masse externe donne accès à des capacités de stockage plus étendues, particulièrement appréciables si le Raspberry Pi est utilisé en centre multimédia.