vmlinux,vmlinuz,bzimage,zimage,initrd.img的区别与联系
1.vmlinux
vmlinux是未压缩的内核,vmlinux 是ELF文件,即编译出来的最原始的文件。用于kernel-debug,产生system.map符号表,不能用于直接加载,不可以作为启动内核。只是启动过程中的中间媒体。vmlinux.bin:The same as vmlinux, but in a binary file format.
2.vmlinuz
vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。但是,它已经丢失了调试信息等,不可用于调试,这就是为什么perf和systemtap等内核级别的调试软件安装的时候,需要重新编译内核的原因。同理,解压缩vmlinuz是不能得到Vmlinux的。相对于vmlinux,它增加了解压缩和boot的部分
3.zimage
zImage是vmlinuz经过gzip压缩后的文件,适用于小内核(512KB以内),加载到内存的开始640KB处。
4.bzimage(not bzizp but big)
bzImage是vmlinuz经过gzip压缩后的文件,适用于大内核。为什么会发明bzimage这种内核镜像呢?随着linux内核的成熟,linux内核大小逐渐增大,超过了一些体系结构的限制,导致存储压缩内核的空间受到限制。bzimage这种格式就是为了克服这种限制,它通过把kernel分解到不相邻的内存区域来达到这一个目的。
bzimage包含以下目标文件 bootsect.o + setup.o + misc.o + piggy.o.
bootsect:这个程序是linuxkernel的第一个程序,包括了linux自己的bootstrap程序,主要进行开机后加载真正内核镜像之前的各种准备工作.注意它是用来load bzimage,不是bzimage的一部分(这句话存在质疑)。
setup:进行实模式设置
misc:
piggy.o 包含被压缩的vmlinux
bzimage的解剖图:
vmlinux,vmlinuz,bzimage,zimage,initrd.img的区别与联系的更多相关文章
- zImage和uImage的区别
http://blog.csdn.net/maojudong/article/details/4178118 zImage和uImage的区别 一.vmlinuz vmlinuz是可引导的.压缩的内核 ...
- 解压vmlinuz和解压initrd(initramfs)
有时就算只得到一个Linux kernel的rpm包或者直接是编译后的vmlinuz和initrd的binary文件,也需要了解其中的一些细节,可能需要去查找这些binary有没有将我想要的patch ...
- vmlinux, Image ,zImage,uImage
kernel 源码编译生成 vmlinx,vmlinux 是 elf 文件,对 vmlinux 使用 objcopy 得到 Image,Image 是纯粹的二进制文件,vmlinux 只能在OS环境下 ...
- Linux内核剖析(五)Linux内核的构建过程
参考 一次实验引发的故事 – kernel build system探索—vmlinux是如何炼成的– kernel makefile 深度探索Linux操作系统:系统构建和原理解析.pdf 问题 在 ...
- vmlinux,zImage,bzImage,vmlinuz,uImage,关系
zImage和uImage的区别 一.vmlinuz vmlinuz是可引导的.压缩的内核.“vm”代表“Virtual Memory”.Linux 支持虚拟内存,不像老的操作系统比如DOS有640K ...
- uImage、zImage、bzImage、vlinzx区别
在网络中,不少服务器采用的是Linux系统.为了进一步提高服务器的性能,可能需要根 据特定的硬件及需求重新编译Linux内核.编译Linux 内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要 ...
- uImage和zImage的区别
1.各种文件的意义 vmlinux 编译出来的最原始的内核文件,未压缩. zImage 是vmlinux经过gzip压缩后的文件. bzImage bz表示“big zImage”,不是用bzi ...
- 编译kernel:make Image uImage与zImage的区别
make Image uImage与zImage的区别 http://blog.chinaunix.net/uid-25322094-id-3589796.html 内核编译(make)之后会生成两 ...
- 基于linux2.6.38.8内核zImage文件的自解压详解
转载:http://blog.csdn.net/wavemcu/article/details/7270439 ******************************************** ...
随机推荐
- Async 与 Await 关键字研究
1 Aynsc 和 Await 关键字的研究 在 .NET 4.0 以后,基于 Task 的异步编程模式大行其道,因其大大简化了异步编程所带来的大量代码工作而深受编程人员的欢迎,如果你曾 ...
- Delphi 常用API 函数(好多都没见过)
AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWindows 排列一个父窗口的最小 ...
- 函数模板的载体-HPP
在C++中,我们通常将声明放在.h头文件中,将具体的实现代码放在.cpp文件中.但是函数模板通常不这么做,函数模板是将其声明和实现都放在.hpp文件中.hpp是Header Plus Plus的缩写, ...
- hdu 1150 Machine Schedule hdu 1151 Air Raid 匈牙利模版
//两道大水……哦不 两道结论题 结论:二部图的最小覆盖数=二部图的最大匹配数 有向图的最小覆盖数=节点数-二部图的最大匹配数 //hdu 1150 #include<cstdio> #i ...
- Uber上海公司被司机打上门
“Uber上周的工资没有到账,司机们都急了.”9月13日,<IT时报>记者接到Uber司机爆料,称Uber(优步)拖欠工资,客服给的解释是银行系统对接问题,但多名司机赶往Uber上海公司咨 ...
- hdu 4686 Arc of Dream(矩阵快速幂乘法)
Problem Description An Arc of Dream is a curve defined by following function: where a0 = A0 ai = ai- ...
- SharePoint Search之(一):创建Search服务应用程序
计划写一个关于怎样使用SharePoint Search的系列,包括下面几个方面: (一)创建Search Service Application (二)持续爬网(continues crawl) ( ...
- hdu4135Co-prime 容斥原理水题
//问一个区间[a,b]与n互素的数的个数 //利用容斥原理可知 //在[a,b] 区间内对n的素数因子 //ans = 被一个数整除的数的个数 - 被两个数的最小公倍数整除的数的个数 + 被三个数的 ...
- JVM系列文章(三):Class文件内容解析
作为一个程序猿,只知道怎么用是远远不够的.起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP. ...
- Java反射及依赖注入简单模拟
一.编写Dao类 ? 1 2 3 4 5 6 7 8 9 10 11 package cn.com.songjy.annotation; import java.util.Date; publ ...