Linux内核配置、编译与设备树编译全解析
1. 工具与内核结构认知
在Linux的世界里,有一个名为 tools 的地方,这里面包含了许多实用的工具,像Linux性能计数器工具 perf 就在其中。随着对Linux内核结构的深入了解,你会发现一些规律,比如当你要找特定片上系统(SoC)的串口代码时,应该去 drivers/tty/serial 目录,而不是 arch/$ARCH/mach - foo 目录,因为串口代码属于设备驱动,并非特定于CPU架构。
2. 理解内核配置 - Kconfig
Linux的一大优势在于其高度可配置性,能根据不同的工作需求进行定制,从智能恒温器这样的小型专用设备到复杂的手机设备都适用。当前版本中,内核有数千个配置选项。
配置机制名为Kconfig,与之集成的构建系统是Kbuild,相关文档在 Documentation/kbuild 中。Kconfig/Kbuild不仅用于内核,还在crosstool - NG、U - Boot、Barebox和BusyBox等项目中使用。
配置选项在一系列名为Kconfig的文件中声明,语法在 Documentation/kbuild/kconfig - language.rst 中有描述。例如,Linux中的顶级Kconfig文件如下:
mainmenu "Linux/$(ARCH) $(KERNELV
超级会员免费看
订阅专栏 解锁全文
9245

被折叠的 条评论
为什么被折叠?



