Ceci est une ancienne révision du document !
Table des matières
Gestion des modules du noyau avec kld sous FreeBSD
La gestion des modules chargables du noyau FreeBSD s'effectue avec la suite d'outils kld (Kernel LoaDer) qui a été intégrée sous FreeBSD 3.0. Cette suite comprend :
- kldload qui permet de charger des modules au noyau.
- kldunload au contraire décharge les modules souhaités.
- kldstat permet de lister les modules actuellement chargés dans le noyau.
- kldxref sert quand à lui à créer et mettre à jour l'index des modules noyau dans
/boot/kernel/ou/boot/modules/(intégré sous FreeBSD 5.0). Le fichier d'index se nommelinker.hints.
Concernant les fichiers ou répertoires des modules, vous trouverez les modules fournis avec le noyau dans le répertoire /boot/kernel/ et pour les modules installés manuellement c'est dans /boot/modules/, les fichiers de modules finissent par l'extension .ko pour Kernel Object. Le noyau en lui même est /boot/kernel/kernel.
Utilisation de la suite d'outils kld
Pour faciliter la rédaction de ce tutoriel on va utiliser l'utilitaire d'administration sudo.
Pour charger un module :
sudo kldload modules.ko
Pour décharger un module :
sudo kldunload modules.ko
.ko d'un module. Si vous n'avez pas de complétion complète avec votre shell vous pouvez indiquer le chemin du module, exemple : sudo kldload /boot/kernel/linux.ko
Pour lister les modules actuellement chargés dans le noyau :
kldstat
Charger des modules de manière permanente
Pour charger des modules de manière permanente il faut soit les renseigner dans le fichier /boot/loader.conf ou /etc/rc.conf, vous pouvez également les charger de façon individuel ou par petit groupe de modules dans les répertoires /boot/loader.conf.d/ et /etc/rc.conf.d/.
Ajouter module dans /boot/loader.conf :
sudo echo nom_module_load="YES" >> /boot/loader.conf
Ajouter module dans /etc/rc.conf :
sudo echo kld_list="module" >> /etc/rc.conf
