How vmlinux is recognized?

Vikram Narayanan vikram186 at gmail.com
Thu May 12 20:19:12 EDT 2011


On Thu, May 12, 2011 at 1:47 PM, Mulyadi Santosa
<mulyadi.santosa at gmail.com> wrote:
> Hi...
>
> On Thu, May 12, 2011 at 10:32, Vikram Narayanan <vikram186 at gmail.com> wrote:
>> I think you got it wrong. I will try to put my question more elaborately.
>> 1) The system is on and BIOS code runs. It gives the control to the
>> boot loader, say GRUB.
>> 2) Grub picks up the kernel from the specific partition. (i.e a
>> vmlinuz image), which denotes that it is compressed.
>> 3) There are uncompression routines in the kernel itself, If I am not
>> wrong. So the kernel uncompresses itself.
>> 4) Now the uncompressed thing is the vmlinux image, right?
>
> nope... it's a binary....but not ELF...and that's not even named
> vmlinux or similar to vmlinux...
>
>> 5) The vmlinux is in ELF format. Correct?
> yes.... but see above...
>
Thanks for all your explanations. So the uncompressed one is _NOT_ an
ELF file, but a raw binary. So it doesn't need any interpretation.
Hope this is right.

So when compiling the kernel, what is the purpose of the other
files(mentioned below)
linux-2.6/vmlinux - ELF executable, not stripped
linux-2.6/arch/x86/boot/vmlinux.bin - Raw binary (Guess this is the
one which is inside the bzImage)
linux-2.6/arch/x86/boot/compressed/vmlinux.bin - ELF executable, stripped
linux-2.6/arch/x86/boot/compressed/vmlinux - ELF executable, not stripped

Thanks,
Vikram



More information about the Kernelnewbies mailing list