wiki:os:bsd_unix:freebsd:tutos:admin:kld

Ceci est une ancienne révision du document !


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 nomme linker.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.

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
Vous n'êtes pas obligé de renseigner l'extension .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

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
Se charge plus vite que dans /etc/rc.conf, le module est chargé directement au boot de FreeBSD sans lecture préalable de /etc/rc.conf.

Ajouter module dans /etc/rc.conf :

sudo echo kld_list="module" >> /etc/rc.conf

pour ajouter d'autres modules dans /etc/rc.conf, vous avez la possibilité d'en ajouter plusieurs sur un ligne (séparés par un espace) :

sudo echo kld_list+="module module2" >> /etc/rc.conf
  • wiki/os/bsd_unix/freebsd/tutos/admin/kld.1756587038.txt.gz
  • Dernière modification : 2025/08/30 20:50
  • de Thibault Seguin