config(8)
NAME
config - build system configuration files
SYNOPSIS
config [-Vgp] [-d destdir] SYSTEM_NAME
DESCRIPTION
- This is the old version of the config utility. It under
- stands the old
autoconfiguration scheme used on the HP300, i386, DECsta - tion, and derivative platforms. The new version of config is used with the
- SPARC platform. Only the version of config applicable to the archi
- tecture that you
are running will be installed on your machine. - The config utility builds a set of system configuration
- files from the
file SYSTEM_NAME which describes the system to configure. A - second file
tells config what files are needed to generate a system and - can be augmented by configuration specific set of files that give al
- ternate files
for a specific machine (see the FILES section below). - Available options and operands:
- -V Print the config version number.
- -d destdir Use destdir as the output directory, in
- stead of the
- default one. Note that config does not ap
- pend
SYSTEM_NAME to the directory given. - -g Configure a system for debugging.
- -p Configure a system for profiling; for exam
- ple, kgmon(8)
- and gprof(1). If two or more -p options
- are supplied,
config configures a system for high resolu - tion profiling.
- SYSTEM_NAME Specify the name of the system configura
- tion file con
- taining device specifications, configura
- tion options and
other system parameters for one system con - figuration.
- The config utility should be run from the conf subdirectory
- of the system
source (usually /sys/ARCH/conf), where ARCH represents one - of the architectures supported by FreeBSD. The config utility creates
- the directory
../compile/SYSTEM_NAME or the one given with the -d option - as necessary
and places all output files there. The output of config - consists of a
number of files; for the i386, they are: Makefile, used by - make(1) in
building the system; header files, definitions of the number - of various
devices that will be compiled into the system. - After running config, it is necessary to run ``make depend''
- in the
directory where the new makefile was created. The config - utility prints
a reminder of this when it completes. - If any other error messages are produced by config, the
- problems in the
configuration file should be corrected and config should be - run again.
Attempts to compile a system that had configuration errors - are likely to
fail. - If the options INCLUDE_CONFIG_FILE is used in the configura
- tion file the
entire input file is embedded in the new kernel. This means - that
strings(1) can be used to extract it from a kernel: to ex - tract the configuration information, use the command
strings -n 3 kernel | sed -n 's/^___//p'
DEBUG KERNELS
- Traditional BSD kernels are compiled without symbols due to
- the heavy
load on the system when compiling a ``debug'' kernel. A de - bug kernel
contains complete symbols for all the source files, and en - ables 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; gdb(1) provides very little support - for normal kernels, and a debug kernel is needed for any meaningful analy
- sis.
- For reasons of history, time and space, building a debug
- kernel is not
the default with FreeBSD: a debug kernel takes up to 30% - longer to build
and requires about 30 MB of disk storage in the build direc - tory, 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. Use - the -g
option to build a debug kernel. With this option, config - causes two kernel files to be built in the kernel build directory:
- +o kernel.debug is the complete debug kernel.
- +o kernel is a copy of the kernel with the debug symbols
- stripped off.
- This is equivalent to the normal non-debug kernel.
- 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:
- +o ``make install'' installs kernel in the root file sys
- tem.
- +o ``make install.debug'' installs kernel.debug in the root
- file system.
FILES
- /sys/conf/files list
- of common
- files
- system is
built - from
- /sys/conf/Makefile.ARCH generic makefile
- for
- the ARCH
- /sys/conf/files.ARCH list
- of ARCH spe
- cif
- ic files
- /sys/ARCH/compile/SYSTEM_NAME de
- fault kernel
- build
- directory
for - system
SYSTEM_NAME - on
ARCH.
SEE ALSO
The SYNOPSIS portion of each device in section 4.
Building 4.3 BSD UNIX System with Config.
HISTORY
The config utility appeared in 4.1BSD.
BUGS
- The line numbers reported in error messages are usually off
- by one.
- BSD December 16, 2004