Solved Upgrade 12.0 -> 12.1: kernel ident no longer allows the '.' (full stop/period) character

SOLUTION: Place the ident in double quotes

=====

When compiling a kernel under 12.0-RELEASE this ident is fine:
Code:
ident          DNS-12.0

Under 12.1-RELEASE, this almost identical ident causes an error:
Code:
ident          DNS-12.1

Code:
/usr/src/sys/amd64/conf % config DNS-12.1
config: DNS-12.1:22: syntax error

It appears to be the hyphen full stop that it dislikes.

Can't see anything in UPDATING or anyone else asking about this. Is this a bug or an intentional change?
 
Last edited:
It's not the hyphen in the name (or the ident) that's triggering the error:
Code:
root@molly:/usr/src/sys/amd64/conf # config GENERIC-MMCCAM
Kernel build directory is ../compile/GENERIC-MMCCAM
Don't forget to do ``make cleandepend && make depend''
root@molly:/usr/src/sys/amd64/conf #
root@molly:/usr/src/sys/amd64/conf # head GENERIC-MMCCAM
# MMCCAM is the kernel config for doing MMC on CAM development
# and testing on bhyve
# $FreeBSD: stable/12/sys/amd64/conf/GENERIC-MMCCAM 339223 2018-10-07 15:54:13Z tuexen $

include         MINIMAL

ident           GENERIC-MMCCAM

# Access GPT-formatted and labeled root volume
options         GEOM_LABEL
 
Same on another box:

"NAS-12.0" under FreeBSD 12.0 -> works
"NAS-12.1" under FreeBSD 12.1 -> syntax error

If I copy GENERIC and add a single '.' to the ident string it errors out.
 
Still happening on 12.2-R

ident GENERIC -> OK

ident GEN.ERIC -> config: GENERIC2:22: syntax error

I can't find anything documenting this change (or the reason why), nor can I find anyone else who has reported this. Any ideas?
 
Back
Top