I have some doubts regarding kernel compilation. I read all the 10 posts for 'compiling kernel' search. None really helped in clearing this doubt.
As I understand,
a) bzImage is the output of 'make',
b) entries in /lib/modules are the output of 'make modules_install' and
c) vmlinuz, config and System.map are outputs of 'make install'.
I understand initrd.img and config. One is minimal set of drivers or such to boot system and then pass the control to actual kernel and the second is the configuration file for kernel compilation (Correct me if I'm wrong).
I however did not understand bzImage vs vmlinuz. Most distros use vmlinuz, but Gentoo is happy running from bzImage.
Is the difference between bzImage and vmlinuz, something like the difference between 'useradd' and 'adduser' where 'adduser' is essentially 'useradd' but does little more configuration like creating home directory and group by the same name, allocating default shell etc. :?
Also, I did not understand what exactly is System.map. Wikipedia and article by Peter at dirac.org says, its like symbol table for the kernel. I'm not clear about it.
Why does Slackware use System.map instead of initrd.img. Totally confused.
Can any of you explain it in more newbie-friendly way?