You are not logged in.
downloaded the kernel source code arch package for 2.6.29.
zcat /proc/config > .config
then used the .config through "make oldmenuconfig" and set all new settings (about 15 of them) to either "n" or "m" (for module)
consequent to recompile I note that the kernel image (bzImage) is more than double the sizes (bytes) of the stock 2.6.29 kernel.
what is going on here? how is this so?
incidentally, my bechmarks suggest my compiled kernel is 15% slower than the default installation kernel.
cannot undertand this?
Offline
It's the modules. When you pull the modules out and make them modular rather than built in, it takes the kernel longer to find them and boot them.
There are a few micro kernel (all modular rather than compiled in) operating systems, like minix. The Linux kernel is meant to be a compiled in kernel, it runs faster that way. It's less stable though.
Edit: Not sure why it would be bigger though. It still may be because of the modular drivers.
Last edited by LeoSolaris (2009-05-09 00:17:50)
I keep getting distracted from my webserver project...
huh? oooh... shiny!
Offline
Its not the modules.
The stock kernel loads modules. I compiled the same kernel config. i.e. i did not modify the .config and used the same C##/make options. Yet the kernel is twice the size.
Offline
Hi there,
When configuring the kernel, in the General Setup menu, almost at the end, there's an option called Optimize for size, enable it. This should save you ~200KB.
There are lots of stuff that you can compile as modules, rather than including it. I'm talking about every driver (except disk/filesystem related, unless you have ramdisk support), and other sub-systems.
I'm also assuming that you are only supporting your current hardware, and nothing else you don't own.
Regards,
Quetzy
ZzZz...
Offline
ITT: I don't read the other posts.
Offline
Guys......... The .Config file IS THE SAME.
So the SAME options (including optimise for size) are set.
Offline