内核配置的结果(以DM9000为例说明)
1..config中将配置项CONFIG_DM9000配置为m,或者y,那么在头文件中include/linux/autoconf.h中就有#define CONFIG_DM9000 1,以供C语言源码使用,m与y的区别在C语言源码中没有体现
2.配置为模块还是编译进内核的区别(m/y)体现在子目录makefile中
obj-y+=XXX.o//XXX会被编译进内核
obj-m+=xxx.o//xxx会被编译成模块
obj-$(CONFIG_DM9000)+=dm9000.o//若dm9000被配置为y,则被编译进内核,配置为m则被编译成内核模块
3.include/config/auto.conf由.config文件生成,被顶层makefile包含。
4.执行make uImage时发生了:
a.由.config生成include/linux/autoconf.h(由C语言源码使用)以及include/config/auto.conf(子目录下makefile使用)
1..config中将配置项CONFIG_DM9000配置为m,或者y,那么在头文件中include/linux/autoconf.h中就有#define CONFIG_DM9000 1,以供C语言源码使用,m与y的区别在C语言源码中没有体现
2.配置为模块还是编译进内核的区别(m/y)体现在子目录makefile中
obj-y+=XXX.o//XXX会被编译进内核
obj-m+=xxx.o//xxx会被编译成模块
obj-$(CONFIG_DM9000)+=dm9000.o//若dm9000被配置为y,则被编译进内核,配置为m则被编译成内核模块
3.include/config/auto.conf由.config文件生成,被顶层makefile包含。
4.执行make uImage时发生了:
a.由.config生成include/linux/autoconf.h(由C语言源码使用)以及include/config/auto.conf(子目录下makefile使用)