我是靠谱客的博主 轻松鼠标,最近开发中收集的这篇文章主要介绍linux 2.6内核镜像,Linux2.6内核镜像的构建过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

make menuconfig:修改、添加内核配置选项,最后生成.config配置文件。

make all:首先编译.config得到没有压缩的内核核心vmlinux,然后将其压缩生成引导过程使用的内核镜像bzImage,最后编译内核选项中相关的module。        压缩过程:首先对vmlinux瘦身(即用objcopy命令删除注释得到vmlinux.bin)并压缩(即用gzip命令压缩vmlinux.bin得到vmlinux.bin.gz),再用ld连接器根据连接脚本arch/i386/boot/compressed/vmlinux.scr将vmlinux.bin.gz转换为piggy.o(该文件包含压缩的系统核心)。        接下来ld连接器会将piggy.o、head.o、misc.o链接生成新的文件vmlinux。(其中misc.o包含zlib算法的解压缩代码C语言的实现,head.o包含的汇编代码用于设置解压程序用到的参数及堆、栈)         然后再调用objcopy命令对vmliux瘦身得到vmlinux.bin(此处的vmlinux.bin是经过压缩的内核核心与前面的vmlinux不一样)。      最后利用内核镜像构建工具arch/i386/boot/tools/build 将bootsect、setup、vmlinux.bin三个文件依次存放到新建的bzImage文件中去。 然后就是编译一些相关的module。

make module_install:安装内核模块。

make install :安装内核     该命令调用了内核目录中的install.sh的shell脚本。该脚本首先将bzImage、System.map复制到/boot目录,并将这两个文件依次改名为vmlinuz-,System.map-。接着调用脚本/sbin/installkernel根据在内核配置、编译阶段生成的内核模块以及模块依赖关系/lib/modules//modules.dep生成引导过程使用的临时根文件系统initrd。最后修改/boot/grub/grub.conf文件、添加新的引导菜单。

最后

以上就是轻松鼠标为你收集整理的linux 2.6内核镜像,Linux2.6内核镜像的构建过程的全部内容,希望文章能够帮你解决linux 2.6内核镜像,Linux2.6内核镜像的构建过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部