Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 May 2016 17:41:01 +0000
From:      Glen Barber <gjb@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        'freebsd-arch' <freebsd-arch@freebsd.org>
Subject:   Re: Default KMODDIR
Message-ID:  <20160503174101.GX1804@FreeBSD.org>
In-Reply-To: <1702887.zov9WbhYWY@ralph.baldwin.cx>
References:  <1702887.zov9WbhYWY@ralph.baldwin.cx>

next in thread | previous in thread | raw e-mail | index | archive | help

--gU5RoU0MzIDcUgzM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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:
>=20
> 1) Someone has installed a custom kernel and finds they need module
>    'foo' that wasn't in their custom kernel.  They might do:
>=20
> # cd /sys/modules/foo
> # make all install
> # kldload foo
>=20
>    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.
>=20
>    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.
>=20
> 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.
>=20
> 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=20
> 'make install' rather than 'make load' from a module build directory.
>=20
> Strawman diff:
>=20
> Index: share/mk/bsd.own.mk
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- 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?=3D      555
>  NOBINMODE?=3D    444
> =20
> -.if defined(MODULES_WITH_WORLD)
>  KMODDIR?=3D      /boot/modules
> -.else
> -KMODDIR?=3D      /boot/kernel
> -.endif
>  KMODOWN?=3D      ${BINOWN}
>  KMODGRP?=3D      ${BINGRP}
>  KMODMODE?=3D     ${BINMODE}
>=20

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


--gU5RoU0MzIDcUgzM
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXKOKtAAoJEAMUWKVHj+KTA4kP/2azI81ABLmoeRWfUPVHA+hX
yH+P0J2qXYSmtugK3jc+JzwJH7jnJNY6vjYEfig//gTZYgJl9Jmo7axYuGn5V9Af
XxCRRnVhbe+WZiHZ8/Cey0LpZPPE3nazapLIWSovulMBAgUTcXxRvbRS931Q5s8h
N7Xxyv62m1cKgJZLb5pUDiDAKukDK49IeX9oJtPSDBkR9bjHo4wVZhrSnD8h84Au
ikuUeTsQg8EzCV2n4iPiY5gL7zsBu1sFDluUfqIijzx4gVThrumL5Cbo6N3pxqnN
k5L6Qj1WdrIlp+bfTQ4r0rughv5JNVFkr6IYlvecrZRF8TZSq0+Ge2IKQJU5o4Bm
71gA9yX9LMurnLLHAxYg9H6dZ6KNBoJTEd06ZXQuXq2T7nzYiZm7Es0en6F9oaAw
GFekaU+sxc1L3DXs83E1J3/WswnIS9mFofs4MEyAv3Xrf3KNp4Z9pQWAq2i+4ZRi
zhk8HA9ffj17/KPTqKPGVGLoAtibzjzK0MgjzxsWWNPuD67tE7RS+AX1Y/h5k1XE
I3vXHAMdqz5ig0otHqHFItiTR8wSRMA+ERxdu/Q34XHqVQ2pgg649gcEYvxgGyX5
/BiPlBi1vlw8oLw+FB8lROeOIiHDt8j56pQwCT3zBBm+/raE0ArAYwoqU/xQCc95
62qK0Si1PMuIfGG47p0J
=0DnQ
-----END PGP SIGNATURE-----

--gU5RoU0MzIDcUgzM--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160503174101.GX1804>