June 2017
Intermediate to advanced
478 pages
13h 14m
English
A kernel build generates two files in the top level directory: vmlinux and System.map. The first, vmlinux, is the kernel as an ELF binary. If you have compiled your kernel with debug enabled (CONFIG_DEBUG_INFO=y), it will contain debug symbols which can be used with debuggers like kgdb. You can also use other ELF binary tools, such as size:
$ arm-cortex_a8-linux-gnueabihf-size vmlinux text data bss dec hex filename10605896 5291748 351864 16249508 f7f2a4 vmlinux
System.map contains the symbol table in a human readable form.
Most bootloaders cannot handle ELF code directly. There is a further stage of processing which takes vmlinux and places those binaries in arch/$ARCH/boot that are suitable for the various bootloaders: ...
Read now
Unlock full access