On Thu, 30 May 2024 05:12:01 +0200
FreeBSD User wrote:
> Hello,
>
> for customising my world and kernel, I try to "overlay" GENERIC via included
> files containing
> "nodevice" and "nooptions" tags starting from a top level config file like
>
> include GENERIC
> include NODEVICE-GENERIC
> include SPECIAL
>
> Within "NODEVICE-GENERIC" I utilize
> [...]
> # Debugging support. Always need this:
> nooptions KDB # Enable kernel debugger support.
> nooptions KDB_TRACE # Print a stack trace for a panic.
> # For full debugger support use (turn off in stable branch):
> include "std.nodebug"
> [...]
>
> to disable KDB. The include "std.debug" in GENERIC is new, prior to its
> occurence the sketched
> scheme worked fine for me, but now I get this error while perfoming "make -jX
> buildworld
> buildkernel":
>
> [...]
> /usr/src/sys/amd64/amd64/exec_machdep.c:80:2: error: KDB must be enabled in
> order for DDB to
> work! 80 | #error KDB must be enabled in order for DDB to work!
> | ^
> [...]
>
> Apart from the recommendation not to disable KDB in CURRENT, is there a way
> to disable
> debugging features and mimik a stable branch?
>
> Thanks in advance,
>
GENERIC contains options DDB_CTF, which results in opt_ddb.h being created.
/sys/conf/kern.pre.mk:DDB_ENABLED!= grep DDB opt_ddb.h || true ; echo
will result in DDB_ENABLED being true, since #define DDB_CTF 1 will be
present in opt_ddb.h.
So adding noptions DDB and nooptions DDB_CTF to your NODEVICE-GENERIC
might solve your problem.
--
Gary Jennejohn