Linux内核驱动程序的配置
,在此过程中生成的 ext2.o 将被连接进 built-in.o 最终连接进内核。这里需要注意的一点是,该 kbuild Makefile 所在的目录中不能再包含和模块名相同的源文件和 ext2.c/ext2.s.或者写如 -objs 的形式:obj-$(CONFIG_ISDN) +=isdn.o isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o(3)目录层次的迭代示例:obj-$(CONFIG_EXT2_FS) += ext2/当 CONFIG_EXT2_FS 的值为 y 或 m时,kbuild 将会把 ext2 目录列入向下迭代的目标中,具体 ext2 目录下的文件是要作为模块编译还是链入内核由 ext2 目录下的 Makefile 文件的内容决定。 3. Kconfig(1)菜单入口大多数的内核配置选项都对应 Kconfig 中的一个菜单入口,如下所示:config MODVERSIONS bool Set version information on all module symbols depends on MODULES help Usually, modules have to be recompiled whenever you switch to a new kernel…… config 关键字定义新的配置选项,之后的几行定义了该配置选项的属性。配置选项的属性包括类型、数据范围、输入提示、依赖关系(及反向依赖关系)、帮助信息和默认值等。 每个配置选项都必须制定类型,类型包括bool、tristate、string、hex 和 int,其中 tristate 和string 是两种基本的类型,其他类型都基于这两种基本类型。类型定义后可以紧跟输入提示,下面的两段脚本是等价的。 脚本1: bool Networking support脚本2: bool prompt Networking support输入提示的一般格式的如下所示:prompt 默认值的格式如下所示: default 依赖关系的格式如下所示:depends on (或者 requires) 脚本1: bool foo if BAR default y if BAR脚本2: depends on BAR bool foo default y反向依赖关系的格式如下所示:select kbuild Makefile 中的 expr (表达式) 定义如下所示: 帮助信息的格式如下: help(或 ——help——) 开始…… 结束帮助信息完全靠文本缩进识别结束。——help—— 和 help 在作用上没有区别,设计——help—— 的初衷在于将文件中的配置逻辑与给开发人员的提示分开。 menuconfig 关键字的作用与 config 类似,但它在 config 的基础上要求所有的子选项作为独立的行显示。 (2)菜单结构菜单入口在菜单树结构中的位置可由两种方法决定。第一种方式如下所示:menu Networking device support depends on NET config NETDEVICES…… endmenu所有处于menu 和 endmenu 之间的菜单入口都会成为 Network device support 的子菜单。而且,所有子菜单选项都会继承父菜单的依赖关系,比如, Network device support 对 Net 的依赖被加到了配置选项 NETDEVICES 的依赖列表中。 另一种方式是通过分析依赖关系生成菜单结构。如果菜单选项在一定程度上依赖于前面的选项,它就恩能能成为该选项的子菜单。如果父选项为 N,则子选项不可见;如果父选项为 Y 或 M ,则子选项可见,例如:config MODULES bool Enable loadable module support
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)