Lo mejor es usar el archivo MAKE del kernel para instalar el módulo:
Aquí hay fragmentos para agregar a su Makefile
alrededor de la parte superior agregue:
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
alrededor del final agrega:
install:
$(MAKE) -C $(KERNEL_BUILD) M=$(PWD) \
INSTALL_MOD_PATH=$(INSTALL_ROOT) modules_install
y luego puede emitir
sudo make install
esto lo pondrá en /lib/modules/$(uname -r)/extra/
o /lib/módulos/$(uname -r)/misc/
y ejecute depmod apropiadamente
Creo que debería haber una entrada de your_module.ko en /lib/modules/uname -r
/modules.dep y en /lib/modules/uname -r
/modules.dep.bin para que funcione el comando "modprobe your_module"
Prueba insmod
en lugar de modprobe. Modprobe busca en el directorio del módulo /lib/modules/uname -r
para todos los módulos y otros archivos
La razón es que modprobe
mira en /lib/modules/$(uname -r)
para los módulos y, por lo tanto, no funcionará con la ruta del archivo local. Esa es una de las diferencias entre modprobe
y insmod
.