insmod時のInvalid module formatの理由

デバイスドライバの作成からロードまでを試しに、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 コメント