From 955ac522cd32aae45c34bf1c02afa820082c02ae Mon Sep 17 00:00:00 2001 From: XiaLiang Date: Fri, 10 May 2024 15:22:55 +0800 Subject: [PATCH] Update headers_install.md --- sources/kernel/kbuild/headers_install.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sources/kernel/kbuild/headers_install.md b/sources/kernel/kbuild/headers_install.md index 6178aad..0e75985 100644 --- a/sources/kernel/kbuild/headers_install.md +++ b/sources/kernel/kbuild/headers_install.md @@ -12,23 +12,25 @@ link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Do # 导出内核头文件供用户空间使用 -"make headers_install" 命令以适合用户空间程序使用的形式导出内核的头文件。 +``make headers_install`` 命令以适合用户空间程序使用的形式导出内核的头文件。 -Linux 内核导出的头文件描述了用户空间程序尝试使用内核服务的 API。这些内核头文件被系统的 C 库(例如 glibc 和 uClibc)用于定义可用的系统调用,以及与这些系统调用一起使用的常量和结构。C 库的头文件包括来自 "linux" 子目录的内核头文件。系统的 libc 头文件通常被安装在默认位置 /usr/include,而内核头文件则在该位置的子目录下(尤其是 /usr/include/linux 和 /usr/include/asm)。 +Linux 内核导出的头文件描述了用户空间程序尝试使用内核服务的 API。这些内核头文件被系统的 C 库(例如 glibc 和 uClibc)用于定义可用的系统调用,以及与这些系统调用一起使用的常量和结构。C 库的头文件包括来自 ``linux`` 子目录的内核头文件。系统的 libc 头文件通常被安装在默认位置 /usr/include,而内核头文件则在该位置的子目录下(尤其是 /usr/include/linux 和 /usr/include/asm)。 内核头文件向后兼容,但不向前兼容。这意味着使用旧内核头文件和C库构建的程序可以在新内核上运行(尽管它可能无法访问新功能),但使用新内核头文件构建的程序可能无法在旧内核上运行。 -"make headers_install" 命令可以在内核源代码的顶层目录中运行(或使用标准的树外构建)。它接受两个可选参数: +``make headers_install`` 命令可以在内核源代码的顶层目录中运行(或使用标准的树外构建)。它接受两个可选参数: +``` + make headers_install ARCH=i386 INSTALL_HDR_PATH=/usr +``` - make headers_install ARCH=i386 INSTALL_HDR_PATH=/usr +ARCH 表明为其生成头文件的架构,默认为当前架构。导出内核头文件的 linux/asm 目录是基于特定平台的,要查看支持架构的完整列表,使用以下命令: +``` + ls -d include/asm-* | sed 's/.*-//' +``` -ARCH 指示为其生成头文件的架构,默认为当前架构。导出内核头文件的 linux/asm 目录是基于特定平台的,要查看支持架构的完整列表,使用以下命令: +INSTALL_HDR_PATH 表明要安装头文件的位置,默认为 ``./usr``。 - ls -d include/asm-* | sed 's/.*-//' - -INSTALL_HDR_PATH 指示要安装头文件的位置。默认为 "./usr"。 - -一个 'include' 目录会自动被创建在 INSTALL_HDR_PATH 中,头文件会被安装在 INSTALL_HDR_PATH/include 中。 +一个 ``include`` 目录会自动被创建在 INSTALL_HDR_PATH 中,头文件会被安装在 INSTALL_HDR_PATH/include 中。 内核头文件导出基础设施由 David Woodhouse <> 维护。