Page MenuHomeFreeBSD

universe: emit warning instead of error for bad/missing KERNCONF
Needs ReviewPublic

Authored by siva on Feb 27 2026, 6:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 10, 9:39 AM
Unknown Object (File)
Wed, Apr 8, 1:40 AM
Unknown Object (File)
Tue, Apr 7, 1:57 AM
Unknown Object (File)
Sun, Apr 5, 1:12 PM
Unknown Object (File)
Sun, Apr 5, 6:51 AM
Unknown Object (File)
Sun, Mar 29, 12:55 PM
Unknown Object (File)
Thu, Mar 26, 5:13 AM
Unknown Object (File)
Mon, Mar 23, 10:17 PM
Subscribers
None

Details

Reviewers
emaste
jhb
imp
Summary

When doing a large make universe build with multiple KERNCONFS,
it should not be an error when a particular target has a missing
KERNCONF.

In this example,

$ make universe TARGETS='arm64 riscv' KERNCONFS='QEMU VIRT'

Currently, arm64 does not have a QEMU conf, and riscv
does not have a VIRT conf. However, this command should still
succeed instead of failing with the following message:

make[2]: /usr/src/Makefile:767: Target architecture for riscv/conf/VIRT unknown.  config(8) likely too old.
	in .for loop from /usr/src/Makefile:761 with kernel = VIRT
	in make[2] in directory "/usr/src"

make[2]: stopped making "universe_kernels" in /usr/src

Since the opposite is true, we should build whatever confs are available
from the requested list of KERNCONFS, while making sure to still
emit warnings along the way.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 72027
Build 68910: arc lint + arc unit

Event Timeline

siva requested review of this revision.Feb 27 2026, 6:01 PM
siva created this revision.

Any comments on this change?

This is likely OK. We can lose the config(8) too old part. That version is now unsupported (11 or 12 had it).

This revision is now accepted and ready to land.Tue, Mar 24, 3:14 PM
This revision now requires review to proceed.Tue, Apr 7, 8:43 PM