Linux内核之vmlinux与vmlinuz
2023-09-27 14:27:23 时间
因为是初次系统的学习Linux内核,过程中遇到了一些常常出现的名词。似曾相识,但对他们的含义又不是非常清楚。因此,将搜索到的内容进行一下汇总。
1.vmlinux
vmlinux是一个包括linux kernel的静态链接的可运行文件。文件类型是linux接受的可运行文件格式之中的一个(ELF、COFF或a.out)。
2.vmlinuz
vmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。
vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,并且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。
vmlinuz是一个统称。有两种详细的表现形式:zImage和bzImage(big zImage)。
zImage和bzImage的差别在于本身的大小和载入到内存的地址不同。zImage是0~640KB,bzImage是1M以上。假设内核比較小。那么能够採用zImage 或bzImage之中的一个,两种方式引导的系统运行时是同样的。大的内核採用bzImage。不能採用zImage。
3. 综述
总结起来就是例如以下的几句话:
vmlinux 是ELF文件。即编译出来的最原始的文件。
vmlinuz应该是由ELF文件vmlinux经过OBJCOPY后。并经过压缩后的文件
zImage是vmlinuz经过gzip压缩后的文件,适用于小内核
bzImage是vmlinuz经过gzip压缩后的文件,适用于大内核
*objcopy:将一种目标文件的内容拷贝到还有一种目标文件里。
相关文章
- linux socket高性能服务器处理框架
- linux内核——进程管理
- 这10 件事,可以在 Linux 上做,但不能在 Windows 上做
- STM32MP157 Linux系统移植开发篇8:Linux内核配置方法及编译
- 如何更新 Linux 内核来提升系统性能
- linux常用命令(一)
- linux内核中的__cpu_suspend是在哪里实现的呀?
- linux下如何查看当前内核的配置?
- 配置linux内核输出所有的log信息
- linux的tar命令
- linux ls 命令超级详解
- Linux查看内核信息或系统信息
- 《嵌入式Linux基础教程(第2版)》——2.2 剖析嵌入式系统
- 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一2.6 位运算实战演练2
- 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一导读
- Linux内核的目录结构
- Linux 内核USB 驱动
- linux内核指针和错误值
- linux 后备缓存
- linux 内核定时器的实现
- S5pv210下 HDMI 接口在 Linux 3.0.8 内核下的驱动解析
- linux下C++修改文件内容
- Linux开关命令(shutdown,reboot,halt,init)
- 讲解Linux用户态和内核态通信比较好的博客
- Linux中/etc/rc开头文件详细解释
- 每天一个linux命令(47):traceroute命令
- Windows10下配置Linux下C语言开发环境
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---11