Current-Users archive

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

Re: GENERIC kernel "modules" implementation info?



On Mon, 21 Dec 2009 12:26:41 -0600
Eric Haszlakiewicz <erh%nimenees.com@localhost> wrote:

> On Mon, Dec 21, 2009 at 06:33:30PM +0100, Hubert Feyrer wrote:
> > On Mon, 21 Dec 2009, yancm%sdf.lonestar.org@localhost wrote:
> > >Can someone please point me to the documentation or just explain how
> > >GENERIC should work for modular support of FFS? (and maybe a description
> > >of what is meant / envisioned by a modular GENERIC kernel?)
> > 
> > Maybe this helps:
> > http://www.feyrer.de/NetBSD/blog.html/nb_20091018_1917.html
> 
> Maybe the kernel Makefile should put the newly built kernel in a subdirectory,
> to make it a bit more obvious that you need to do more than just copy the 
> kernel file.   i.e.:
>  .../GENERIC/netbsd/
>  .../GENERIC/netbsd/netbsd
>  .../GENERIC/netbsd/netbsd.gdb
>  .../GENERIC/netbsd/modules -> /stand  (or a readme file, or whatever)
>   
> There was some talk about the actual installed kernel being a directory; what
> ever happened with that?

I also remember such discussion but I think no consensus was reached
last time (and debates as to the structure of the tree, name of
elements, versioning, etc).  I agree that unless we decide to
microversion the kernel (so that every build has its own corresponding
modules tree), using a single directory containing both the image and
its corresponding modules would be a nice approach (but then modules
wouldn't be a symlink to /stand but an actual directory).

The documentation could indeed be updated (the guide, as well
as http://netbsd.org/docs/current/index.html and a replacement for
http://www.home.unix-ag.org/bmeurer/NetBSD/howto-lkm.html) but it's
probably only worth updating them once we agreed on the new
distribution structure.
Since the release is 5.0.1 and that this release still only supports
loading LKMs, but is also using a MODULAR+LKM GENERIC and populated
modules tree under /stand/<arch>/, this is also confusing, as the
documentation (except for tracking-current) should be about the
release...

On -current a prebuilt MONOLITHIC kernel is now also provided after a
few users requested it (including myself), although not everyone agreed
that it was a good idea (some consider a monolithic kernel a "temporary
developer toy" only, it seems).  Sorry for ranting here, but I fear
that had that not been accepted, the MONOLITHIC configuration file
would quickly become unmaintained and it'd become an administrative
nightmare for a user to create or obtain a standalone kernel (which in
my opinion is the less problematic approach for both developers and
users).

A point which confuses me is that the install=/ target will install
those modules (at least under netbsd-5), while I fail to see an easy to
use kernel-only target like installkernel=<foo> to install MODULAR FOO
and its module dependencies (I'd have to check but I'm not even sure
releasekernel=<foo> installs foo-specific modules to RELEASEDIR).
-- 
Matt


Home | Main Index | Thread Index | Old Index