On 8/13/19 3:17 PM, Ian Lepore wrote: > On Tue, 2019-08-13 at 14:58 -0700, John Baldwin wrote: >> For developers this means even if you are doing testing on a box >> that doesn't use DRM, you can install the package so that kernel >> builds will try to compile it and hopefully spot KPI/KBI changes >> before they land in the tree so that the port/package can be >> patched in tandem with committing changes to HEAD. Note that even >> builds of work trees in git checkouts, etc. will find the DRM >> modules and try to build them if the package is installed. > > That last sentence sounds ominous. Are you saying that when I'm on my > amd64 machine building from /my/sources/rpi using TARGET_ARCH=armv6 > it's going to find /usr/local/sys/modules/drm-current-kmod and try to > crossbuild it for armv6? Yes, meaning that you _can_ cross-build a DRM kernel module. This also means that if you are trying out a KPI change and have the package installed, make tinderbox will now catch a change that breaks the DRM drivers on only a subset of platforms (e.g. a powerpc or arm-only breakage that currently goes unnoticed when a developer is only doing build testing from an amd64 host). There are several ways you can disable this either globally or in more fine-grained ways: 1) You can set LOCALBASE to a different path either in a kernel config (via makeoptions) or when invoking buildkernel. For example, I mount my rpi's sdcard at /mnt on my amd64 laptop and then cross-build into it, so I could set LOCALBASE to /mnt/usr/local when building the rpi's kernel to honor any kmod packages installed on the rpi. 2) You can set LOCAL_MODULES (makeoptions, command line) to a list of modules to build (empty disables building any of them). 3) You could set LOCAL_MODULES in /etc/src.conf to affect all kernel builds. (You probably don't want to set LOCALBASE there as it probably affects other things.) 4) You can build the port with the SOURCES option disabled if you want to never build modules for a specific port. > How about when I'm doing a build of 11-stable for testing, but what's > in my /usr/local is sources for a 13-current driver? Given that the kmod's are supposed to be portable across branches, the build really shouldn't be breaking. But the same ability is still there to as above to disable builds either in general or for specific kernel configs or buildkernel invocations. -- John BaldwinReceived on Wed Aug 14 2019 - 14:08:54 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC