CONFIG(8)

NAME
config - build system configuration files

SYNOPSIS
config [-gpn] SYSTEM_NAME

DESCRIPTION

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

Config builds a set of system configuration files from the file SYSTEM_NAME which describes the system to configure. A second file tells config what files are needed to generate a system and can be augmented by configuration specific set of files that give alternate files for a specific machine. (see the FILES section below)

Available options and operands:

-g  If the -g option is supplied, config will configure a system for debugging.

-p  If the -p option is supplied, config will configure a system for profiling; for example, kgmon(8) and gprof(1). If two or more -p options are supplied, config will configure a system for high resolution profiling.

-n  If the -n flag is specified, config will not remove the old compile directory (see below).

SYSTEM_NAME
    specifies the name of the system configuration file containing device specifications, configuration options and other system parameters for one system configuration.

Config should be run from the conf subdirectory of the system source (usually /sys/ARCH/conf). Config will create the directory ../../compile/SYSTEM_NAME as necessary and place all output files there. If the directory already exists, it will be removed first unless the -n flag was specified or the environment variable NO_CONFIG_CLOBBER is set. The output of config consists of a number of files; for the i386, they are: ioconf.c, a description of what I/O devices are attached to the system; vector.h, definitions of macros related to counting interrupts; Makefile, used by make(1) in building the system; header files, definitions of the number of various devices that will be compiled into the system; swap configuration files, definitions for the disk areas to be used for swapping, the root file system, argument processing, and system dumps.

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

If any other error messages are produced by config, the problems in the configuration file should be corrected and config should be run again. Attempts to compile a system that had configuration errors are likely to fail.

If the option "INCLUDE_CONFIG_FILE" is used in the configuration file the entire input file is embedded in the new kernel. This means that strings(1) can be used to extract it from a kernel.

strings | grep ___ will print just the configure information.

FILES
/sys/conf/files
    list of common files system is built from
/sys/i386/conf/Makefile.i386
    generic makefile for the i386
/sys/i386/conf/files.i386
    list of i386 specific files
/sys/i386/conf/devices.i386
    name to major device mapping file for the i386
/sys/i386/conf/files.ERNIE
    list of files specific to ERNIE system

SEE ALSO
The SYNOPSIS portion of each device in section 4. Building 4.3 BSD UNIX System with Config.

BUGS
The line numbers reported in error messages are usually off by one.

HISTORY
The config command appeared in 4.1BSD.