Results 1 to 7 of 7
Hi, 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 ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 06-11-2009 #1
[SOLVED] bzImage or vmlinuz? kernel compilation doubts
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.
Also, I did not understand what exactly is System.map. Peter at dirac.org (and wikipedia) says, its like symbol table for the kernel. I'm not clear about it. Why does Slackware, if I'm correct, use System.map instead of initrd.img. Totally confused.
Can any of you explain it in more newbie-friendly way?
Last edited by saivin; 06-11-2009 at 03:03 PM. Reason: typo
- 06-11-2009 #2
- Join Date
- Apr 2009
- I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
I'm not much up-to-speed on this, but I did notice in the notes for the 2.6.30 kernel (just being released this week) that bzImage support is being removed from the kernel, so my guess is that vmlinux is the (current) preferred technique for bootstrapping the kernel.Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!
- 06-12-2009 #3however did not understand bzImage vs vmlinuz. Most distros use vmlinuz, but Gentoo is happy running from bzImage.
directory like somepath/arch/i386/boot/bzImage moved to /boot and renamed as vmlinuz.
You can also the use bzImage instead of vmlinuz.
So both are same.
Also, I did not understand what exactly is System.map.
So during normal bootup it's won't be used.
- 06-12-2009 #4
Is it just like difference between useradd and adduser? (as I understand 'adduser' not very different from 'useradd'; it just does some extra tweaking like creating homedirectory, creating group by same name, assigning a default shell etc.)
- 06-13-2009 #5
- Join Date
- Apr 2009
when I build a new kernel I don't use make install
I use only make install_modules and I copy manually
System.map, .config, bzImage (located in arch/x86/boot/bzImage)
and I rename bzImage vmlinuz-$version
(where $version is the version of the kernel I just built) and
I make a symbolic link to it that I name vmlinuz
but it's just a convention
I could name it bzImage if I wanted to, provided that I also
use the same name in the boot loader (lilo or grub)
- 06-15-2009 #6But Slackware uses 'System.map' instead of 'initrd.img'?
config - Config file used for kernel compliation
system.map - Used by kernel ,if it needs to recover from fatal errors.
initrd - Used to mount real root file system
initrd.img is completely different from System.map.
While System.map is used for debugging.
initrd.img stands for initial ram disk,provides initial temporary file system which
allows kernel to mount the real root file system,while booting.
If you have real file system (ext3) build inside your kernel ,rather than using it as an
loadable module,you won't need initrd.
- 06-15-2009 #7
Thanks guys, things are getting little clearer now. Ofcourse, I got to do lot of reading. But I'm feeling better now.