读书频道 > 系统 > linux > 深度探索Linux操作系统系统构建和原理解析
3.2.2 构建过程概述
2013-09-28 15:57:11     我来说两句 
收藏    我要投稿   
全书一共8章:第1章介绍了如何准备工作环境。在第2章中构建了编译工具链,这是后面构建操作系统各个组件的基础。在这一章中,不仅详细讲解了工具链的构建过程,而且还通过对编译链接过程的探讨,深入讨论了工具链  立即去当当网订购

在编译内核时,通常我们只需要执行“make bzImage”,或者make后面不接任何目标。在没有接目标时,构建的内核映像也是bzImage。读者自然会问:我们并没有指定构建vmlinux、vmlinux.bin和setup.bin,最后的bzImage是怎么来的呢?

虽然我们没有显示指定这几部分的构建,但是读者想必已经猜出来了,这是Makefile的依赖的魔法。下面是构建bzImage的规则,我们暂且不讨论它的由来,先把焦点放在bzImage的依赖关系上:
linux-3.7.4/arch/x86/boot/Makefile:
$(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin \
    $(obj)/tools/build FORCE

根据构建规则可见,bzImage依赖于setup.bin和vmlinux.bin,所以在构建bzImage前,make将自动先去构建它们,以此类推,vmlinux的构建也是同样的道理。因此,组成内核映像的各个部分的构建顺序如下:

1)构建有效载荷vmlinux,并将其压缩为vmlinux.bin.gz;

2)构建二级推进系统,并将二级推进系统装配到有效载荷上,组成vmlinux.bin;

3)构建一级推进系统,即构建setup.bin;

4)将setup.bin和vmlinux.bin组合为bzImage。

接下来我们就依次讨论各个部分的构建过程。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2. 使用指定Makefile的方式进行递归
下一篇:3.2.3 vmlinux的构建过程
相关文章
图文推荐
3.3.6 GNOME的软件管
3.3.5 GNOME的文件管
3.3.4 GNOME的窗口管
3.3.3 收藏夹和快捷
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站