Ceci n’a pas vocation à être une présentation explicite de toutes les commandes gérant les modules du noyau Linux. C’est le résultat d’une journée de bataille pour installer un driver de carte réseau Broadcom (Broadcom ne voulant pas diffuser les sources de ses pilotes….Merci pour le temps perdu) et d’un certain nombre de commandes pour trouver le module qui va bien. Je veux juste garder une trace écrite des commandes utilisées et si ça peut vous servir…
lsmod: Afficher la liste des modules installés
depmod -a: Lorsque l’on ajoute un module dans le répertoire /lib/modules/kernel/ cela permet de remettre la liste des modules disponibles à jour
insmod : Installe un module dans le noyau, c’est à dire qu’il sera chargé au démarrage de la machine
modprobe: Permet d’installer temporairement un module au noyau, c’est à dire qu’au prochain redémarrage il ne sera pas chargé
rmmod: Permet de supprimer un module du noyau
modconf: C’est en fait un outil graphique très pratique pour ajouter ou enlever des modules au noyau
D’autres infos en vrac, les modules que l’on compile à partir des sources ont généralement l’extension .o sur les kernel 2.4 et .ko sur les 2.6.
Pour installer les drivers d’une carte Broadcom BC57xx on peut télécharger les sources avec un apt-get install BC5700-sources
Cela crée un répertoire modules dans /usr/src/
Il faut installer les paquets kernel-headers-2.6.x-x-i686 et kernel-image-2.6.x-x-i686 qui seront aussi placés dans /usr/src/
Il faut ensuite faire un alias du répertoire kernel-headers en linux à l’aide de la commande ln -s /usr/src/kernel-headers-2.6.x-x linux
cd linux
make-kpkg modules pour lancer la compilation du module
cd ..
Normalement un paquet Debian a été créé (.deb)
Il n’y a plus qu’à l’installer dpkg -i nom_du_paquet.dev
Normalement cela copie le driver nom_du_driver.ko dans /lib/modules/kernel et dans le sous répertoire qui va bien (drivers/net pour la carte réseau)
Sinon on peut le placer à la main
depmod pour rafraîchir la liste des modules
modprobe nom_du_driver
lsmod |grep nom_du_driver pour voir s’il a été installé
Essayer de monter l’interface correspondante à la carte réseau ifconfig eth0 up
ifconfig pour voir si elle a bien été montée
insmod nom_du_driver si tout va bien