insmod
/ rmmod
无法识别这些论点。即使没有任何参数的insmod
也会被执行。看起来系统只识别命令。
通过insmod
命令可以动态插入内核模块,但是当我执行insmod testStub.ko
时,没有任何事情发生。我也没有在lsmod
结果中看到我的模块,也没有在printk
testStub.c
中的dmesg
中写过任何lsmod
条消息。
modprobe -l
/ lsmod
也不会显示任何输出。
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");
}
:
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
这是Makefile:
<ul>
<li>
<label for="test_0" class="testClass">
<input id="test_0" name="offering_cycle" type="checkbox" value="1"> Fall
</label>
</li>
<li>
<label for="test_1" class="testClass">
<input id="test_1" name="offering_cycle" type="checkbox" value="2"> Spring
</label>
</li>
<li>
<label for="test_2" class="testClass">
<input id="test_2" name="offering_cycle" type="checkbox" value="3"> Summer
</label>
</li>
<li>
<label for="test_3" class="testClass">
<input id="test_3" name="offering_cycle" type="checkbox" value="4"> Other
</label>
</li>
</ul>
答案 0 :(得分:0)
您的源文件缺少模块许可证,当您尝试插入模块时,这会损害内核。在源代码中添加以下行以使其正常工作。
MODULE_LICENSE("GPL");