1. Principes
Les différents composants nécessaires à votre machine peuvent être chargés de deux manières possibles :
- soit ils sont chargés directement par le noyau
- soit ils peuvent intégrés et chargés au cours de l'exécution du noyau.

L'insertion en dynamique de nouveaux modules évite notamment d'avoir à recompiler systèmatiquemnt son noyau lors de nouveaux besoins.

Le code compilé des différentes fonctionnalités et des différents pilotes de périphériques peut se trouver soit dans l'image du noyau comem nous l'avons dit précédemment soit dans des fichiers situés sous /lib/modules/<version du noyau>.

2. Ajouter un module

Il existe deux commandes pour ajouter un module : insmod et modprobe.

insmod permet d'insérer individuellement un module en mémoire alors que mobprobe insérera lui aussi le module mais également toutes ses dépendances. Il est donc conseillé d'utiliser prioritairement la commande modprobe.

Voici la syntaxe de la commande pour ajouter un module avec modprobe :
#modprobe <nom du module>
Exemple :
#modprobe loop

3. Supprimer un module

Pour supprimer un module de la mémoire, il faut utiliser la commande rmmod.

Voici la syntaxe :
#rmmod <nom du module>
Exemple :
#rmmod loop

4. lister l'ensemble des modules chargés

Pour voir quels sont les modules chargés en mémoire, il faut utiliser la commande lsmod.

5. Informations sur un module

Pour obtenir des informations sur un module, utiliser la commande modinfo (cette commande étant récente, tous les modules ne contiennent pas des informations). La syntaxe est modinfo <nom du module>

#modinfo snd-emu10k1
filename:    /lib/modules/2.4.27-2-k7/updates/alsa/snd-emu10k1.o
description: "EMU10K1"
author:      "Jaroslav Kysela <perex@suse.cz>"
license:     "GPL"
parm:        index int array (min = 1, max = 8), description "Index value for the EMU10K1 soundcard."
parm:        id string array (min = 1, max = 8), description "ID string for the EMU10K1 soundcard."
parm:        enable int array (min = 1, max = 8), description "Enable the EMU10K1 soundcard."
parm:       extin int array (min = 1, max = 8), description "Available external inputs for FX8010. Zero=default."
parm:       extout int array (min = 1, max = 8), description "Available external outputs for FX8010. Zero=default."
parm:       seq_ports int array (min = 1, max = 8), description "Allocated sequencer ports for internal synthesizer."
parm:       max_synth_voices int array (min = 1, max = 8), description "Maximum number of voices for WaveTable."
parm:       max_buffer_size int array (min = 1, max = 8), description "Maximum sample buffer size in MB."
parm:        enable_ir int array (min = 1, max = 8), description "Enable IR."

6. Modconf : gestion par interface

Il existe un outil qui permet de charger des modules supplémentaires dans le noyau grâce à une interface : modconf. Si vous voulez tester ce paquet, installez le :
#apt-get install modconf

Ensuite pour le lancer :
#modconf

Voici ce que cela donne :
modconf