主题 : 请教修改内核.config配置问题 复制链接 | 浏览器收藏 | 打印
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
楼主  发表于: 2011-02-11 16:48

 请教修改内核.config配置问题

我的最终目标是要在.config里加一行
CONFIG_MINI6410_LED11=y
然后编译出新的内核。

以下是我的做法,但他们都是不成功的。
做法1,我在config_mini6410_n43加上CONFIG_MINI6410_LED11=y。然后输入命令cp config_mini6410_n43 .config,最后make zImage。
做法2,vi .config,加上CONFIG_MINI6410_LED11=y保存退出。最后make zImage。
================================
出现的问题:在make zImage命令后,有如下编译语句
scripts/kconfig/conf --silentoldconfig arch/arm/Kconfig
#
# configuration written to .config
#
这之后,.config就变了,我加的东西就没了,变得和默认的config_mini6410_n43一模一样啦!

scripts/kconfig/conf --silentoldconfig arch/arm/Kconfig这句我大概已找到,在\scripts\kconfig\Makefile文件里有
$(obj)/conf --silentoldconfig $(Kconfig);
但是怎么用的这理不清。
configuration written to .config 这保有从哪来的一直是个谜!

希望大侠指点一下:什么时候.config被改回去的?怎样才可成功修改.config?不胜感激!
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
1楼  发表于: 2011-02-14 17:11
友善技术支持的邮件回复是:.config文件是自动生成的,你不能手工修改。请参考用户手册中的led例子。
我继续思考:
1,不要cp config_mini6410_n43 .config这句,直接make zImage,出错
*** You have not yet configured your kernel!
*** (missing kernel config file ".config")
2,不要cp config_mini6410_n43 .config这句,直接make menuconfig,成功,但是出现的配置和有cp config_mini6410_n43 .config后出现的不同。而且如果继续make zImage,则编译文件出错。
由上可得,cp config_mini6410_n43 .config此句是必需的。

另外我修改Kconfig,此方法成功达到修改配置的效果。

但是有无cp config_mini6410_n43 .config这句,make menuconfig效果不同,这是怎么回事呢?
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
2楼  发表于: 2011-02-14 17:22
1) cp config_mini6410_n43 .config, 表示使用FriendlyARM提供的配置。
2)  这时再输入 make menuconfig,则是在FriendlyARM提供的配置的基础上进行定制,你的任何改动最终将保存到 .config中。


正确的方法是先 cp config_mini6410_n43 .config,再make menuconfig定制。
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
3楼  发表于: 2011-02-15 09:41
大概步骤如下:
1) 假设你的驱动是在drivers/char目录下,你需要修改这个目录下的Kconfig和Makefile,你仔细看一下这两个文件,应该很快就能知道如何新增一项了;
2) cp config_mini6410_n43 .config,再make menuconfig,选中你新增加的配置
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
4楼  发表于: 2011-02-15 15:51
嗯,谢谢楼上两位的回复意见,我现在明白啦!