Я пытаюсь научиться Linux и разработке ядра.
Я могу собрать модуль, но не могу его загрузить.
HelloWorld.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");
}
А вот мой файл make:
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.