# 几种内核映像的区别

1、vmlinux编译出来的最原始的内核文件，未压缩。

2、zImage是vmlinux经过gzip压缩后的文件。

3、bzImagebz表示“bigzImage”，不是用bzip2压缩的。两者的不同之处在于，zImage解压缩内核到低端内存(第一个640K)，bzImage解压缩内核到高端内存(1M以上)。如果内核比较小，那么采用zImage或bzImage都行，如果比较大应该用bzImage。

4、uImage U-boot专用的映像文件，它是在zImage之前加上一个长度为0x40的tag。

5、vmlinuz是bzImage/zImage文件的拷贝或指向bzImage/zImage的链接。

6、initrd是“initialramdisk”的简写。一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态



**Image**: the generic Linux kernel binary image file.

**zImage**: a compressed version of the Linux kernel image that is self-extracting.

**uImage**: an image file that has a U-Boot wrapper (installed by the **mkimage** utility) that includes the OS type and loader information.\
A very common practice (e.g. the typical Linux kernel Makefile) is to use a zImage file. Since a zImage file is self-extracting (i.e. needs no external decompressors), the wrapper would indicate that this kernel is "not compressed" even though it actually is.\
