Linux内核配置

Posted hellokitty2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核配置相关的知识,希望对你有一定的参考价值。

1.autoconf.h文件

       老版本的Linux内核中,执行make menuconfig后,编译系统会把所有的配置信息保存到源码顶层目录下的.config文件中,
然后将.config中的内容转换为C语言能识别的宏定义更新到include/generated目录下的autoconf.h文件中。
       比如会将CONFIG_XXX =y的定义转换为#define CONFIG_XXX 1的模式写到autoconf.h文件当中。autoconf.h文件是被自动包含
不需要C代码文件中显式包含。在内核源码的根目录下的Makefile中实现了自动包含,顶层Makefile中相关的内容如下:

# Use LINUXINCLUDE when you must reference the include/ directory.
# Needed to be compatible with the O= option
LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include -Iarch/$(hdr-arch)/include/generated  -Iinclude $(if $(KBUILD_SRC), -I$(srctree)/include)  -include include/generated/autoconf.h
......
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS

在LINUXINCLUDE赋值的最后一行包含了autoconf.h文件,然后通过export导出给其它的Makefile文件使用。

新内核中(4.14)中$(Q)test -e include/generated/autoconf.h

 








以上是关于Linux内核配置的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核编译 Linux 内核 ④ ( 打开 Linux 内核编译 菜单配置 |菜单配置中的光标移动与选中状态 | 保存配置 | 配置项帮助文档 )

Linux内核配置编译以及模块开发

Linux内核配置编译以及模块开发

Linux 内核编译 Linux 内核 ③ ( 安装 ncurses | 安装 flex | 安装 bison | 打开 Linux 内核编译配置菜单 )

Linux内核编译与配置内核(x86)

Linux内核配置浅析