vmlinux

✍ dations ◷ 2025-02-23 02:06:04 #Linux内核

在linux系统中,vmlinux(vmlinuz)是一个包含linux kernel的静态链接的可执行文件,文件类型可能是linux接受的可执行文件格式之一(ELF、COFF或a.out),vmlinux若要用于调试时则必须要在引导前增加symbol table。

一般来说,核心的位置会在文件系统的 /boot 目录下,然而因为bootloader 必须使用 BIOS 的硬盘驱动程序,在一些i386的机器上必须要放在前 1024 个磁柱内。

为了克服这个限制,Linux 发行版鼓励用户创建一个扇区用来存放 bootloader 与核心相关的引导文件,例如 GRUB, LILO 与 SYSLINUX ... 。而这个扇区通常会挂载到系统的/boot 上,这是 FHS (Filesystem Hierarchy Standard) 标准内定义的。

一般来说,当创建一个可引导的核心时,此核心会先经过 zlib 算法压缩,而在核心内会包含一个相当小的解压缩程序 stub,当 stub 解压缩核心程序的时候会对 console 视窗印出"点"来表示解压缩进度。

解压缩所花费的时间在引导时间中所占程度来说其实是相当小的,而在早期的 bzImage 的发展中对于核心的大小会有所限制(特别是 i386 架构),在此情况下压缩则是必须的。

vmlinuz 是vmlinux 经过 gzip和objcopy 制作出来的压缩文件,当然不再是vmlinux的一个简单的压缩版,这么简单。vmlinuz是一种统称,有两种具体的表现形式zImage 和bzImage。bzimage和zImage的区别在于本身的大小,以及加载到内存时的地址不同,zImage在0~640KB,而bzImage则在1M以上的位置。

随着 linux Kernel 的成长,核心的内容日益增加超越了原本的限制大小。bzImage (big zImage) 格式则为了克服此缺点开始发展,利用将核心切割成不连续的存储器区块来克服大小限制。

bzImage 格式仍然是以 zlib 算法来做压缩,虽然有一些广泛的误解就是因为以 bz- 为开头,而让人误以为是使用 bzip2 压缩方式(bzip2 包所带的工具程序通常是以 bz- 为开头的,例如 bzless, bzcat ...)。

bzImage 文件是一个特殊的格式,包含了 bootsect.o + setup.o + misc.o + piggy.o 串接。piggy.o 包含了一个 gzip 格式的 vmlinux 文件(可以参看 arch/i386/boot/下的 compressed/Makefile piggy.o)

相关

  • 磺胺嘧啶银磺胺嘧啶银(INN:Silver sulfadiazine,或silvadene)是一种磺胺类/银盐抗细菌药,用于治疗烧伤的外用药膏,用于二度灼伤和三度灼伤以预防感染。磺胺嘧啶银通常被制成1%的药膏或水悬浮
  • 脸盲症脸盲症,即面部识别能力缺乏症。英文学名为prosopagnosia,亦可称为face blindness,该症状表现一般分为两种:患者看不清别人的脸;患者对别人的脸型失去辨认能力。Template:Lesions
  • NaOH氢氧化钠,又称烧碱和苛性钠(sodium hydroxide;lye and caustic soda),化学式为NaOH,是一种具有高腐蚀性的强碱,一般为白色片状或颗粒,能溶于水生成碱性溶液,另也能溶解于甲醇及乙醇。
  • 端脑端脑包括两侧大脑半球,是脑的最高级部位。在脊椎动物胚胎的神经发育过程中,脑部神经管分化为五部分:端脑、间脑、中脑、后脑、延髓。其中端脑与间脑合称前脑。人类端脑属于脑和
  • 风传媒风传媒(英语:Storm Media Group),是一家台湾中文网络媒体,成立于台北市。2013年7月成立“国风传媒有限公司”,2014年1月15日开站,除了自制新闻、与台湾多家媒体(Mainstream media)合
  • 易安信易安信公司(英语:EMC Corporation;NYSE:EMC)为美国一家跨国信息技术企业,主要提供数据存储、信息安全、虚拟化、云计算等用于存储、管理、保护和分析大量数据的产品和服务。EMC公
  • 关系 (数学)在数学上,关系是对如等于 或序等二元关系的广义化。参考一个如“认为喜欢”之类的关系,其实际情形如下: 上表的每一行都代表着一个事实,并给出“认为喜欢”此类形式的断言。例如
  • 二硫化三碳二硫化三碳是一种无机化合物,化学式为C3S2。它是一种红色液体,可溶于二硫化碳、苯等非极性溶剂。它可由锌还原二硫化碳制得:在真空中加热它分解为二硫化碳和碳。
  • 贝尔纳多·奥赛贝尔纳多·阿尔韦托·奥赛(Bernardo Alberto Houssay,1887年4月10日-1971年9月21日),阿根廷医生。他由于发现脑下垂体前叶激素在糖代谢中的部分作用而获得了1947年诺贝尔生理学或
  • 临界点 (热力学)在热力学中,临界点是可使一物质以液态存在的最高温度或以气态存在的最高压强,当物质的温度、压强超过此界线——即临界温度及临界压强——会相变成同时拥有液态及气态特征的流