概述
三 18
挖掘简单现象背后的复杂本质。– Tony Bai^_^
上文讲到Linux Kernel的配置和编译十分简单,甚至简单到可以与一个用户层应用相媲美。这一切都是因为Linux Kernel实现了一套易于使用、变更和后期维护的配置和编译体系。要知道最新Linux Kernel版本的代码量可是千万级别的,并且模块众多,其背后的配置和编译体系一定不那么简单,这次我们就来尝试Hack一下这套体系。
作为操作系统内核级系统软件,Linux Kernel在设计配置和编译体系时至少应该有如下几点考虑:
* 满足配置和编译内核以及内核模块的所有需求
* 较高的运行效率
* 配置阶段和编译阶段平滑结合
* 对内核开发者来说,这套体系应该易用、易变、易维护
* 其设计本身应该做到层次清晰
从配置和编译Linux Kernel所使用的命令来看,Linux Kernel的配置和编译体系总体上还是基于GNU Make的,没有另外使用其他的编译工具(比如Scons、CMake等)。但Linux Kernel实现了Kconfig和Kbuild,用于辅助内核的配置和编译。
Kconfig,顾名思义,用于辅助2.6以后版本Linux内核的配置(Kernel config);Kbuild,也物如其名,用于辅助2.6以后版本Linux内核的编译(Kernel build)。这里索性将Kconfig和Kbuild称作辅助工具(不单纯叫脚本或配置文件),因为它们自身既有逻辑概念,又有物理存在。如果你曾在Linux Kernel的源码目录中徜徉过,你就会知道Kconfig文件散布在核心源码的各个角落;Kbuild文件还好,只在顶层目录、include目录下子目录、drivers下子
最后
以上就是负责乌龟为你收集整理的Linux内核的init的kconfig,也谈Linux Kernel Hacking – Kconfig与Kbuild | Tony Bai的全部内容,希望文章能够帮你解决Linux内核的init的kconfig,也谈Linux Kernel Hacking – Kconfig与Kbuild | Tony Bai所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复