Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
19 years ago

vmlinux OR vmlinux

Hi hippo,

in ~/linux-2.6.x/ I find a 12.8 MB vmlinux file

in ~/linux-2.6.x/arch/nios2nommu/boot/cmpressed/ I find another vmlinux file with only 1 MB.

Could you please explain the difference between those two files ?

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    originally posted by mfm@May 12 2006, 09:26 AM

    hi hippo,

    in ~/linux-2.6.x/ i find a 12.8 mb vmlinux file

    in ~/linux-2.6.x/arch/nios2nommu/boot/cmpressed/ i find another vmlinux file with only 1 mb.

    could you please explain the difference between those two files ?

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=15304)

    --- quote end ---

    --- Quote End ---

    The zImage uncompress loader is actually a reduced linux to call kernel library.

    So it is small, only less thtan 10K bytes of binary.

    Don&#39;t be confused on the file size. The ELF is large becuase it can contain a lot of debug symbols. You can reduce the ELF size by remove all the debug symbols, with "nios2-linux-uclibc-strip" command.

    You should use binary to mkimge, not elf.

    But why don&#39;t you follow step6 to run zImage right after you built the kernel?

    It looked like you skipped the basic steps and got confused.

    You jumped start on u-boot too early.

    There are two elf after you make zImage,

    linux-2.6.x/vmlinux the orignal kernel elf, load adress = sdram start

    linux-2.6.x/arch/nios2nommu/boot/zImage the compressed kernel elf, load address = sdram start + boot link offset

    Look at kernel dir include/nios2_system.h to find out the address map.