My current idea is that I can take the current NetBSD kernel and:
a) for some (any? or only some?) hardware subsystems, ask the kernel (by some switch/config? where?) to run drivers in userspace, in "microkernel-like" way (and thus they reboot transparently in case of failure/bug/crash?), at some performance cost;
b) compile out/disable (? by some preprocessor directive?) some subsystems of the kernel, so that I get a "smaller" kernel e.g. for embedded machines which don't have video-card/GPU hardware;
and probably also combine the both above approaches together - i.e. build a reduced kernel like in (b), and then optionally run any missing subsystems/drivers like in (a).
Is that correct? Or am I wrong?