kern/126926: [patch] Add MACHINE to dmesg
Gavin Atkinson
gavin at FreeBSD.org
Thu Aug 28 20:40:01 UTC 2008
>Number: 126926
>Category: kern
>Synopsis: [patch] Add MACHINE to dmesg
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Aug 28 20:40:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Gavin Atkinson
>Release: FreeBSD 7.0-STABLE amd64
>Organization:
>Environment:
System: FreeBSD buffy.york.ac.uk 7.0-STABLE FreeBSD 7.0-STABLE #3: Fri Jun 20 09:21:51 UTC 2008 root at buffy.york.ac.uk:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
As somebody who has seen a lot of PRs, it has often proved difficult
to determine whether somebody is running an i386 or amd64 kernel. Sometimes
it is obvious from looking at the I/O ranges assigned, but other times (see
www/126925 for example) there may be nothing at all in the dmesg to indicate
the architecture that the kernel was built for. This patch adds it.
>How-To-Repeat:
Look at the dmesg in www/126925 and tell me if it was an i386 or
amd64 kernel...
>Fix:
This patch will include the contents of ${MACHINE} into the kernel
VERSTR, which in turn will lead to the following appearance in a dmesg:
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #28: Tue Aug 19 19:42:20 BST 2008
root at rho.york.ac.uk:/usr/obj/usr/src/sys/RHO i386
WARNING: WITNESS option enabled, expect reduced performance.
(note the architecture on the sixth line). This will also be included in
the output of `sysctl kern.version` and `uname -v`, but I don't see these
as a disadvantage. Given the recent change to include the SVN revision
number if available into this string, I think it's safe to change the
format again on the assumption that nobody is parsing this directly.
--- newvers.sh begins here ---
Index: src/sys/conf/newvers.sh
===================================================================
RCS file: /home/ncvs/src/sys/conf/newvers.sh,v
retrieving revision 1.76
diff -u -r1.76 newvers.sh
--- src/sys/conf/newvers.sh 13 Jul 2008 20:08:38 -0000 1.76
+++ src/sys/conf/newvers.sh 16 Aug 2008 09:25:24 -0000
@@ -86,6 +86,7 @@
touch version
v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date`
i=`${MAKE:-make} -V KERN_IDENT`
+p=`${MAKE:-make} -V MACHINE`
for dir in /bin /usr/bin /usr/local/bin; do
if [ -x "${dir}/svnversion" ]; then
@@ -105,7 +106,7 @@
cat << EOF > vers.c
$COPYRIGHT
#define SCCSSTR "@(#)${VERSION} #${v}${svn}: ${t}"
-#define VERSTR "${VERSION} #${v}${svn}: ${t}\\n ${u}@${h}:${d}\\n"
+#define VERSTR "${VERSION} #${v}${svn}: ${t}\\n ${u}@${h}:${d} ${p}\\n"
#define RELSTR "${RELEASE}"
char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR;
--- newvers.sh ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list