最良の方法は、実際にカーネル makefile を使用してモジュールをインストールすることです:
Makefile に追加するスニペットは次のとおりです
上部に追加:
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
末尾に追加:
install:
$(MAKE) -C $(KERNEL_BUILD) M=$(PWD) \
INSTALL_MOD_PATH=$(INSTALL_ROOT) modules_install
そして、
を発行できます sudo make install
これにより、 /lib/modules/$(uname -r)/extra/ に配置されます
または /lib/modules/$(uname -r)/misc/
depmod を適切に実行します
/lib/modules/uname -r
に your_module.ko のエントリがあるはずだと思います /modules.dep および /lib/modules/uname -r
内 「modprobe your_module」コマンドが機能するための /modules.dep.bin
insmod
を試す modprobe の代わりに。 Modprobe はモジュール ディレクトリ /lib/modules/uname -r
を検索します すべてのモジュールとその他のファイル
その理由は modprobe
/lib/modules/$(uname -r)
を調べる したがって、ローカル ファイル パスでは機能しません。これは modprobe
の違いの 1 つです。 と insmod
.