一、make menuconfig 相关文件
1 根目录下 script
2 各层目录下的 Kconfig文件
3 各层下的makefile 文件
4 根目录下的 .config 文件,arm/arch/下的 config文件
5 linux 根目录下的 include/generated/autoconf.h
二、各文件作用
1 script 下面是图形绘制相关脚本,无需关心
2 Kconfig, 配置界面选项。首先读取 arch/
ARCH/Kconfig文件,生成框架。
A
R
C
H
/
K
c
o
n
f
i
g
文
件
,
生
成
框
架
。
ARCH由根目录下Makefile文件得到。或者 make ARCH=arm menuconfig
3 arch/
ARCH/configs默认配置选项。选项很多,内核会最终选取.config文件作为默认选项。4.config 我们在make menuconfig时会把相应的选择保存在.config中,可以手动copy保存。5makefile,autoconf,当我们执行makemenuconfig 中的选项时,系统除了自动保存.config外,还会将选项已宏的形式保存在include/generated/autoconf.h中。内核中的代码会根据条件中的宏进行选择编译。在Makefile中,要自己手动添加这个模块,obj−
A
R
C
H
/
c
o
n
f
i
g
s
默
认
配
置
选
项
。
选
项
很
多
,
内
核
会
最
终
选
取
.
c
o
n
f
i
g
文
件
作
为
默
认
选
项
。
4
.
c
o
n
f
i
g
我
们
在
m
a
k
e
m
e
n
u
c
o
n
f
i
g
时
会
把
相
应
的
选
择
保
存
在
.
c
o
n
f
i
g
中
,
可
以
手
动
c
o
p
y
保
存
。
5
m
a
k
e
f
i
l
e
,
a
u
t
o
c
o
n
f
,
当
我
们
执
行
m
a
k
e
m
e
n
u
c
o
n
f
i
g
中
的
选
项
时
,
系
统
除
了
自
动
保
存
.
c
o
n
f
i
g
外
,
还
会
将
选
项
已
宏
的
形
式
保
存
在
i
n
c
l
u
d
e
/
g
e
n
e
r
a
t
e
d
/
a
u
t
o
c
o
n
f
.
h
中
。
内
核
中
的
代
码
会
根
据
条
件
中
的
宏
进
行
选
择
编
译
。
在
M
a
k
e
f
i
l
e
中
,
要
自
己
手
动
添
加
这
个
模
块
,
o
b
j
−
(CONFIG_MODULES)+= modules.o,其中 CONFIG_MODULES就是我们在Kconfig中添加的选项。
三、总结一下添加一个驱动模块的步骤
1 编写一个驱动.c文件 eg.c, 将 eg.c放到内核中的驱动中
2 按照Kconfig 规则,在这个模块中添加相应模块信息,环境变量。
3 执行make menuconfig 选中该选项
4 在Makefile 中添加这个编译模块,注意环境变量和Kconfig中一致,编译出的 .o文件和.c文件文件名一致。
以上
谢谢
linan101