内核源码树的目录下都有Kconfig和Makefile这两个文件。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig都描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文件中。在内核编译时,主Makefile调用.config,就知道了用户的选择。因此,Kconfig就是对应着内核菜单,要想添加新的驱动到内核中去就要修改Kconfig,这样就可以选择驱动了,要想这个驱动被编译,就要修改Makefile。