修改linux内核编译选项

make menuconfig时,程序会读取各个目录下的Config.in文件来生成内核配置对话框。

fs目录下的Config.in文件为例。

bool 'Quota support' CONFIG_QUOTA

bool 'POSIX Access Control List support' CONFIG_FS_POSIX_ACL

tristate 'Kernel automounter support' CONFIG_AUTOFS_FS

 

dep_tristate 'Reiserfs support' CONFIG_REISERFS_FS $CONFIG_EXPERIMENTAL

dep_mbool '  Have reiserfs do extra internal checking' CONFIG_REISERFS_CHECK $CONFIG_REISERFS_FS $CONFIG_EXPERIMENTAL

dep_mbool '  Stats in /proc/fs/reiserfs' CONFIG_REISERFS_PROC_INFO $CONFIG_REISERFS_FS $CONFIG_EXPERIMENTAL

 

bool表示定义一个选项,选定状态可以是选定/不选。

tristate表示定义一个选项,选定状态可以是选定/不选/模块。

dep_tristate表示要依赖某些选项去定义一个选项,也就是说依赖的选项定义了,才定义这个选项

dep_mbooldep_bool表示要依赖某些选项去定义一个选项,也就是说依赖的选项定义了,才定义这个选项。我还不知道他们到底有什么区别。

 

一般的默认选项都在arch/XXX/defconfig文件中,当你第一次执行make menuconfig时,就读取这里的配置来填充哪些选项被选定,如果你想把那些改成默认的就修改这个文件吧。

 

 

Logo

更多推荐