On 10/30/18 8:55 AM, Rodney W. Grimes wrote: >> On Tue, Oct 30, 2018 at 12:23:38AM +0000, John Baldwin wrote: >>> Author: jhb >>> Date: Tue Oct 30 00:23:37 2018 >>> New Revision: 339901 >>> URL: https://svnweb.freebsd.org/changeset/base/339901 >>> >>> Log: >>> Permit local kernel modules to be built as part of a kernel build. >>> >>> Add support for "local" modules. By default, these modules are >>> located in LOCALBASE/sys/modules (where LOCALBASE defaults to >>> /usr/local). Individual modules can be built along with a kernel by >>> defining LOCAL_MODULES to the list of modules. Each is assumed to be >>> a subdirectory containing a valid Makefile. If LOCAL_MODULES is not >>> specified, all of the modules present in LOCALBASE/sys/modules are >>> built and installed along with the kernel. >>> >>> This means that a port that installs a kernel module can choose to >>> install its source along with a suitable Makefile to >>> /usr/local/sys/modules/<foo>. Future kernel builds will then include >>> that kernel module using the kernel configuration's opt_*.h headers >>> and install it into /boot/kernel along with other kernel-specific >>> modules. >>> >>> This is not trying to solve the issue of folks running GENERIC release >>> kernels, but is instead aimed at folks who build their own kernels. >>> For those folks this ensures that kernel modules from ports will >>> always be using the right KBI, etc. This includes folks running any >>> KBI-breaking kernel configs (such as PAE). >>> >>> There are still some kinks to be worked out with cross-building (we >>> probably shouldn't include local modules in cross-built kernels by >>> default), but this is a sufficient starting point. >>> >>> Reviewed by: imp >>> MFC after: 3 months >>> Relnotes: yes >>> Differential Revision: https://reviews.freebsd.org/D16966 >>> >>> Modified: >>> head/sys/conf/kern.post.mk >>> >>> Modified: head/sys/conf/kern.post.mk >>> ============================================================================== >>> --- head/sys/conf/kern.post.mk Tue Oct 30 00:22:14 2018 >>> (r339900) >>> +++ head/sys/conf/kern.post.mk Tue Oct 30 00:23:37 2018 >>> (r339901) >>> @@ -35,24 +35,41 @@ KERN_DEBUGDIR?= ${DEBUGDIR} >>> >>> .MAIN: all >>> >>> +.if !defined(NO_MODULES) >>> +# Default prefix used for modules installed from ports >>> +LOCALBASE?= /usr/local >>> + > > .if exists (${LOCALBASE}/sys/modules) >>> +LOCAL_MODULES_DIR?= ${LOCALBASE}/sys/modules > .endif > >>> + >>> +# Default to installing all modules installed by ports unless overridden >>> +# by the user. >>> +.if !defined(LOCAL_MODULES) >>> +LOCAL_MODULES!= ls ${LOCAL_MODULES_DIR} >>> +.endif >>> +.endif >> >> During a buildkernel I now get several instances of: >> >> ls: /usr/local/sys/modules: No such file or directory >> >> make[2]: "/usr/home/markj/src/freebsd-dev/sys/conf/kern.post.mk" line 47: >> warning: "ls /usr/local/sys/modules" returned non-zero status >> >> Perhaps /usr/local/sys/modules should be specified in the BSD.usr.dist >> mtree file?
I think I prefer Rod's fix. I'll apply it in a bit. -- John Baldwin _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"