diff options
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/config/config.8 | 44 | ||||
-rw-r--r-- | usr.sbin/config/configvers.h | 4 |
2 files changed, 44 insertions, 4 deletions
diff --git a/usr.sbin/config/config.8 b/usr.sbin/config/config.8 index d2be2bb..67af781 100644 --- a/usr.sbin/config/config.8 +++ b/usr.sbin/config/config.8 @@ -73,7 +73,8 @@ Available options and operands: .Pp .Bl -tag -width SYSTEM_NAME .It Fl g -Configure a system for debugging. +Configure a system for debugging. This is the default, so this flag has no +meaning, and causes a warning message to be printed. .It Fl p Configure a system for profiling; for example, .Xr kgmon 8 @@ -83,9 +84,13 @@ If two or more .Fl p options are supplied, .Nm -will configure a system for high resolution profiling. +configures a system for high resolution profiling. .It Fl r Remove the old compile directory (see below). +.It Fl s +Configure a system without debugging symbols. This saves both time and space, +but if problems occur with the kernel, it will be almost impossible to find out +their causes. .It Ar SYSTEM_NAME Specifies the name of the system configuration file containing device specifications, configuration options @@ -150,6 +155,41 @@ entire input file is embedded in the new kernel. This means that can be used to extract it from a kernel. .Pp Strings | grep ___ will print just the configure information. +.Sh DEBUG KERNELS +Traditional BSD kernels were compiled without symbols due to the heavy load on +the system when compiling a +.if n "debug" +.if t ``debug'' +kernel. A debug kernel contains complete symbols for all the source files, and +enables an experienced kernel programmer to analyse the cause of a problem. The +debuggers available prior to 4.4BSD-Lite were able to find some information +from a normal kernel; this is no longer the case with +.Xr gdb 8 , +and a debug kernel is needed for any meaningful analysis. +.Pp +Building a debug kernel is the default with FreeBSD, and the +.Fl s +option is required to revert to historical behaviour. A debug kernel takes up +to 30% longer to build and requires about 30 MB of disk storage in the build +directory, compared to about 6 MB for a non-debug kernel. A debug kernel is +about 11 MB in size, compared to about 2 MB for a non-debug kernel. This space +is used both in the root file system and at run time in memory. Since kernel +storage is non-pageable, the additional space required by a debug kernel is lost +to the system when not debugging. +.Pp +There is currently little sense in installing and booting from a debug kernel, +since the only tools available which use the symbols do not run on-line. There +are therefore two options for installing a debug kernel: +.Bl -bullet +.It +.Nm make +.Ar install +makes a stripped copy of the kernel and installs it in the root file system. +.It +.Nm make +.Ar install.debug +installs the complete debug kernel in the root file system. +.El .Sh FILES .Bl -tag -width /sys/i386/conf/Makefile.i386 -compact .It Pa /sys/conf/files diff --git a/usr.sbin/config/configvers.h b/usr.sbin/config/configvers.h index c43c000..35c31ad 100644 --- a/usr.sbin/config/configvers.h +++ b/usr.sbin/config/configvers.h @@ -6,6 +6,6 @@ * The numbering scheme is inspired by the sys/conf/newvers.sh RELDATE * and <osreldate.h> system. * - * $Id: configvers.h,v 1.7 1998/10/23 17:05:06 bde Exp $ + * $Id: configvers.h,v 1.8 1998/11/15 18:07:35 dfr Exp $ */ -#define CONFIGVERS 300009 +#define CONFIGVERS 300010 |