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