暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - Linux-3.19 API 头文件

原创 Lucifer三思而后行 2021-10-03
783

Linux API 头文件(在 linux-3.19.tar.xz 里)会将内核 API 导出给 Glibc 使用。

Linux API 头文件的安装

Linux 内核需要提供一个应用编程接口(API)供系统的 C 库(LFS 中的 Glibc)调用。这通过整理 Linux 内核源码包中的多个 C 头文件来完成。

首先进入到源码目录,解压软件包:

cd /sources
tar xf linux-3.19.tar.xz
cd linux-3.19

确保在之前的动作里没有留下旧文件和依赖关系:

make mrproper

现在要从源代码里解压出用户需要的内核头文件。因为解压过程会删除目标目录下所有文件,所以我们会先输出到一个本地中间目录后再拷贝到需要的地方。而且里面还有一些隐藏文件是给内核开发人员用的,而 LFS 不需要,所以会将它们从中间目录里删除。

make INSTALL_HDR_PATH=dest headers_install
find dest/include \( -name .install -o -name ..install.cmd \) -delete
cp -rv dest/include/* /usr/include

安装完成后清理工作:

cd ..
rm -rf linux-3.19

Linux API 头文件内容

安装的头文件:

/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

安装的目录:

/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三思而后行 ❤️

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论