LKM kbuild和头文件问题

时间:2017-10-29 04:14:35

标签: c linux makefile compiler-errors kernel-module

我需要向Makefile或源文件添加哪些信息才能使当前符号不会导致编译问题。

PWD = / home / user / dev / kernel-sandbox ARCH = x86_64 GNU / Linux

make的输出:

#include <linux/init.h>
#include <linux/module.h>
#include <asm-generic/current.h>
MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
    printk(KERN_ALERT "Hello, world\n");

    printk(KERN_INFO "The process is \"%s\" (pid %i)\n",current->comm, current->pid);
    return 0;
}

static void hello_exit(void)
{
    printk(KERN_ALERT "Goodbye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

[/家庭/用户的/ dev /内核沙箱/ lkm.c]

obj-m += lkm.o
all:
    sudo make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
    sudo make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

[/家庭/用户的/ dev /内核沙箱/生成文件]

#include <asm-generic/current.h>

我还有另一个current.h头文件,我试图包含但不知道如何指定#include,因为我不确定kbuild究竟是如何寻找路径的。 /usr/src/linux-headers-4.10.0-35-generic/arch/ia64/include/asm/current.h

额外信息:如果我删除printk(KERN_INFO "The process is \"%s\" (pid %i)\n", current->comm, current->pid);和{{1}},则构建正常。

0 个答案:

没有答案