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

config(5)

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
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout