2.9BSD/usr/man/cat8/config.8
CONFIG(8) UNIX Programmer's Manual CONFIG(8)
NAME
config - set up a kernel configuration and directory
SYNOPSIS
config systemname
DESCRIPTION
_C_o_n_f_i_g is used to set up a directory with all of the files
needed to compile a kernel for a given system. It is used
in the directory /usr/src/sys/conf, where the prototype
files for system configutation are kept. Its single argu-
ment is the name of a configuration file that describes the
computer for which the kernel is to be built. It reads this
file _s_y_s_t_e_m_n_a_m_e, makes a directory ../_s_y_s_t_e_m_n_a_m_e where the
system will be compiled, and copies into it the necessary
header files, scripts and local sources. It edits each of
them according to the information in the configuration file.
The configuration file has a simple format. Each line of
the file is either a comment line, beginning with a '#', or
is a data line. In this case, it has three fields separated
by white space. The first field is the name of a parameter,
the second is its value, and the rest of the line is a com-
ment. Because the fields are delimited by any white space,
the value field may not contain blanks. There are three
types of data in the file: general system description,
filesystem configuration, and the numbers of peripheral dev-
ices. All of the fields in the first two sections are
required. An example of a configuration file is:
# Machine configuration file.
# Format:
# name value comments
#
# General parameters
pdp11 70
ident UNKNOWN
maxusers 25
bootdev hp
timezone 8 # Pacific
dst 1
#
# Filesystem configuration
rootdev makedev(6,0) # xp0a
swapdev makedev(6,1) # xp0b
dumpdev NODEV
pipedev makedev(6,0) # xp0a
swplo 0
nswap 3200
dumplo 0
dumproutine nodev
#
Printed 8/2/83 1
CONFIG(8) UNIX Programmer's Manual CONFIG(8)
# Device configuration
NXP 4
NXP_CONTROLLER 1
NRL 1
NHT 1
NDZ 1 # in units of boards (8 each)
NDH 2 # in units of boards (16 each)
NDM 1 # in units of boards (16 each)
LOWDM 16 # LOWDM is in units of lines
NLP 1
Most of the parameters have the obvious meanings. Ident is
the name of the machine, the same name used for the confi-
guration file. It is normally in capital letters, and will
be placed in a definition in whoami.h so that local options
can be conditional on it. It is also used in the definition
of MYNAME, this time as a string in lower case; this defini-
tion is used by _u_u_c_p(1C). Note that the clock and the con-
sole are not listed; however, if additional KL-11/DL-11 dev-
ices are included, NKL should include the console. The
default for NKL is 1, for all other devices is 0.
After a directory is set up by _c_o_n_f_i_g, it is wise to look
through the header files and the Makefile. Local options
and tuning will probably be needed in localopts.h, param.c
and possibly param.h, and there are options in many of the
individual device header files.
BUGS
_C_o_n_f_i_g is a simple shell script that uses _a_w_k(1) as a
parser; thus the input format is rigid and errors are not
handled nicely.
Ideally, the overlay loading rules for overlaid kernels
should be determined by _c_o_n_f_i_g.
FILES
/usr/src/sys/conf directory of prototype files
SEE ALSO
dtab(5), autoconfig(8)
M. J. Karels and C. F. Smith, ``Installing and Operating
2.9BSD''
Printed 8/2/83 2