だから manjaro で簡単なカーネルモジュールを作ってみようと思います。以下はコードです
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
static int __init helloWorldInit(void)
{
pr_info("Hello World!\n");
return 0;
}
static void __exit helloWorldExit(void)
{
pr_info("Removed kernel module successfully");
}
module_init(helloWorldInit);
module_exit(helloWorldExit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("author");
MODULE_DESCRIPTION("Test kernel module");
MODULE_VERSION("2:1.0");
これがメイクファイルです
obj-m += helloWorld.o
KDIR = /lib/modules/$(shell uname -r)/build
all:
make -C $(KDIR) M=$(shell pwd) modules
clean:
make -C $(KDIR) M=$(shell pwd) clean
問題は、Linuxヘッダーパッケージ(linux515-headers)をインストールしましたが、ヘッダーファイルにinit.hがないことです。どうすればいいですか?