Chapitre 5. Monter automatiquement ses périphériques amovibles (Supermount)

Table des matières
1. Description
2. Pré-requis
2.1. Pré-requis logiciel
2.2. Pré-requis matériel
2.3. Pré-requis théorique
3. Installer le patch
3.1. Si vous avez un noyau 2.4.22
3.2. Si vous avez un noyau <= 2.4.21
4. Compiler son noyau
5. Configurer ses périphériques
5.1. Chargement du module supermount
5.2. Modification du fichier /etc/fstab
6. Utiliser

Tableau 5-1. Evolution de cet article

DateAjout(s) / Modification(s)
03 septembre 2003Version initiale.
27 octobre 2003Relecture.

1. Description

Sur votre Debian GNU/Linux vous devez à chaque insertion de CDROM ou de disquette monter le périphérique approprié. Cela n'est pas très couteux lorsque l'on ne se sert que très rarement de ses lecteurs amovibles mais dans le cas contraire, cela devient vite un calvaire.

Pour remédier à ce problème, le système de fichier supermount a été développé. Il permet le montage et le démontage automatique des périphériques amovibles.

2. Pré-requis

2.1. Pré-requis logiciel

Un éditeur de texte, les sources d'un noyau de la branche 2.4 (de préference issue d'un paquet Debian).

2.2. Pré-requis matériel

Avoir au minimum un lecteur amovible (lecteur de disquette, lecteur de CDROM...)

2.3. Pré-requis théorique

Connaître le contenu du fichier /etc/fstab

3. Installer le patch

Important

A l'heure où j'écris ces lignes (03-09-2003) il n'y a pas de patch Debian pour le dernier noyau stable : le 2.4.22. Si c'est votre cas vous devez utiliser un patch standard.

NotePatch Debian versus patch standard
 

Les patches que l'on trouve sur le Net sont en général sous la forme de fichiers .diff que l'on appliquent avec la commande patch. Lorsque l'on applique plusieurs patches successivement sur un même noyau de cette manière il arrive assez fréquemment que le dernier patche ne puisse pas s'appliquer. Dans ce cas on est obligé de décompresser à nouveau les sources de son noyau car les précédentes sont corrompues et tenter une autre combinaison de patch pour obtenir ce dont on a besoin.

Les patches Debian ont l'avantage de ne s'appliquer que si les modifications sont possibles. Et de plus on peut les défaire.

3.1. Si vous avez un noyau 2.4.22

3.1.1. Télécharger le patch

Con Kolivas a développé un tel patch :

Tableau 5-2. Télécharger le patch de Con Kolivas pour le noyau 2.4.22

ProvenanceLien de téléchargement
Ce guide de l'utilisateur patch-1040_SM_03092003_2.4.22.bz2
Page personnel de Con Kolivas Patch supermount de Con Kolivas

3.1.2. Appliquer le patch à son noyau

Vous devez maintenant appliquer le patch supermount que vous venez de télécharger sur votre noyau. On commence par le décompresser puis on l'applique sur le répertoire qui contient les sources du noyau :

$ cd /usr/src
$ tar jxvf patch-1090_BS_0306020027_2.4.21-ck2.bz2
$ cd linux
$ patch -p1 < /usr/src/patch-1090_BS_0306020027_2.4.21-ck2

3.2. Si vous avez un noyau <= 2.4.21

3.2.1. Télécharger le patch

On télécharge le patch :

# apt-get install kernel-patch-scripts kernel-patch-2.4-supermount-ng

3.2.2. Appliquer le patch supermount à son noyau

On l'applique sur les sources de notre noyau :

$ cd/usr/src/linux
$ ../kernel-patches/all/apply/supermount-ng

4. Compiler son noyau

Je vous laisse lire l'article Installer un nouveau noyau à la sauce Debian.

Votre noyau doit supporter supermount :

Tableau 5-3. Configuration de votre noyau

SectionOption du noyauEn module ou en dur ?
File systemsSupermount removable media supporten dur ou en module

5. Configurer ses périphériques

5.1. Chargement du module supermount

Si vous avez décidé de compiler l'option supermount en module, vous devez charger ce dernier pour que le système puisse en tirer parti

Pour cela rajouter dans le fichier /etc/modules :

supermount

Puis demander au système qu'il prenne en compte ces modifications :

# /etc/init.d/modutils

5.2. Modification du fichier /etc/fstab

Il faut maintenant modifier le fichier /etc/fstab et remplacer la ligne concernant votre périphérique par une nouvelle ligne au format :

none   <mpt>   supermount   <superfs-options>,--,<subfs-options> 0 0

Voici une explication des options à définir :

5.2.1. none

Vous ne devez pas spécifier de point de montage pour votre périphérique amovible ici comme c'est le cas en général. C'est le driver qui va s'en charger par la suite.

5.2.2. mpt

Le point de montage de votre périphérique s'inscrit toujours à la même position.

5.2.3. supermount

C'est le nouveau système de fichier pour votre périphérique

5.2.4. superfs-options

Vous devez spécifier ici le système de fichier et le point d'entrée de votre périphérique.

  • fs=(auto, iso9660, udf, ext2, vfat, msdos). Vous pouvez spécifier plusieurs système de fichiers en les séparent par le caractère << : >>. Soit par exemple :
    fs=iso9600:udf

  • dev= suivi du point d'entrée de votre périphérique.

5.2.5. subfs-option

Tout ce que vous passiez en paramètre au sysème de fichier de votre périphérique amovible est passé ici comme avant. N'oubliez pas de rajouter la chaîne ,--, pour délimiter les options dy système de fichiers supermount de celle du système de fichiers de votre périphérique.

5.2.6. Exemple

Ainsi la ligne qui concerne mon lecteur de cdrom :

/dev/cdrom   /cdrom   iso9600      ro,user,noauto                               0  0

devient :

none         /cdrom    supermount  fs=iso9600,dev=/dev/cdrom,--,ro,user,noauto  0  0

6. Utiliser

Pour que le système prenne en compte les modifications que vous avez apporté au fichier /etc/fstab vous pouvez monter tous les périphériques qui ne le sont pas :

# mount -a

Une fois les changements pris en compte, il ne reste plus qu'à tester que cela fonctionne.