私はカーネルプログラミングに非常に慣れていないので、次のような小さなカーネルモジュールを作成しました。
mod.c
#include<linux/kernel.h>
#include<linux/module.h>
#include<sys/sysinfo.h>
int init_module(void)
{
int k;
struct sysinfo info;
printk(KERN_INFO "hello\n");
k = sysinfo(&info);
printk(KERN_EMERG "procs = %d\n", info.procs)
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye\n");
}
Makefile は次のようになります。
obj-m +=mod.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 を発行すると、
致命的なエラーが発生します: sys/sysinfo.h: No such file or directory
ここで何が問題なのか教えていただけますか?