Le mieux est d'utiliser le makefile du noyau pour installer le module :
Voici des extraits à ajouter à votre Makefile
en haut ajouter :
PWD=$(shell pwd)
VER=$(shell uname -r)
KERNEL_BUILD=/lib/modules/$(VER)/build
# Later if you want to package the module binary you can provide an INSTALL_ROOT
# INSTALL_ROOT=/tmp/install-root
vers la fin ajouter :
install:
$(MAKE) -C $(KERNEL_BUILD) M=$(PWD) \
INSTALL_MOD_PATH=$(INSTALL_ROOT) modules_install
et ensuite vous pouvez émettre
sudo make install
cela le mettra soit dans /lib/modules/$(uname -r)/extra/
ou /lib/modules/$(uname -r)/misc/
et lancez depmod correctement
je pense qu'il devrait y avoir une entrée de votre your_module.ko dans /lib/modules/uname -r
/modules.dep et dans /lib/modules/uname -r
/modules.dep.bin pour que la commande "modprobe your_module" fonctionne
Essayez insmod
au lieu de modprobe. Modproberegarde dans le répertoire du module /lib/modules/uname -r
pour tous les modules et autres fichiers
La raison est que modprobe
examine /lib/modules/$(uname -r)
pour les modules et ne fonctionnera donc pas avec le chemin de fichier local. C'est l'une des différences entre modprobe
et insmod
.