Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The images produce during a Linux build vary by architecture and target. There are many intermediate build targets besides those two mentioned in the question. Most are uninteresting except possibly for academic purposes. Unfortunately, there is more than one target named vmlinux. vmlinux.o is not very interesting. At the top level Linux tree, you will find an ELF file called vmlinux. Executing</p> <pre><code>$ file vmlinux </code></pre> <p>should confirm that this is the ELF file. I don't know of any systems that boot this file directly. The only time this file is interesting is for debugging, because it contains debug symbols that a debugger can read. The actual boot target will be found in a subdirectory depending on architecture. For x86, (thought that's not my expertise) I think you'll find a target called bzImage. For ARM architectures, some systems boot zImage, others boot uImage (which is a Linux kernel image packaged in a header that the U-Boot bootloader recognizes. Even if you remove the U-Boot header, the image is a composite image. That is, it's not an ELF file, and it's not a pure .o, etc. It is a concatenation of several binary blobs, which can include kernel configuration information, the kernel itself, almost always compressed, and often a piece of runnable code (ie. not compressed) that I call a "bootstrap" loader, which often contains machine and board-specific initialization routines. I'm less familiar with x86, but even on that architecture, the kernel boot image (the one that you boot) is a composite image containing several components, ie. not a pure .o or ELF file.</p> <p>One good way to see what is happening is to compile your kernel with verbose mode, and then watch the final steps to see how the images are manipulated. Add V=1 to the 'make' command line to turn on verbose mode.</p> <p>Happy hacking!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload