insmod/rmmod不识别参数。即使没有任何参数的insmod也会被执行。看起来系统只识别命令。
通过insmod命令内核模块可以动态插入,但是当我执行insmod testStub.ko时,什么都不会发生。我既没有在lsmod结果中看到我的模块,也没有看到我在testStub.c中用dmesg编写的任何printk消息。
lsmod/modprobe -l也不显示任何输出。
lsmod命令应该显示所有正在运行的模块-- .in my -它没有提供输出。
我是testStub.c
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
int init_module(void)
{
printk(KERN_EMERG "Module Attached");
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Module Detached!\n");
}这是Makefile:
obj-m += testStub.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发布于 2015-06-22 07:05:27
您的源文件缺少模块许可证--当您试图插入该模块时,这会污染内核。将下面的行添加到源代码中,以使其工作。
MODULE_LICENSE("GPL");
https://stackoverflow.com/questions/30783974
复制相似问题