Default KMODDIR
Glen Barber
gjb at FreeBSD.org
Tue May 3 17:41:03 UTC 2016
On Tue, May 03, 2016 at 10:36:28AM -0700, John Baldwin wrote:
> I'd like to change KMODDIR's default from /boot/kernel to /boot/modules.
> Kernel builds already set KMODDIR explicitly in sys/conf/kern.pre.mk, so
> the only modules affected would be modules built standalone outside of a
> kernel build. There are two cases to consider I think:
>
> 1) Someone has installed a custom kernel and finds they need module
> 'foo' that wasn't in their custom kernel. They might do:
>
> # cd /sys/modules/foo
> # make all install
> # kldload foo
>
> For myself, if I need this I find myself instead modifying my kernel
> config to include the module in MODULES_OVERRIDE and then doing a
> 'make buildkernel && make reinstallkernel' as this will work after my
> next source upgrade.
>
> In this case, foo.ko would now end up in /boot/modules rather than
> /boot/kernel. Note that if a user just does 'make load' instead of
> 'make install' then nothing changes.
>
> 2) A module lives outside of the tree (or a vendor wishes to ship a
> newer version as a standalone module). All of these modules (including
> all of the one in ports) currently have to override KMODDIR explicitly
> in the module Makefile.
>
> It is the 2) case I would like to make more seamless by changing the
> default. This does change the behavior for 1) if someone is doing
> 'make install' rather than 'make load' from a module build directory.
>
> Strawman diff:
>
> Index: share/mk/bsd.own.mk
> ===================================================================
> --- share/mk/bsd.own.mk (revision 298711)
> +++ share/mk/bsd.own.mk (working copy)
> @@ -49,7 +49,7 @@
> #
> #
> # KMODDIR Base path for loadable kernel modules
> -# (see kld(4)). [/boot/kernel]
> +# (see kld(4)). [/boot/modules]
> #
> # KMODOWN Kernel and KLD owner. [${BINOWN}]
> #
> @@ -165,11 +165,7 @@
> BINMODE?= 555
> NOBINMODE?= 444
>
> -.if defined(MODULES_WITH_WORLD)
> KMODDIR?= /boot/modules
> -.else
> -KMODDIR?= /boot/kernel
> -.endif
> KMODOWN?= ${BINOWN}
> KMODGRP?= ${BINGRP}
> KMODMODE?= ${BINMODE}
>
This seems like a good idea to me. I tend to do (1) quite often, and
sometimes forget what modules I had temporarily built for testing
something specific, and your proposal would be very helpful in finding
the modules I do not always want or need installed.
Glen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20160503/5f9b01a5/attachment.sig>
More information about the freebsd-arch
mailing list