Insmod不起作用

时间:2015-06-11 14:40:32

标签: linux-kernel linux-device-driver kernel-module

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>

1 个答案:

答案 0 :(得分:0)

您的源文件缺少模块许可证,当您尝试插入模块时,这会损害内核。在源代码中添加以下行以使其正常工作。

MODULE_LICENSE("GPL");