tech-toolchain archive

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

Re: config(5) break down



Eduardo Horvath <eeh%NetBSD.org@localhost> writes:

> 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.)

While here, can anyone enlighten us how one boots NetBSD so that it looks
for modules in non-default directory?

Use case: I test new kernel.

On FreeBSD I install it with all corresponding modules into another directory
and boot from there. It "just works." For NetBSD I need either monolithic kernel
or recovery plan. Given all this controversy around MONOLITHIC, I want to know
how modular kernel is supposed to be operated.


-- 
HE CE3OH...



Home | Main Index | Thread Index | Old Index