svn commit: r335916 - head/sys/conf

Andrew Gallatin gallatin at cs.duke.edu
Sat Jul 7 15:03:00 UTC 2018


On 07/05/18 19:59, John Baldwin wrote:

> You misunderstand.  /usr/local/sys/modules would hold module sources so that
> they can be recompiled when building a kernel without having to rebuild the
> package or reinstall the package.  Binary modules would continue to be
> installed in /boot/modules.
> 

This is very similar to the approach that many Linux distributions take
with DKMS.  The kernel sources for out-of-tree modules are kept around,
and every time a kernel is installed, its new header files are used to
re-compile the out-of-tree module.   Similarly, when you install a
package containing a kernel module, it is re-compiled and installed
for every installed kernel.

One thing that was tangentially brought up is that the ability
to compile out-of-tree modules requires keeping the kernel-headers
around.  So we may need to identify all the headers that a module might
need, and install them in /boot/$KERNEL/sys or some-such.  This would
be needed if, for example, we wanted to install a new Nvidia or Virtual
Box module and have it work for older installed kernel versions too
(eg, across ABI breaking changes in -current).

This would certainly make life easier for people running -current.
This system works quite well on Linux.  For comparison, I used an
Ubuntu based desktop with Nvidia graphics at a previous employers,
and a FreeBSD-current desktop w/Nvidia graphics now. I've been left w/o
graphics  accidentally much more often on FreeBSD than I ever
had been on Ubuntu, even when compiling my own kernels from git..

Drew


More information about the svn-src-all mailing list