gpt4 book ai didi

linux - insmod 模块时模块验证失败

转载 作者:太空狗 更新时间:2023-10-29 12:31:43 25 4
gpt4 key购买 nike

在 Ubuntu 14.04、内核 3.13.0 上,当我在简单模块下方插入时,我从内核日志中收到错误消息:“模块验证失败:缺少签名和/或所需的 key - 污染内核”

我是否犯了任何错误或遗漏了什么?这是名为 ts2.c 的文件中的模块源代码。

#include <linux/module.h>   /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
#include <linux/init.h>


MODULE_LICENSE("GPL");
MODULE_ALIAS("hello2");

static int __init hello1_init(void)
{
printk(KERN_INFO "Hello world 2.\n");
return 0;
}

static void __exit hello1_exit(void)
{
printk(KERN_INFO "Goodbye world 2.\n");
}

module_init(hello1_init);
module_exit(hello1_exit);

这是生成文件:

ifeq ($(DEBUG),y)
DEBFLAGS = -O -g -DPCI_INFO_DEBUG # "-O" is needed to expand inlines
else
DEBFLAGS = -O2
endif

EXTRA_CFLAGS += $(DEBFLAGS) -I$(LDDINC)

ifneq ($(KERNELRELEASE),)
obj-m := ts2.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD) modules
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD) clean

endif

depend .depend dep:
$(CC) $(EXTRA_CFLAGS) -M *.c > .depend

ifeq (.depend,$(wildcard .depend))
include .depend
endif

最佳答案

你的make文件有问题...

ifeq ($(DEBUG),y)
DEBFLAGS = -O -g -DPCI_INFO_DEBUG # "-O" is needed to expand inlines
else
DEBFLAGS = -O2
endif

EXTRA_CFLAGS += $(DEBFLAGS) -I$(LDDINC)

ifneq ($(KERNELRELEASE),)
obj-m := ts2.o

应该是这样的:

ifeq ($(DEBUG),y)
DEBFLAGS = -O -g -DPCI_INFO_DEBUG # "-O" is needed to expand inlines
else
DEBFLAGS = -O2
endif

EXTRA_CFLAGS += $(DEBFLAGS) -I$(LDDINC)

ifneq ($(KERNELRELEASE),)
obj-m := hello1.o

现在你的问题应该已经解决了

关于linux - insmod 模块时模块验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com