CONFIG.NEW(8)

NAME
config.new - build kernel compilation directories

SYNOPSIS
config [-p] system-name

DESCRIPTION

This is the new version of the config program. It understands the more modern autoconfiguration scheme used on the SPARC and i386 platforms. The old version of config is still used with the HP300, DECstation, and derivative platforms. Only the version of config applicable to the architecture that you are running will be installed on your machine.

Config builds a set of configuration files from the file system-name, which describes the system to configure.

Config should run from the conf subdirectory of the top-level machine-specific directory of the system source (usually /sys/MACHINE/conf, where MACHINE is one of vax, tahoe, hp300, and so forth). Config assumes the directory ../../compile exists; it places all output files in a subdirectory there, creating the subdirectory if necessary. The subdirectory name is taken from the system-name; thus, configuring with “config PICKLE” will use the directory ../../compile/PICKLE.

If the -p option is supplied, .PROF is appended to the compilation directory name, and config acts as if the lines “makeoptions PROF="-pg"” and “options GPROF” appeared in the configuration file. This will build a system that includes profiling code; see kgmon(8) and gprof(1). The -p flag is expected to be used for “one-shot” profiles of existing systems; for regular profiling, it is probably wiser to make a separate configuration containing the makeoptions line.

The old undocumented -g flag is no longer supported. Instead, use “makeoptions DEBUG="-g"” and (typically) “options KGDB”.

The output of config consists of a number of files, principally ioconf.c, a description of I/O devices that may be attached to the system; and a Makefile, used by make(1) in building the kernel.

After running config, it is wise to run “make depend” in the directory where the new makefile was created. Config prints a reminder of this when it completes.

If config stops due to errors, the problems reported should be corrected and config should be run again. Config attempts to avoid changing the compilation directory if there are configuration errors, but this code is not well-tested, and some problems (such as running out of disk space) are unrecoverable.

SEE ALSO
The SYNOPSIS portion of each device in section 4. Building 4.4 BSD Systems with Config.

config(8)

HISTORY
The config.new command appeared in 4.1BSD. It was completely revised in 4.4BSD.