Why not go all the way directly? Everything that can be built as a
module will be built as such, and only included in the static kernel if
the user wants it. Isn't it what FreeBSD does?
No, I think the GENERIC kernel on FreeBSD still includes most of the
drivers etc.
That's a different thing. I'd expect ours to still keep as much as
possible (or the boot loader would have to load all the modules which
is essentially the same). The point is to build the .kobj no matter
what (granted, there should be a way to tell "don't build those
modules") and include it in the static kernel if there if a config
line for it.