vmlinux

✍ dations ◷ 2025-06-28 16:15:46 #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)

相关

  • 离子通道离子通道(英语:Ion channel)是一种膜蛋白,它通过允许某种特定类型的离子依靠电化学梯度穿过该通道,来帮助细胞建立和控制质膜间的微弱电压压差(见动作电位)。这些离子通道存在于所
  • 食欲食欲(Appetite)是指一个人对于食物进食的渴望,有时可能是因为饥饿所造成,不过具吸引力的食物可能会让人在不饥饿时仍然有食欲。食欲可以调节能量的摄取,以维持身体代谢所需的量,其
  • 保加利亚列弗保加利亚列弗(保加利亚语:лев)是保加利亚发行的货币。货币编号BGN。辅币斯托延基。1列弗=100斯托延基。在古保加利亚语中,“列弗”意为狮子。1999年7月5日,保加利亚列弗实施面
  • 有关乙酰苯胺乙酰苯胺,又名N- Phenylacetamide、Acetanilide,或商标名称Antifebrin,是一种白色有光泽片状结晶或叶片或鳞片状的固体化学品。乙酰苯胺可以透过醋酸酐和苯胺或苯基苯胺氯化物
  • 塞雷娜·威廉姆斯塞雷娜·贾梅卡·威廉斯(英语:Serena Jameka Williams,1981年9月26日-),生于美国密歇根州,美国女子网球运动员,为网球史上最伟大的女子选手之一,美国体育史上最佳女子网球选手(与克里
  • 舰队舰队可能是:
  • 堪萨斯领地堪萨斯领地(英语:Territory of Kansas)是美国历史上的一个合并建制领土,存在于1854年5月30日至1861年1月29日之间,之后升格为美国第34个州堪萨斯州。堪萨斯领地的范围包括了现在
  • 凤山县 (清治时期)凤山县(闽南语:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}Hōng-
  • 防卫战防卫战就军事而言,即指以防守武力阻挡抵抗他方入侵的战争,如:抗战。近现代军事防卫战的发起,并不一定是被动,除了防卫固守外,也包含吓阻用途的预防战争武力建置。防卫战有战略战术
  • 生生世世 (电视剧)《生生世世》(英语:),2020年台视自制八点档。由方文琳、林嘉俐、米可白、林雨宣、薛仕凌、曾子益、方大纬领衔主演,于2018年12月开拍,2019年1月10日开镜,8月23日全剧杀青,2020年5月1