![]() |
|
Livre de chevet du d�veloppeur FreeBSD | ||
---|---|---|
Pr�c�dent | Chapitre 16. Ecrire des pilotes de p�riph�riques pour FreeBSD | Suivant |
L'interface kld permet aux administrateurs système d'ajouter et d'enlever dynamiquement une fonctionnalité à un système en marche. Cela permet aux développeurs de pilote de périphérique de charger leurs nouveaux changements dans le noyau en fonctionnement sans redémarrer constamment pour tester ces derniers.
L'interface kld est utilisé au travers des commandes d'administrateur suivantes :
kldload - charge un nouveau module dans le noyau
kldunload - décharge un module du noyau
kldstat - liste les modules chargés dans le noyau
Structure squelettique d'un module de noyau
/* * Squelette KLD * Inspiré de l'article d'Andrew Reiter paru sur Daemonnews */ #include <sys/types.h> #include <sys/module.h> #include <sys/systm.h> /* uprintf */ #include <sys/errno.h> #include <sys/param.h> /* defines utilise dans kernel.h */ #include <sys/kernel.h> /* types utilise dans le module d'initialisation */ /* * charge le gestionnaire quit traite du chargement et déchargement d'un KLD. */ static int skel_loader(struct module *m, int what, void *arg) { int err = 0; switch (what) { case MOD_LOAD: /* kldload */ uprintf("Skeleton KLD charge.\n"); break; case MOD_UNLOAD: uprintf("Skeleton KLD decharge.\n"); break; default: err = EINVAL; break; } return(err); } /* Declare ce module au reste du noyau */ DECLARE_MODULE(skeleton, skel_loader, SI_SUB_KLD, SI_ORDER_ANY);
FreeBSD fournit un fichier d'inclusion "makefile" que vous pouvez utiliser pour compiler rapidement votre ajout au noyau.
SRCS=skeleton.c KMOD=skeleton .include <bsd.kmod.mk>
Lancer simplement la commande make avec ce fichier Makefile créera un fichier skeleton.ko qui peut être chargé dans votre système en tapant :
# kldload -v ./skeleton.ko
Pr�c�dent | Sommaire | Suivant |
Ecrire des pilotes de p�riph�riques pour FreeBSD | Niveau sup�rieur | Acc�der au pilote d'un p�riph�rique |
Ce document, ainsi que d'autres peut �tre t�l�charg� sur ftp.FreeBSD.org/pub/FreeBSD/doc/.
Pour toutes questions � propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:12