tech-kern archive

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

Re: Modular raidframe



On Sun, 20 Dec 2015, Rhialto wrote:

On Sun 20 Dec 2015 at 16:19:34 +0800, Paul Goyette wrote:
I like to think that I run a kernel from a third class:

HIGHLY-MODULAR

	These kernels include only a minimum amount of built-in code,
	and any additional functionality is loaded as needed.  I have
	fewer than 20 built-in modules, and generally run with only
	40 modules total (the difference being loaded dynamically).

How does one most easily create a kernel of this type (and know which
parts are loadable and which are not)?

I've been making my own kernels by starting with GENERIC and removing
things from it that I don't have or need. Is there a simple way to see
which of those things are also modules (so they can come back if I need
them after all)? The names in /stand/modules don't always seem to match
100% with words from the config file.

The stuff in /stand/<version>/modules is pretty close to what is in the
config file, close enough that you should be able to guess with > 90% accuracy. :)

Device driver modules for actual devices (those with a bmajor or cmajor) must match names for autoload to work.

File systems also match.

Emulation/exec modules are almost always exec_* or compat_*

The ones that don't always match are those that provide optional system calls. You can examine src/sys/kern/syscalls.master to see which syscalls are option, which option they depend on, and which module they are contained in. This should get you very close to 100%.



+------------------+--------------------------+------------------------+
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+------------------------+


Home | Main Index | Thread Index | Old Index