所以我收到这个错误:“模块验证失败:签名和/或必需的密钥丢失 - 污染内核”当我试图将我的简单设备驱动程序放到内核时。我尝试重新编译内核,更改我的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
答案 0 :(得分:0)
这意味着您尚未在模块描述宏中使用 GPL 。这是一个警告,表明您正在使用一些非开放软件内核模块。
要停止获取该消息,您必须在驱动器代码中更改 MODULE_LICENSE()宏的参数以包含GPL字符串。