百科问答小站 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 kernel移植到新的平台,根据GPL协议,是否必须开放源代码呢? 
  写一个操作系统内核有多难?大概的内容、步骤是什么? 
  各个 Linux 发行版的风格和哲学分别是怎样的? 
  如何看待明尼苏达大学因插入实验性漏洞,被禁止贡献 Linux 内核代码? 
  为什么手机上wifi都用sdio接口,不用usb接口? 
  android主线程如何保证获取足够的时间片? 
  为什么同样是8G运行内存,Windows能同时开一大堆后台进程和前台应用,而Android不可以? 
  如何评价 6 月 2 日凌晨开源的 OpenHarmony 2.0 Canary? 
  各个 Linux 发行版的风格和哲学分别是怎样的? 
  熟悉 Ubuntu 的新手怎么玩转 Arch? 

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





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