xref: /freebsd/usr.sbin/config/config.8 (revision a8445737e740901f5f2c8d24c12ef7fc8b00134e)
1.\" Copyright (c) 1980, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\"    must display the following acknowledgement:
14.\"	This product includes software developed by the University of
15.\"	California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"     @(#)config.8	8.2 (Berkeley) 4/19/94
33.\"
34.Dd April 19, 1994
35.Dt CONFIG 8
36.Os BSD 4
37.Sh NAME
38.Nm config
39.Nd build system configuration files
40.Sh SYNOPSIS
41.Nm config
42.Op Fl gpr
43.Ar SYSTEM_NAME
44.Sh DESCRIPTION
45This is the old version of the
46.Nm
47program.
48It understands the old autoconfiguration scheme
49used on the HP300, i386, DECstation, and derivative platforms.
50The new version of config is used with the
51SPARC platform.
52Only the version of
53.Nm
54applicable to the architecture that you are running
55will be installed on your machine.
56.Pp
57.Nm Config
58builds a set of system configuration files from the file
59.Ar SYSTEM_NAME
60which describes
61the system to configure.
62A second file
63tells
64.Nm
65what files are needed to generate a system and
66can be augmented by configuration specific set of files
67that give alternate files for a specific machine
68(see the
69.Sx FILES
70section below).
71.Pp
72Available options and operands:
73.Pp
74.Bl -tag -width SYSTEM_NAME
75.It Fl g
76Configure a system for debugging.
77.It Fl p
78Configure a system for profiling; for example,
79.Xr kgmon 8
80and
81.Xr gprof 1 .
82If two or more
83.Fl p
84options are supplied,
85.Nm
86will configure a system for high resolution profiling.
87.It Fl r
88Remove the old compile directory (see below).
89.It Ar SYSTEM_NAME
90Specifies the name of the system configuration file
91containing device specifications, configuration options
92and other system parameters for one system configuration.
93.El
94.Pp
95.Nm Config
96should be run from the
97.Pa conf
98subdirectory of the system source (usually
99.Pa /sys/ARCH/conf ) .
100.Nm Config
101will create the directory
102.Pa ../../compile/SYSTEM_NAME
103as necessary and place all output files there.
104If the directory already exists and the
105.Fl r
106flag was specified, it will be removed first.
107The output of
108.Nm
109consists of a number of files; for the
110.Tn i386 ,
111they are:
112.Pa ioconf.c ,
113a description
114of what I/O devices are attached to the system;
115.Pa vector.h ,
116definitions of
117macros related to counting interrupts;
118.Pa Makefile ,
119used by
120.Xr make 1
121in building the system;
122header files,
123definitions of
124the number of various devices that will be compiled into the system;
125so-called swap configuration files,
126definitions for
127the disk areas to be used for the root file system
128and system dumps.
129.Pp
130After running
131.Nm config ,
132it is necessary to run
133.Dq Li make depend
134in the directory where the new makefile
135was created.
136.Nm Config
137prints a reminder of this when it completes.
138.Pp
139If any other error messages are produced by
140.Nm config ,
141the problems in the configuration file should be corrected and
142.Nm
143should be run again.
144Attempts to compile a system that had configuration errors
145are likely to fail.
146.Pp
147If the option "INCLUDE_CONFIG_FILE" is used in the configuration file the
148entire input file is embedded in the new kernel.  This means that
149.Xr strings 1
150can be used to extract it from a kernel.
151.Pp
152Strings | grep ___ will print just the configure information.
153.Sh FILES
154.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
155.It Pa /sys/conf/files
156list of common files system is built from
157.It Pa /sys/i386/conf/Makefile.i386
158generic makefile for the
159.Tn i386
160.It Pa /sys/i386/conf/files.i386
161list of
162.Tn i386
163specific files
164.It Pa /sys/i386/conf/devices.i386
165name to major device mapping file for the
166.Tn i386
167.It Pa /sys/i386/conf/files. Ns Em ERNIE
168list of files specific to
169.Em ERNIE
170system
171.El
172.Sh SEE ALSO
173The SYNOPSIS portion of each device in section 4.
174.Rs
175.%T "Building 4.3 BSD UNIX System with Config"
176.Re
177.Sh BUGS
178The line numbers reported in error messages are usually off by one.
179.Sh HISTORY
180The
181.Nm
182command appeared in
183.Bx 4.1 .
184