tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: config(5) break down

On Sun, 14 Mar 2010, Wojciech A. Koszek wrote:

> I was wondering how does Linux/Solaris kernel build system work in terms of
> opt_*.h files?  Do they have some alternative solutions for #ifdef's based on
> what has been included into the kernel at configuration time?

It's been a while since I poked around with Linux, but I think they have a 
single file that contains all that info.

Solaris has no config.  Period.

You don't have any opt_*.h files.  And you don't really need them.  It's a 
fully dynamic kernel so the only things you can set are things like DEBUG 
and LOCKDEBUG.  You don't worry about including specific modules, because 
they are all compiled separately and loaded on demand.  Loading of modules 
is driven by config files in /etc that define what module is responsible 
for a specific device type (e.g. a specific PCI vendor and device ID 
combination.)  Of course, if those config files get corrupted then the 
machine is unbootable.  To recover you must boot from install media and 
likely reinstall the OS.

And since everything is compiled separately you can often just replace one 
module with another one that is compiled with DEBUG turned on.  
Without rebooting the machine.  (Certain inter-module interfaces are 
affected by DEBUG while others are not.  YMMV.)


Home | Main Index | Thread Index | Old Index