百科问答小站 logo
百科问答小站 font logo



关于vmlinux,vmlinuz,bzImage,zImage的区别和联系? 第1页

  

user avatar   18173189507 网友的相关建议: 
      

1、vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

2、vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。

3、zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

vmlinux 是ELF文件,即编译出来的最原始的文件。

vmlinuz应该是由ELF文件vmlinux经过OBJCOPY后,并经过压缩后的文件

zImage是vmlinuz经过gzip压缩后的文件,适用于小内核

bzImage是vmlinuz经过gzip压缩后的文件,适用于大内核

通常情况下是不能用vmlinuz解压缩得到vmlinux的




  

相关话题

  嵌入式linux内核在内存中运行地址0x30008000到内存起始运行地址0x30000000中的(0x8000=32k)怎么回事? 
  shell程序中 2> /dev/null 代表什么意思? 
  如果在内核把特权级切换到用户态之前屏蔽 CPU 对软中断的响应,是不是就再也进不了内核态了? 
  现在笔记本不打大型游戏真的需要 16G 内存?8G 的内存会有哪些限制? 
  操作系统内核态和用户态切换落实到代码层面和运行层面的本质是什么? 
  虚拟地址、线性地址、物理地址之间是如何转换的? 
  Linux 为什么要对文件区分只读、只写、读写等多种打开方式,而不是直接提供读写? 
  Windows 内核和 Linux 内核谁更复杂? 
  Linux不同发行版之间可以互换吗? 
  shell程序中 2> /dev/null 代表什么意思? 

前一个讨论
如果未来发现宇宙从始至终只有一个粒子,且所有粒子都是它的不同时间态。会对人类看待宇宙产生怎样影响?
下一个讨论
去酒店开一两百块一天的房间,带几十台矿机进去挖矿,一天用他个三五百的电费,这样违法吗?





© 2024-09-20 - tinynew.org. All Rights Reserved.
© 2024-09-20 - tinynew.org. 保留所有权利