Linux API 头文件(在 linux-3.19.tar.xz 里)会将内核 API 导出给 Glibc 使用。
Linux API 头文件的安装
Linux 内核需要提供一个应用编程接口(API)供系统的 C 库(LFS 中的 Glibc)调用。这通过整理 Linux 内核源码包中的多个 C 头文件来完成。
首先进入到源码目录,解压软件包:
代码语言:javascript复制cd /sources
tar xf linux-3.19.tar.xz
cd linux-3.19
确保在之前的动作里没有留下旧文件和依赖关系:
代码语言:javascript复制make mrproper
现在要从源代码里解压出用户需要的内核头文件。因为解压过程会删除目标目录下所有文件,所以我们会先输出到一个本地中间目录后再拷贝到需要的地方。而且里面还有一些隐藏文件是给内核开发人员用的,而 LFS 不需要,所以会将它们从中间目录里删除。
代码语言:javascript复制make INSTALL_HDR_PATH=dest headers_install
find dest/include ( -name .install -o -name ..install.cmd ) -delete
cp -rv dest/include/* /usr/include
安装完成后清理工作:
代码语言:javascript复制cd ..
rm -rf linux-3.19
Linux API 头文件内容
安装的头文件:
代码语言:javascript复制/usr/include/asm/*.h, /usr/include/asm-generic/*.h, /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, /usr/include/sound/*.h, /usr/include/video/*.h, 和 /usr/include/xen/*.h
安装的目录:
代码语言:javascript复制/usr/include/asm, /usr/include/asm-generic, /usr/include/drm, /usr/include/linux, /usr/include/mtd, /usr/include/rdma, /usr/include/scsi, /usr/include/sound, /usr/include/video, 和 /usr/include/xen
简要介绍:
/usr/include/asm/*.h
:Linux API ASM 头文件/usr/include/asm-generic/*.h
:Linux API ASM 通用头文件/usr/include/drm/*.h
:Linux API DRM 头文件/usr/include/linux/*.h
:Linux API Linux 头文件/usr/include/mtd/*.h
:Linux API MTD 头文件/usr/include/rdma/*.h
:Linux API RDMA 头文件/usr/include/scsi/*.h
:Linux API SCSI 头文件/usr/include/sound/*.h
:Linux API 音频头文件/usr/include/video/*.h
:Linux API 视频头文件/usr/include/xen/*.h
:Linux API Xen 头文件
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️