linux中的kconfig看不懂,谢谢呢

linux中的kconfig看不懂,谢谢呢,第1张

tristate 代表在内核中有三种状态,一种不选种,一种是*选种直接编译进内核,加载驱动到内核里,还有一种是M手动添加驱动,而 bool只有两种状态,即选中和不选中。"Mini2440 module sample"这个是在make menuconfig时刷出的提示字符。depends on MACH_MINI2440 这个配置选项出现在make menuconfig菜单栏下,在内核配置中必须选中MACH_MINI2440。default m if MACH_MINI2440 这个如果选种了MACH_MINI2440,默认是手动加载这个驱动。help以后的都是帮助信息了

Kconfig的作用就是为了让用户配置内核,在Kconfig中定义了一些变量,用户通过设置变量的值来选择如何个性化自己的系统内核。定义的变量将在每个菜单都有一个关键字标识,最常见的就是config。在内核编译中如何将各个目录树中的文件组织起来编译是一个很重要的问题,并且要根据用户配置来编译特有的内核。为了解决这个问题,内核使用两种文件,Makefie和Kconfig。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单,就是我们使用命令 make menuconfig(或者xconfig)后产生的配置菜单,此菜单包含多层,每个层次都是由各个目录中的Kconfig产生的。用户根据需求来选择如何编译内核,然后将配置结果保存到.config中,然后执行Makefile时就会根据.config的结果来实现内核的编译。 这个过程是由kbuild系统来完成的,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。内核编译系统或者说kbuild,是一种在编译内核时,可以对内核配置选项进行选择的机制。2.6内核树中已经更新了这种机制,新版本的kbuild 不仅高速而且备有更完善的文档。Kbuild机制完全依赖于源代码的层次结构。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7339851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存