8 to 9: Kernel modularization -- did it change?

Doug Barton dougb at FreeBSD.org
Sat Feb 18 01:15:01 UTC 2012


On 02/17/2012 15:11, matt wrote:
> We have a modular kernel. It makes best-practices-sense to keep the
> kernel true to what's required to boot and initialize the hardware
> required to come up multiuser. I am actually against having sound in
> there at all.

I think the question is not, "What should be in the kernel?" but rather
"What should be on by default?" *How* those things are provided is a
different question.

One could argue that an intelligent installer combined with a more
modular kernel would be the right answer.

> However, as a compromise, if it must be in there, then put it in
> loader.conf and not the kernel.

I keep hoping that if I repeat this enough times that people will get
the word. :)  Because loading modules through loader.conf is
veeeeeerrrrryyyyyy sssssllllloooooowwwwww I added an rc.d script called
kld that will load the specified modules after disks are mounted. This
is at least an order of magnitude faster. Look for kld_list in
rc.conf(5) if you want the details, but the short version is that you
just do something like, kld_list="umass coretemp ichwd linux nvidia".
This is in all the -stable branches (including 7), is already in 9.0,
and will be in 8.3.

Obviously you have to have everything in kernel and/or loader.conf
that's necessary to get your local disks available, and the system to
the point where it can start running rc. But everything else can go in
kld_list.


hth,

Doug

-- 

	It's always a long day; 86400 doesn't fit into a short.

	Breadth of IT experience, and depth of knowledge in the DNS.
	Yours for the right price.  :)  http://SupersetSolutions.com/



More information about the freebsd-hackers mailing list