On Tue, 16 Mar 2010, Martin S. Weber wrote: > Well, if you tell them, run this script and reboot to configure your > system for your needs, then most users would sign that. And that's > all our (cross-)building is. Run a script. Now if the source is not > properly maintained because someone keeps yelling we need binary > kernel modules that don't install using said script... or build time > options turn over to bitrot because you could as well keep and load > all the relevant code... well, that's when NetBSD fails. but ...
I find that config and modules are at cross purposes. Config gives you the luxury of customizing the compilation process. Modules should allow you to replace indivcual binaries independent of the rest of the kernel. If I can't use a module someone else compiled without having to reconfigure and rebuild my kernel I fail to comprehend the purpose of having a modular kernel. If you want to reduce the kernel memory footprint, compile a custom kernel with only the code you want and you save yourself the overhead of the kernel linker and binary (in most cases ELF) headers and linkage goo. If you want to add functionality at runtime, we've had LKMs for a long time. With a modular kernel that uses config you not only need to build a custom kernel with information about what devices exist on the machine, but you also get the opportunity to lose the code at runtime. (Oops! I copied over a new kernel but forgot to copy over /modules!) Eduardo