一.vmlinux是什么
vmlinux 是 Linux 操作系统的内核映像文件,它包含了 Linux 内核的所有功能代码和必要的数据结构。这个文件通常是没有经过压缩和符号表去除的原始可执行文件。
具体来说,vmlinux 文件是编译后的 Linux 内核的最终产物,通常是 ELF(可执行和可链接格式)格式的文件,包含了内核的机器码、符号信息、调试信息等,主要用于调试和开发阶段。最终在启动时,这个内核映像文件会被压缩成 vmlinuz(即 "v" 表示压缩)文件,后者是 Linux 系统启动时加载的实际文件。
vmlinux、zImage、zbImage、image、uImag内核映像差异:
zImage:
zImage 是指一种独特的压缩内核映像文件格式。zImage是vmlinux经过gzip压缩后的文件。它解决了无法处理大型压缩内核映像的旧引导加载程序的限制。
bzImage:
bzImage 是指 Linux 引导加载程序用于在系统引导过程中加载和初始化内核的压缩内核映像文件。引导加载程序从引导设备读取 bzImage 文件并将其解压缩到内存中。然后,它将控制权转移到解压缩的内核映像,该映像继续引导过程。
bzImage 文件是编译 Linux 内核源代码的副产品,其中包括内核的核心功能、设备驱动程序和其他重要元素