Linux kernel 如何在树外内核模块中为makeheaders\u安装指定头文件?

Linux kernel 如何在树外内核模块中为makeheaders\u安装指定头文件?,linux-kernel,kernel-module,Linux Kernel,Kernel Module,我在kbuild文档中找不到任何与此相关的信息,文档中只有一个间接的引用(表明这是可能的) “make headers\u install”命令可以在 内核源代码(或使用标准的树外构建) 我有一个树外内核模块和一个相关的头文件(我有一个IOCTL的#defines),我想提供这个头文件作为模块安装的一部分。内核模块提供头文件(供用户空间使用)的树状方法似乎是将它们放在include/linux/中。我必须做些什么才能让它在树外工作?好的,这似乎是我没有阅读所有手册的另一种情况。。。需要的手册是k

我在kbuild文档中找不到任何与此相关的信息,文档中只有一个间接的引用(表明这是可能的)

“make headers\u install”命令可以在 内核源代码(或使用标准的树外构建)


我有一个树外内核模块和一个相关的头文件(我有一个IOCTL的#defines),我想提供这个头文件作为模块安装的一部分。内核模块提供头文件(供用户空间使用)的树状方法似乎是将它们放在include/linux/中。我必须做些什么才能让它在树外工作?

好的,这似乎是我没有阅读所有手册的另一种情况。。。需要的手册是kbuild的文档

内核包含一组导出到用户空间的头文件。 许多标头可以按原样导出,但其他标头需要 在为用户空间做好准备之前,进行最少的预处理。 预处理包括:

  • 删除特定于内核的注释
  • 删除compiler.h的include
  • 删除内核内部的所有部分(由ifdef内核保护)
每个相关目录都包含一个文件名“Kbuild”,用于指定 要导出的标题。 有关Kbuild文件的语法,请参见后续章节

---7.1收割台-y

header-y指定要导出的头文件

  Example:
        #include/linux/Kbuild
        header-y += usb/
        header-y += aio_abi.h

好的,这似乎是另一种情况,我没有阅读所有的手册。。。需要的手册是kbuild的文档

内核包含一组导出到用户空间的头文件。 许多标头可以按原样导出,但其他标头需要 在为用户空间做好准备之前,进行最少的预处理。 预处理包括:

  • 删除特定于内核的注释
  • 删除compiler.h的include
  • 删除内核内部的所有部分(由ifdef内核保护)
每个相关目录都包含一个文件名“Kbuild”,用于指定 要导出的标题。 有关Kbuild文件的语法,请参见后续章节

---7.1收割台-y

header-y指定要导出的头文件

  Example:
        #include/linux/Kbuild
        header-y += usb/
        header-y += aio_abi.h

当内核内部头被拆分为UAPI和内部使用时,它已经完成了。当内核内部头被拆分为UAPI和内部使用时,它已经完成了。