Modules du noyau (KLD)
De Diablotins.org.
| KLD, Modules externes au noyau
|
| ||
| 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. |
Sommaire |
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 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.

