Linux Kernel image in different forms
by Wenwei Weng
Linux kernel presents in different forms depending on the actual context.
vmlinux
vmlinux, the name comes from the fact that “linux” supports virtual memory. It is typically in ELF format, created by linker. This file is needed when debugging kernel. In order to boot linux kernel, vmlinux image has to be transformed into different from based on processor type.
vmlinux.bin
this is binary form of kernel image, which is created by using objdump from vmlinux image.
bzImage
This is bootable image for x86 processor. The following picture well describe the actaul content of bzImage.
It contains concatenated bootsect.o + setup.o + misc.o + piggy.o
uImage
This is bootable image for a processor, which uses u-boot as bootloader. THe processors are like ARM (32-bit), PowerPC, MIPS. There is a utility tool “mkimage” to transform vmlinux into uImage. The uImage has the following header in the beginning of image.
Image
This a relatively new format for ARMV8 64-bit processor. It can also created by using “mkimage” tool.
Subscribe via RSS