Свой модуль ядра: hello world
Минимальный модуль показывает цикл загрузки, выгрузки и вывода в журнал ядра.
Команды и конфиги
// hello.c
#include <linux/module.h>
#include <linux/init.h>
static int __init hello_init(void){ pr_info("hello\n"); return 0; }
static void __exit hello_exit(void){ pr_info("bye\n"); }
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
# Makefile
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
sudo insmod hello.ko && dmesg | tailНа что обратить внимание
Тестируйте модули в виртуальной машине, чтобы ошибка не уронила рабочую систему.