Je passe le problème à 'résolu' puisque l'objectif a été atteint. Les lignes qui suivent indiquent "comment" mais pas toujours "pourquoi" sur le processus suivi. Elles peuvent, peut-être, aider à résoudre un problème similaire.:)
1) Rappel de l'objectif : pour l'espace mémoire noyau, compiler (à partir d'un source .c) un module et l'installer dans l'arborescence du noyau courant.
2) la compilation pour obtenir un module (.ko) nécessite de disposer des sources du noyau. Dans le cas de Debian/lenny, il s'agit de la version 2.6.26-2-686 (paquet linux-source-2.6.26). Au départ je n'avais pas compris qu'il y a "sources" et "sources". L'installation du paquet permet de récupérer les sources "brutes", si on tente une compilation, celle-ci échoue avec notamment:
erreur: include/linux/autoconf.h : Aucun fichier ou répertoire de ce type
3) La génération d'un nouveau noyau, clone du noyau courant (par copie du .conf - cf le tutoriel utilisant make-kpkg) permet la mise à jour des sources de ce nouveau noyau, avec notamment la présence de:
include/linux/autoconf.h, include/config/auto.conf, include/linux/version.h
La compilation génère un .ko (avec cependant un message d'erreur, non bloquant, voir la discussion "bizarre bizarre" et sa conclusion)
La commande insmod nomModule.ko permet de le charger (de manière temporaire),
la commande lsmod de vérifier sa présence,
la commande rmmod nomModule de le supprimer
4) Par invocation de la cible module_install du Make, il est possible d'installer le module dans l'arborescence du "noyau" ie /lib/modules/<reférence noyau>/extra/nomModule.ko
Mais la commande : # modprobe nomModule echoue
-> FATAL: Module nomModule not found.:o
En effet <reférence noyau> est celle du nouveau noyau, pas du noyau en cours d'utilisation.
La simple copie dans /lib/modules/refNoyauCourant/extra/nomModule.ko ne règle pas le problème.
5) Il est nécessaire d'installer le nouveau noyau par
# dpkg -i linux-image-2.6.26-<reférenceNouveau>....deb
Après reboot et choix du nouveau noyau, la commande
# modprobe nomModule est OK . On peut le vérifier par lsmod
6) Pour une prise en compte automatique au reboot (cas nouveau noyau), j'ai modifié le
fichier /etc/nomModule en ajoutant une ligne nomModule
7) le Makefile "local" pour invoquer les cibles (modules et modules_install) du Makefile
de la racine des sources du noyau peut être trouvé à:
http://pficheux.free.fr/articles/lmf/ke … emples.tgz