Linux模块验证失败

时间:2014-12-07 21:43:28

标签: linux driver device

所以我收到这个错误:“模块验证失败:签名和/或必需的密钥丢失 - 污染内核”当我试图将我的简单设备驱动程序放到内核时。我尝试重新编译内核,更改我的makefile,但没有任何帮助。此时我的makefile:

obj-m := DeviceD.o

KERNEL_DIR = /usr/src/linux-headers-$(shell uname -r)

all:
    $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules

clean:
     rm -rf *.o *.ko *.mod.* *.symvers *.order *~

也试过这个makefile:

obj-m += DeviceD.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

1 个答案:

答案 0 :(得分:0)

这意味着您尚未在模块描述宏中使用 GPL 。这是一个警告,表明您正在使用一些非开放软件内核模块。

要停止获取该消息,您必须在驱动器代码中更改 MODULE_LICENSE()宏的参数以包含GPL字符串。