xref: /freebsd/usr.sbin/config/config.8 (revision 5ebc7e6281887681c3a348a5a4c902e262ccd656)
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 .
91.It Fl n
92If the
93.Fl n
94flag is specified,
95.Nm config
96will not remove the old compile directory (see below).
97.It Ar SYSTEM_NAME
98specifies the name of the system configuration file
99containing device specifications, configuration options
100and other system parameters for one system configuration.
101.El
102.Pp
103.Nm Config
104should be run from the
105.Pa conf
106subdirectory of the system source (usually
107.Pa /sys/ARCH/conf ) .
108.Nm Config
109will create the directory
110.Pa ../../compile/SYSTEM_NAME
111as necessary and place all output files there.
112If the directory already exists, it will be removed
113first unless the
114.Pa -n
115flag was specified or the environment variable
116.Nm NO_CONFIG_CLOBBER
117is set.
118The output of
119.Nm config
120consists of a number of files; for the
121.Tn i386 ,
122they are:
123.Pa ioconf.c ,
124a description
125of what I/O devices are attached to the system;
126.Pa vector.h ,
127definitions of
128macros related to counting interrupts;
129.Pa Makefile ,
130used by
131.Xr make 1
132in building the system;
133header files,
134definitions of
135the number of various devices that will be compiled into the system;
136swap configuration files,
137definitions for
138the disk areas to be used for swapping, the root file system,
139argument processing, and system dumps.
140.Pp
141After running
142.Nm config ,
143it is necessary to run
144.Dq Li make depend
145in the directory where the new makefile
146was created.
147.Nm Config
148prints a reminder of this when it completes.
149.Pp
150If any other error messages are produced by
151.Nm config ,
152the problems in the configuration file should be corrected and
153.Nm config
154should be run again.
155Attempts to compile a system that had configuration errors
156are likely to fail.
157.Sh FILES
158.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
159.It Pa /sys/conf/files
160list of common files system is built from
161.It Pa /sys/i386/conf/Makefile.i386
162generic makefile for the
163.Tn i386
164.It Pa /sys/i386/conf/files.i386
165list of
166.Tn i386
167specific files
168.It Pa /sys/i386/conf/devices.i386
169name to major device mapping file for the
170.Tn i386
171.It Pa /sys/i386/conf/files. Ns Em ERNIE
172list of files specific to
173.Em ERNIE
174system
175.El
176.Sh SEE ALSO
177The SYNOPSIS portion of each device in section 4.
178.Rs
179.%T "Building 4.3 BSD UNIX System with Config"
180.Re
181.Sh BUGS
182The line numbers reported in error messages are usually off by one.
183.Sh HISTORY
184The
185.Nm
186command appeared in
187.Bx 4.1 .
188