xref: /freebsd/usr.sbin/config/config.8 (revision 8e537d168674d6b65869f73c20813001af875738)
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 gpn
43.Ar SYSTEM_NAME
44.Sh DESCRIPTION
45.Pp
46This is the old version of the
47.Nm config
48program.
49It understands the old autoconfiguration scheme
50used on the HP300, i386, DECstation, and derivative platforms.
51The new version of config is used with the
52SPARC platform.
53Only the version of
54.Nm config
55applicable to the architecture that you are running
56will be installed on your machine.
57.Pp
58.Nm Config
59builds a set of system configuration files from the file
60.Ar SYSTEM_NAME
61which describes
62the system to configure.
63A second file
64tells
65.Nm config
66what files are needed to generate a system and
67can be augmented by configuration specific set of files
68that give alternate files for a specific machine.
69(see the
70.Sx FILES
71section below)
72.Pp
73Available options and operands:
74.Pp
75.Bl -tag -width SYSTEM_NAME
76.It Fl g
77If the
78.Fl g
79option is supplied,
80.Nm config
81will configure a system for debugging.
82.It Fl p
83If the
84.Fl p
85option is supplied,
86.Nm config
87will configure a system for profiling; for example,
88.Xr kgmon 8
89and
90.Xr gprof 1 .
91If two or more
92.Fl p
93options are supplied,
94.Nm config
95will configure a system for high resolution profiling.
96.It Fl n
97If the
98.Fl n
99flag is specified,
100.Nm config
101will not remove the old compile directory (see below).
102.It Ar SYSTEM_NAME
103specifies the name of the system configuration file
104containing device specifications, configuration options
105and other system parameters for one system configuration.
106.El
107.Pp
108.Nm Config
109should be run from the
110.Pa conf
111subdirectory of the system source (usually
112.Pa /sys/ARCH/conf ) .
113.Nm Config
114will create the directory
115.Pa ../../compile/SYSTEM_NAME
116as necessary and place all output files there.
117If the directory already exists, it will be removed
118first unless the
119.Pa -n
120flag was specified or the environment variable
121.Nm NO_CONFIG_CLOBBER
122is set.
123The output of
124.Nm config
125consists of a number of files; for the
126.Tn i386 ,
127they are:
128.Pa ioconf.c ,
129a description
130of what I/O devices are attached to the system;
131.Pa vector.h ,
132definitions of
133macros related to counting interrupts;
134.Pa Makefile ,
135used by
136.Xr make 1
137in building the system;
138header files,
139definitions of
140the number of various devices that will be compiled into the system;
141swap configuration files,
142definitions for
143the disk areas to be used for swapping, the root file system,
144argument processing, and system dumps.
145.Pp
146After running
147.Nm config ,
148it is necessary to run
149.Dq Li make depend
150in the directory where the new makefile
151was created.
152.Nm Config
153prints a reminder of this when it completes.
154.Pp
155If any other error messages are produced by
156.Nm config ,
157the problems in the configuration file should be corrected and
158.Nm config
159should be run again.
160Attempts to compile a system that had configuration errors
161are likely to fail.
162.Pp
163If the option "INCLUDE_CONFIG_FILE" is used in the configuration file the
164entire input file is embedded in the new kernel.  This means that
165.Xr strings 1
166can be used to extract it from a kernel.
167.Pp
168strings | grep ___ will print just the configure information.
169.Sh FILES
170.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
171.It Pa /sys/conf/files
172list of common files system is built from
173.It Pa /sys/i386/conf/Makefile.i386
174generic makefile for the
175.Tn i386
176.It Pa /sys/i386/conf/files.i386
177list of
178.Tn i386
179specific files
180.It Pa /sys/i386/conf/devices.i386
181name to major device mapping file for the
182.Tn i386
183.It Pa /sys/i386/conf/files. Ns Em ERNIE
184list of files specific to
185.Em ERNIE
186system
187.El
188.Sh SEE ALSO
189The SYNOPSIS portion of each device in section 4.
190.Rs
191.%T "Building 4.3 BSD UNIX System with Config"
192.Re
193.Sh BUGS
194The line numbers reported in error messages are usually off by one.
195.Sh HISTORY
196The
197.Nm
198command appeared in
199.Bx 4.1 .
200