Hal terbaik adalah menggunakan kernel makefile untuk menginstal modul:
Ini cuplikan untuk ditambahkan ke Makefile
Andadi sekitar bagian atas tambahkan:
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
di bagian akhir tambahkan:
install:
$(MAKE) -C $(KERNEL_BUILD) M=$(PWD) \
INSTALL_MOD_PATH=$(INSTALL_ROOT) modules_install
dan kemudian Anda dapat mengeluarkan
sudo make install
ini akan menempatkannya di /lib/modules/$(uname -r)/extra/
atau /lib/modules/$(uname -r)/misc/
dan jalankan depmod dengan tepat
saya pikir harus ada entri your_module.ko Anda di /lib/modules/uname -r
/modules.dep dan di /lib/modules/uname -r
/modules.dep.bin agar perintah "modprobe your_module" berfungsi
Coba insmod
bukannya modprobe. Modprobe mencari di direktori modul /lib/modules/uname -r
untuk semua modul dan file lainnya
Alasannya adalah modprobe
melihat ke dalam /lib/modules/$(uname -r)
untuk modul dan karenanya tidak akan berfungsi dengan jalur file lokal. Itulah salah satu perbedaan antara modprobe
dan insmod
.