Subject: Re: dynamic configuration (was Re: PR#4094)
To: Michael Richardson <mcr@sandelman.ottawa.on.ca>
From: Matthew Orgass <darkstar@pgh.net>
List: tech-kern
Date: 10/19/2000 18:03:33
On Sun, 8 Oct 2000, Michael Richardson wrote:

>   My desire is to be able to build *static* kernels from CD. While being able 
> to load modules for devices is nice during testing, the infrastructure for
> adding things to autoconf is not that at present. I'd dearly like to add it,
> but I think this will be a tempest in a teacup...

  Usually once you pay the price of being able to dynamically load
something, there is little if any gain in separating the static part. 
Whether the kernel is static or dynamic should just affect when the
modules are linked, not what acutally happens.  Unless there is a
significant performance difference, it isn't worth being able do to things
both ways.

>     Matthew>   Major numbers are evil and should die.  Even if devfs must
> 
>   Fine. Who is getting rid of them?
>   I'm agree that the best solution is good, but I'd like some solution soon.

  Your solution does look like about the only thing that could be done for
1.5.  

>     >> But, I'd rather have all of this explicit in a config file
> 
>     Matthew>   If you use init sections properly, you don't need config files at all.
> 
>   I *LIKE* the config files. They are very useful. It needs to be easier to,
> e.g. remove all PCMCIA devices for a machine that doesn't have that bus, but 
> that is still nice.

  The nice thing is you don't *need* config files.  You could just link in
a module and have it work.  However, on further thought init sections are
not the right solution since you still want to be able to do static
checking with useful error messages at config/link time, which means you
need the info available in a separate format anyway :(. 

  I think one requirement in any serious move towards dynamic
configuration should be the ability to create a statically linked kernel
with only object files and a linker.  As long as things like DEBUG and
DIAGNOSTIC are defined at compile time, it should not be that difficult to
do (though it would still involve a fair number of changes).  Config info
could be written with linker scripts.

Matthew Orgass
darkstar@pgh.net