小编slu*_*ber的帖子

编译内核模块时出现未知类型名称"bool"

我想在beaglebone(ARM)上为3.8.13编译一个简单的"hello world"内核模块:

你好ç:

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

void init_module(void)
{
        printk(KERN_INFO "My Kernel Module is enabled.\n");
        return 0;
}

void cleanup_module(void)
{
        printk(KERN_INFO "My Kernel Module is disabled.\n");
}
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,我总能得到

In file included from /home/root/src/moduletest/hello.c:1:0:
./include/linux/init.h:159:1: error: unknown type name 'bool'
Run Code Online (Sandbox Code Playgroud)

我已经尝试重新安装kernel-dev,kernel-headers,"make headers_install",但没有运气,而且正在运行创意.

这是Makefile:

obj-m += hello.o
KDIR = /usr/src/kernel
PWD := $(shell pwd)

all:
        make -C $(KDIR) M=$(PWD) modules
clean:
        make -C $(KDIR) M=$(PWD) clean
Run Code Online (Sandbox Code Playgroud)

和make的完整输出:

root@beaglebone:~/src/moduletest# make
make -C /usr/src/kernel M=/home/root/src/moduletest modules
make[1]: Entering directory `/usr/src/kernel' …
Run Code Online (Sandbox Code Playgroud)

arm linux-device-driver linux-kernel beagleboneblack

2
推荐指数
1
解决办法
3035
查看次数