Modules du noyau (KLD)
De Diablotins.org.
|
Sommaire |
Synopsis
Bien que FreeBSD soit un noyau dit «monolithique», il est possible d'en charger et décharger certains modules à la volée, plutôt que de les déclarer dans le noyau lors de sa configuration.
Description
Ces modules se retrouvent dans /boot/kernel/ et portent l'extension ko (Kernel object ?).
Une liste des modules qu'il est possible de charger est disponible dans /boot/defaults/loader.conf(5), fichier consulté par le gestionnaire de démarrage.
Utilisation
La commande kldload(8) vous permet de charger un module:
kldload snd_ich Charge le module de son de Intel.
Inversement la commande kldunload(8) le décharge.
kldunload snd_ich
Listez les modules déjà en mémoire avec kldstat(8):
david:~>kldstat Id Refs Address Size Name 1 15 0xc0400000 8e4474 kernel 2 1 0xc0ce5000 29b88 linux.ko 3 1 0xc0d0f000 1b1a8 snd_hda.ko 4 2 0xc0d2b000 4a57c sound.ko 5 1 0xc0d76000 99026c nvidia.ko 6 1 0xc1707000 5314 sem.ko 7 1 0xc170d000 6a48c acpi.ko 8 1 0xc6109000 2000 dragon_saver.ko
Le chargement et déchargement des modules n'est possible que si le niveau de sécurité est de niveau -1 ou 0, niveau réglable au travers de la variable sysctl «kern.securelevel».
Construction
Les modules sont construits avec le noyau.
Certaines options de make, directement ou via make.conf, permettent de le contrôler:
- MODULES_OVERRIDE: Liste de modules à construire.
- NO_MODULES: Ne construite aucun module.
- PORTS_MODULES: Liste de ports à construire avec le noyau.
- WITHOUT_MODULES: Liste de modules à exclure.

