Ori*_*rov 6 linux kernel-module
我目前正在尝试运行内核模块.这个模块似乎在各种Linux机器上运行良好,但是,当我尝试在特定的机器(即内核版本为2.6的CentOS)上运行它时,模块无法启动,声称我没有设置模块许可证,因此,不允许我使用各种必要的内核API.
我在主源文件(包含module_init和module_exit)的底部设置了MODULE_LICENSE("GPL"),就我能找到的所有例子而言,这就够了.我应该注意我的项目有多个文件.
我有点难过,所以任何帮助都会受到赞赏.
好吧,我已经知道我做错了什么了。我尝试为我的模块编译启用 -Werror 标志。为此,我将以下行添加到 makefile 中:
CFLAGS_MODULE=-错误
我认为这扰乱了内核模块许可的某些内容。删除这条线使模块再次工作。如果您遇到此类问题,请确保您没有弄乱 makefile 中的环境变量。