Configurer une clef USB
Configurer une clé USB
A propos de ce document ...
Licence de ce document
Ce document est sous licence FDL, et a été écrit spécialement pour le site web lea-linux.org. Vous pouvez néanmoins le reprendre, en mentionnant l'auteur initial
Pourquoi cet article ?
Tout simplement parce que j'ai acheté une clé USB, et que j'ai du faire une recherche sur google pour trouver comment la faire fonctionner. Je pense que lea-linux est un très bon site pour regrouper de la documentation, j'en ai donc écrit une, qui, je l'espère sera utile à certaines personnes :-)
Le Matériel
Matériel Utilisé
Pour écrire cet article, j'ai utilisé une clé USB que j'ai acheté dans la Rue-Montgallet (à Paris). C'est une clé USB générique (donc, sans marque), conforme au standard USB 2.0. En général, toutes les clés USB onctionnent, mais il se peut que vous tombiez sur la perle rare qui ne fonctionnera pas.
Matériel supporté
La technique décrite dans cet article fonctionne normalement avec les clés USB, mais aussi avec les mémoires d'appareils photos type Sandisk. N'ayant pas ce matériel à ma disposition, je n'ai pu tester, mais le module usb-storage supporte ce type de matériel.
Configuration de votre noyau
Quel Noyau ?
Les Clés USB fonctionnent sur tous les noyaux de la série 2.4 et 2.6. Cet article se base sur un noyau 2.6.0, mais le nom des modules, ainsi que le fonctionnement sont équivalent sur un noyau de la série 2.4.
Dois-je recompiler mon noyau ?
Si vous utilisez un noyau générique, non. En effet, les distributions comme Mandrake fournissent un noyau qui intègre déjà les modules nécessaires au fonctionnement d'une clé USB.
En revanche, si, comme moi, vous recompilez votre noyau, alors, il faudra surement le recompiler avec les bons modules.
Modules nécessaires
Liste des Modules nécessaires
- usbcore
: Module pour le supporte USB dans le noyau. - usb-ehci , usb-uhci ou usb-ohci, suivant votre matériel. : Grosso modo, si vous avez un chipset VIA (typiquement les machines à base de processeur Athlon), alors vous choisirez le module usb-ohci, pour les autres, le module usb-uhci sera parfait. Enfin, pour les chanceux qui ont de l'USB 2.0, ce sera le module usb-uhci. (le module s'appelle ensuite uhci-hcd, ohci-hcd ou ehci-hcd).
Autre méthode pour déterminer le module : la commandelspci -v|grep -i usb
Exemple :
# lspci -v|grep -i usb 00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 80) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. USB 00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 80) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. USB 00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 80) (prog-if 00 [UHCI]) Subsystem: VIA Technologies, Inc. USB 00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 [EHCI]) Subsystem: VIA Technologies, Inc. USB 2.0
Ici il faudra donc les modules usb-ehci et usb-uhci
- usb-storage : Ce module est utilisé pour gérer la clé USB en elle-même. Si vous recompiler votre kernel, veillez bien à compiler ce module avec les options qui supporteront votre matériel. Si vous utilisez un kernel générique, pas de panique, toutes les options ont du être incluses pour que le maximum de périphériques soit reconnu.
- scsi_mod : Ce module permet au kernel de gérer des périphériques SCSI, la clé étant interprétée comme un périphérique SCSI.
- sg : Support du SCSI générique.
- sd_mod : Support des disques SCSI.
Modules dans le kernel
Vous devrez donc activer les options suivantes dans la configuration de votre kernel :
- CONFIG_SCSI=m
- CONFIG_CHR_DEV_SG=m
- CONFIG_BLK_DEV_SD=m
- CONFIG_USB=y
- CONFIG_USB_EHCI_HCD=m OU CONFIG_USB_OHCI_HCD=m OU CONFIG_USB_UHCI_HCD=m
- CONFIG_USB_STORAGE=m
(puis les périphériques que vous souhaitez voir supportés par ce module)
Utilisation de la clé
Device du périphérique
Le périphérique est reconnu comme un disque SCSI. Par conséquent, il sera accessible sur /dev/sda{a,b,c,d,...}.
Chargement des modules
En ligne de commande
Pour charger les modules, tapez les commandes suivantes (en root) :
- modprobe sd_mod
- modprobe sg
- modprobe uhci-hcd (ou uhci-hcd OU ehci-hcd, suivant votre matériel)
- modprobe usb-storage
Charger les modules automatiquement
Sous Debian ou Mandrake, ajouter les modules à charger dans le fichier /etc/modules.
Formater la clé
Pour formater la clé, vous avez besoin du programme mkfs.vfat, disponible dans le paquet dosfstools pour Debian, et inclu en standard dans Mandrake. Ensuite, vous tapez simplement :
Où /dev/sda1 représente votre périphérique. mkfs -tvfat
fera appel à mkfs.vfat
, c'est pour cette raison qu'il est nécessaire de posséder ce programme.
Monter la clé
Manuellement
Créez un point de montage, par exemple /mnt/cle, en tapant :
Puis il faut monter votre périphérique, pour cela taper :
Remplacer /dev/sda1 par le device correspondant à votre clé. Dans mon cas, ça correspond à /dev/sda tout court.
Automatiquement
Créez un point de montage, par exemple /mnt/cle, en tapant :
Il faudra ensuite rajouter une ligne au fichier /etc/fstab (ce fichier contient la liste des partitions associées à leur point de montage). Cette ligne ressemblera à ça :
/dev/sda /mnt/cle vfat defaults,rw,user,noauto 0 0
Avec les propriétés suivantes :
- /dev/sda1 : représente votre device/partition (donc, ça peut etre /dev/sda, /dev/sdb1)
- /mnt/cle : représente le point de montage
- vfat : le système de fichier. Le système de fichier fat est employé sur la majorité des clés.
- rw : permet de monter le système en lecture/écriture
- user : un utilisateur autre que root peut monter le périphérique
- noauto : Le système de fichier doit etre monté explicitement. Du coup, vous devez faire un mount /point_de_montage, sinon, le système ne se montera pas.
Vous pouvez alors monter votre clé en tapant simplement
Où /mnt/cle est le point de montage défini dans le fichier /etc/fstab.