我学嵌入式linux系统,需要在pc的linux下编译嵌入式linux系统内核。
根据教程。我做了如下编译过程:
$ config_mini2440_t35 .config 让厂家提供的产品配置文件取代默认配置文件
$ make menuconfig 会出现一个内核配置裁剪的界面
$ make zImage 编译得到linux内核。
请问,
make只需要makefile。这个config文件是做什么用的?
两个make 为什么能得到不同的结果?第一个make在编译完还能运行一个软件。第二个编译了不同的源程序。
问一个初学问题:怎么理解linux下的软件编译
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 17
- 注册时间: 2008-09-10 19:16
- allarem
- 帖子: 1025
- 注册时间: 2008-05-31 17:27
- 来自: SUES
- 联系:
Re: 问一个初学问题:怎么理解linux下的软件编译
我的理解是:
一般config负责环境处理和编译器的选择等复杂的配置问题
而make只是一些命令的集合体
我是搞MCS51的……
一般config负责环境处理和编译器的选择等复杂的配置问题
而make只是一些命令的集合体
我是搞MCS51的……
-
- 帖子: 323
- 注册时间: 2007-02-05 18:09
Re: 问一个初学问题:怎么理解linux下的软件编译
建议搜索内核编译常识,以及make命令简介。
当你运行make something的时候,make程序在当前目录下搜索名为Makefile的文件,在文件中搜索something区块,执行里面的所有命令
对于内核附带的Makefile来说,menuconfig区块指定操作是编译并运行配置程序,并载入.config文件到配置程序
zImage就是读取.config并按里面的配置编译内核
所以两个命令完成不同的任务,一切取决于Makefile是怎么写的。
至于.config,那是个配置文件,可以被menuconfig配置程序修改,它告诉内核要有哪些功能,不要哪些功能。默认功能很多,你公司嵌入式的配置文件里面的功能肯定很少,仅此而已。
当你运行make something的时候,make程序在当前目录下搜索名为Makefile的文件,在文件中搜索something区块,执行里面的所有命令
对于内核附带的Makefile来说,menuconfig区块指定操作是编译并运行配置程序,并载入.config文件到配置程序
zImage就是读取.config并按里面的配置编译内核
所以两个命令完成不同的任务,一切取决于Makefile是怎么写的。
至于.config,那是个配置文件,可以被menuconfig配置程序修改,它告诉内核要有哪些功能,不要哪些功能。默认功能很多,你公司嵌入式的配置文件里面的功能肯定很少,仅此而已。
-
- 帖子: 660
- 注册时间: 2008-10-08 22:01
Re: 问一个初学问题:怎么理解linux下的软件编译
makefile里面就是一些
gcc xx
的命令
gcc xx
的命令
代码: 全选
其实我是个Debian GNU/Linux用户
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969