linux - insmod:错误:无法插入模块 HelloWorld.ko:不允许操作
问题描述
我正在尝试学习 linux 和内核开发。
我能够构建模块但无法加载它。
你好世界.c
/*
* hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");
/*
* A non 0 return means init_module failed; module can't be loaded.
*/
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}
这是我的制作文件:
KERNEL_SOURCE := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
obj-m += HelloWorld.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
在执行 insmod 加载模块权限时被拒绝。我什至尝试使用 root 和 modprobe 进行此操作,但没有用。
我也试过Link,但问题还是一样。
希望我能得到一些帮助。我正在使用 ubuntu 18.04LTS。