我只是偶然发现这一页,这表明 bzImage 和 vmlinuz 是相同的。
然后使用 cp(即复制)命令将 bzImage 复制到 /boot 目录,同时使用以下命令重命名 vmlinuz
cp /usr/src/linux/arch/i386/linux/boot/bzImage /boot/vmlinuz
这让我很担心,到目前为止我的理解如下:
vmlinux
:纯 Linux ELF 文件就像链接器创建的那样,包括符号和所有内容。vmlinuz
:gzip 压缩vmlinux
文件,其中所有符号均被删除zImage
: bootsect.o + setup.o + Misc.o + piggy.o (piggy.o 包含piggy-backedvmlinuz
)。zImage
是可引导的,因为它可以解压缩并运行它包含的内核。bzImage
:与zImage
其他相同,只是其构建方式略有不同,这使其能够承载更大的内核。
你能告诉我谁是正确的吗?
我知道这个堆栈交换答案,但它没有明确回答我的问题。然而,我隐隐地觉得它支持了我的理解。
奖金问题
上面的哪个文件包含uImage
?
答案1
“vmlinuz”作为格式这个名字的意思是“gzipped vmlinux 文件,它被剥夺了所有的符号”。然而,作为一个文件name,vmlinuz
通常用于任何采用引导加载程序支持的压缩格式的内核映像,例如 zimage 格式或 bzimage 格式。vmlinuz
无论文件的实际格式如何(通常是 bzimage),该名称在 x86 发行版中很流行。nameuImage
通常表示另一种格式,由U盘启动嵌入式系统中流行的引导加载程序; AuImage
文件包含一个特定于 U-Boot 的标头,后跟一个可以采用多种格式的内核映像(请参阅锯末在 Stack Overflow 上的回答了解更多信息)。