所以,我试图安装一个 hello world 内核,展示了 Corbet, Jonathan 所著的“Linux Device Drivers”一书。
这是文件 hello.c 的代码
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void) {
printk(KERN_ALERT "Hello World!!\n");
return 0;
}
static void hello_exit(void) {
printk(KERN_ALERT "Good Bye Module!!\n");
}
module_init(hello_init);
module_exit(hello_exit);
为了构建它,我使用了这个 makefile:
obj-m += hello.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
运行后
make all
sudo insmod ./hello.ko
我有错误
ERROR: could not insert module Operation not permitted
以 root 权限安装内核空间模块。也试过
sudo su
sudo insmod ./hello.ko
也试过
sudo modprove -v hello.ko
有类似的错误。