De nombreuses solutions de stockage externes utilisent, de nos jours, le bus série universel (“Universal Serial Bus”—USB): disques durs, clés USB, graveurs de CDs, etc. FreeBSD fournit un support pour ces périphériques.
Le pilote de périphériques USB de stockage
de masse, umass(4), fournit le support pour les
périphériques de stockage USB. Si vous utilisez
le noyau GENERIC
, vous n'avez rien
à modifier à votre configuration. Si vous
utilisez un noyau personnalisé, assurez-vous que les
lignes suivantes sont présentent dans votre fichier de
configuration du noyau:
device scbus device da device pass device uhci device ohci device usb device umass
Le pilote umass(4) utilise le sous-système
SCSI pour accéder aux périphériques de
stockage USB, votre périphérique USB sera vu par
le système comme étant un
périphérique SCSI. En fonction du
contrôleur USB présent sur votre carte
mère, vous n'avez besoin qu'une des lignes
device uhci
et device
ohci
, cependant avoir les deux lignes dans votre
configuration du noyau est sans danger. N'oubliez pas de
compiler et d'installer le nouveau noyau si vous y avez
effectué des modifications.
Si votre périphérique USB est un graveur de CD ou de DVD, le pilote de périphérique SCSI CD-ROM, cd(4), doit être ajouté au noyau via la ligne:
device cd
Puisque le graveur est vu comme un disque SCSI, le pilote atapicam(4) ne devrait pas être employé dans la configuration du noyau.
Le support pour les contrôleurs USB 2.0 est fourni avec FreeBSD vous devez cependant ajouter:
device ehci
à votre fichier de configuration pour bénéficier du support USB 2.0. Notez que les pilotes uhci(4) et ohci(4) sont toujours nécessaires si vous désirez le support de l'USB 1.X.
La configuration est prête à être testée: branchez votre périphérique USB, et dans le tampon des messages du système (dmesg(8)), le disque devrait apparaître de cette manière:
umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)
Bien évidement, le modèle, le fichier
spécial de périphérique
(da0
) et d'autres détails
peuvent être différents en fonction de votre
configuration.
Comme le périphérique USB est vu comme
étant un périphérique SCSI, la commande
camcontrol
peut être employée
pour lister les périphériques de stockage USB
attachés au système:
#
camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)
Si le disque dispose d'un système de fichiers, vous devriez pouvoir le monter. La Section 19.3, « Ajouter des disques » vous aidera à formater et créer des partitions sur le disque USB si nécessaire.
Pour rendre ce périphérique montable par un
utilisateur normal, un certain nombre de paramétrages
sont nécessaires. Tout d'abord, les entrées de
périphériques qui sont créées lors
de la connexion d'un périphérique USB doivent
être accessibles à l'utilisateur. Une solution
est de faire en sorte que tous les utilisateurs de ces
périphériques soient membres du groupe
operator
. Cela se fait à l'aide
de pw(8). Ensuite, quand ces entrées de
périphériques sont créées, le
groupe operator
doit pouvoir y
accéder en lecture et en écriture. Pour cela,
les lignes suivantes sont ajoutées à
/etc/devfs.rules
:
[localrules=1] add path 'da*' mode 0660 group operator
S'il y a déjà des disques SCSI dans le
système, on doit procéder
légèrement différemment. Par exemple,
si le système contient déjà des disques
da0
à
da2
attachés au
système, changez la seconde ligne pour:
add path 'da[3-9]*' mode 0660 group operator
Les disques déjà présents
n'appartiendront pas au groupe
operator
.
Vous devez également activer votre ensemble de
règles devfs.rules(5) dans votre fichier
/etc/rc.conf
:
devfs_system_ruleset="localrules"
Le noyau doit être ensuite configuré pour
autoriser les utilisateurs habituels à monter des
systèmes de fichiers. La méthode la plus simple
est d'ajouter la ligne suivante au fichier
/etc/sysctl.conf
:
vfs.usermount=1
Notez que ce paramétrage ne prendra effet qu'au prochain redémarrage. Il est également possible d'utiliser sysctl(8) pour fixer cette variable.
La dernière étape est de créer un
répertoire où le système de fichiers sera
monté. Ce répertoire doit appartenir à
l'utilisateur qui montera le système de fichiers. Une
méthode adaptée et la création par
root
d'un sous-répertoire
/mnt/$USER
appartenant à l'utilisateur en question (remplacez
$USER
par le nom d'utilisateur de
cet utilisateur):
#
mkdir /mnt/$USER
#
chown $USER:$USER /mnt/$USER
Supposez qu'une clé USB soit branchée et
qu'un périphérique
/dev/da0s1
apparaît. Comme ce type
de périphériques est en général
livré préformaté avec un système
de fichiers de type FAT, on pourra le monter de cette
manière:
%
mount -t msdosfs -m 644 -M 755 /dev/da0s1 /mnt/$USER
Si vous débranchez le périphérique (le disque doit être démonté auparavant), vous devriez voir dans les messages du système quelque chose comme:
umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached
En plus des sections Ajouter des disques et Monter et démonter des systèmes de fichiers, la lecture de différentes pages de manuel peut être également utile: umass(4), camcontrol(8), et usbdevs(8).
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.