加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

探索Linux内核:Kconfig/kbuild的秘密

发布时间:2019-08-16 07:53:27 所属栏目:Windows 来源:Cao Jin
导读:副标题#e# 深入理解 Linux 配置/构建系统是如何工作的。 自从 Linux 内核代码迁移到 Git 以来,Linux 内核配置/构建系统(也称为 Kconfig/kbuild)已存在很长时间了。然而,作为支持基础设施,它很少成为人们关注的焦点;甚至在日常工作中使用它的内核开发

递归 make 的配方recipe被扩展开是这样的:

  1. make -f scripts/Makefile.build obj=init need-builtin=1

这意味着 make 将进入 scripts/Makefile.build 以继续构建每个 built-in.a。在scripts/link-vmlinux.sh 的帮助下,vmlinux 文件最终位于源根目录下。

vmlinux 与 bzImage 对比

许多 Linux 内核开发人员可能不清楚 vmlinuxbzImage 之间的关系。例如,这是他们在 x86-64 中的关系:

探索Linux内核:Kconfig/kbuild的秘密

源代码根目录下的 vmlinux 被剥离、压缩后,放入 piggy.S,然后与其他对等对象链接到 arch/x86/boot/compressed/vmlinux。同时,在 arch/x86/boot 下生成一个名为 setup.bin 的文件。可能有一个可选的第三个文件,它带有重定位信息,具体取决于 CONFIG_X86_NEED_RELOCS 的配置。

由内核提供的称为 build 的宿主程序将这两个(或三个)部分构建到最终的 bzImage 文件中。

依赖跟踪

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读