xref: /original-bsd/usr.sbin/config.new/config.8 (revision e58c8952)
1.\" Copyright (c) 1980, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" %sccs.include.redist.man%
5.\"
6.\"     @(#)config.8	8.2 (Berkeley) 04/19/94
7.\"
8.Dd
9.Dt CONFIG.NEW 8
10.Os BSD 4
11.Sh NAME
12.Nm config.new
13.Nd build kernel compilation directories
14.Sh SYNOPSIS
15.Nm config
16.Op Fl p
17.Ar system-name
18.Sh DESCRIPTION
19.Pp
20This is the new version of the
21.Nm config
22program.
23It understands the more modern autoconfiguration scheme
24used on the SPARC and i386 platforms.
25The old version of config is still used with the
26HP300, DECstation, and derivative platforms.
27Only the version of
28.Nm config
29applicable to the architecture that you are running
30will be installed on your machine.
31.Pp
32.Nm Config
33builds a set of configuration files from the file
34.Ar system-name ,
35which describes
36the system to configure.
37.Pp
38.Nm Config
39should run from the
40.Pa conf
41subdirectory of the top-level machine-specific directory
42of the system source (usually
43.Pa /sys/MACHINE/conf ,
44where
45.Pa MACHINE
46is one of
47.Pa vax ,
48.Pa tahoe ,
49.Pa hp300 ,
50and so forth).
51.Nm Config
52assumes the directory
53.Pa ../../compile
54exists; it places all output files in a subdirectory there,
55creating the subdirectory if necessary.
56The subdirectory name is taken from the
57.Ar system-name ;
58thus, configuring with
59.Dq Li config PICKLE
60will use the directory
61.Pa ../../compile/PICKLE .
62.Pp
63If the
64.Fl p
65option is supplied,
66.Pa .PROF
67is appended to the compilation directory name, and
68.Nm config
69acts as if the lines
70.Dq Li makeoptions PROF="-pg"
71and
72.Dq Li options GPROF
73appeared in the configuration file.
74This will build a system that includes profiling code; see
75.Xr kgmon 8
76and
77.Xr gprof 1 .
78The
79.Fl p
80flag is expected to be used for
81.Dq one-shot
82profiles of existing systems;
83for regular profiling,
84it is probably wiser to make a separate configuration
85containing the
86.Li makeoptions
87line.
88.Pp
89The old undocumented
90.Fl g
91flag is no longer supported.
92Instead, use
93.Dq Li makeoptions DEBUG="-g"
94and (typically)
95.Dq Li options KGDB .
96.Pp
97The output of
98.Nm config
99consists of a number of files, principally
100.Pa ioconf.c ,
101a description of I/O devices that may be attached to the system; and a
102.Pa Makefile ,
103used by
104.Xr make 1
105in building the kernel.
106.Pp
107After running
108.Nm config ,
109it is wise to run
110.Dq Li make depend
111in the directory where the new makefile
112was created.
113.Nm Config
114prints a reminder of this when it completes.
115.Pp
116If
117.Nm config
118stops due to errors, the problems reported should be corrected and
119.Nm config
120should be run again.
121.Nm Config
122attempts to avoid changing the compilation directory
123if there are configuration errors,
124but this code is not well-tested,
125and some problems (such as running out of disk space)
126are unrecoverable.
127.Sh SEE ALSO
128The SYNOPSIS portion of each device in section 4.
129.Rs
130.%T "Building 4.4 BSD Systems with Config"
131.\" .%T "Device Support in 4.4BSD"
132.Re
133.sp
134.Xr config 8
135.Sh HISTORY
136The
137.Nm
138command appeared in
139.Bx 4.1 .
140It was completely revised in
141.Bx 4.4 .
142