デバイスドライバの作成からロードまでを試しに、ubnuntuで行っております。
hello.c
#include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "driver loaded\n"); printk(KERN_ALERT "Hello World\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "driver unloaded\n"); } module_init(hello_init); module_exit(hello_exit);
Makefile
obj-m := hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Make
↓
sudo insmod hello.ko
ここで、タイトルのエラーが発生します。
ただ、ホームディレクトリで作成からinsmodまで行った場合には正常にロードされます。
何か気持ちが悪いため、この理由が知りたいと思います。
・各ファイル、パーミッション/グループは同様の条件の元行っております。
何かヒントをいただけましたら助かります。
0 コメント