xref: /freebsd/usr.sbin/config/config.5 (revision 9bcb741864b96be4bf4cf6b2a1afd2d6a9221c98)
11518d129SJoseph Koshy.\" Copyright (c) 2003 Joseph Koshy
21518d129SJoseph Koshy.\"
31518d129SJoseph Koshy.\" Redistribution and use in source and binary forms, with or without
41518d129SJoseph Koshy.\" modification, are permitted provided that the following conditions
51518d129SJoseph Koshy.\" are met:
61518d129SJoseph Koshy.\" 1. Redistributions of source code must retain the above copyright
71518d129SJoseph Koshy.\"    notice, this list of conditions and the following disclaimer.
81518d129SJoseph Koshy.\" 2. Redistributions in binary form must reproduce the above copyright
91518d129SJoseph Koshy.\"    notice, this list of conditions and the following disclaimer in the
101518d129SJoseph Koshy.\"    documentation and/or other materials provided with the distribution.
111518d129SJoseph Koshy.\"
121518d129SJoseph Koshy.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
131518d129SJoseph Koshy.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
141518d129SJoseph Koshy.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
151518d129SJoseph Koshy.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
161518d129SJoseph Koshy.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
171518d129SJoseph Koshy.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
181518d129SJoseph Koshy.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
191518d129SJoseph Koshy.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
201518d129SJoseph Koshy.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
211518d129SJoseph Koshy.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
221518d129SJoseph Koshy.\" SUCH DAMAGE.
231518d129SJoseph Koshy.\"
241518d129SJoseph Koshy.\" $FreeBSD$
251518d129SJoseph Koshy.\"
2631719b49SWarner Losh.Dd February 9, 2020
271518d129SJoseph Koshy.Dt CONFIG 5
281518d129SJoseph Koshy.Os
291518d129SJoseph Koshy.Sh NAME
301518d129SJoseph Koshy.Nm config
311518d129SJoseph Koshy.Nd kernel configuration file format
321518d129SJoseph Koshy.Sh DESCRIPTION
331518d129SJoseph KoshyA kernel configuration file specifies the configuration of a
341518d129SJoseph Koshy.Fx
351518d129SJoseph Koshykernel.
361518d129SJoseph KoshyIt is processed by
371518d129SJoseph Koshy.Xr config 8
381518d129SJoseph Koshyto create a build environment where a kernel may be built using
391518d129SJoseph Koshy.Xr make 1 .
401518d129SJoseph Koshy.Ss Lexical Structure
411518d129SJoseph KoshyA kernel configuration file comprises a sequence of specification
421518d129SJoseph Koshydirectives.
431518d129SJoseph Koshy.Pp
441518d129SJoseph KoshyA specification directive starts with a keyword at the beginning
451518d129SJoseph Koshyof the line and is followed by additional parameters.
461518d129SJoseph Koshy.Pp
471518d129SJoseph KoshyA specification directive may be terminated by a semicolon
481518d129SJoseph Koshy.Ql \&;
491518d129SJoseph Koshyor by a newline.
501518d129SJoseph KoshyLong input lines may be broken into shorter lines by starting the
511518d129SJoseph Koshysecond and subsequent lines with a white space character.
521518d129SJoseph Koshy.Pp
531518d129SJoseph KoshyCase is significant,
541518d129SJoseph Koshy.Dq Li machine
551518d129SJoseph Koshyand
561518d129SJoseph Koshy.Dq Li MACHINE
571518d129SJoseph Koshyare different tokens.
581518d129SJoseph Koshy.Pp
591518d129SJoseph KoshyA double quote character
601518d129SJoseph Koshy.Ql \[dq]
611518d129SJoseph Koshystarts a quoted string.
621518d129SJoseph KoshyAll characters up to the next quote character form the value
631518d129SJoseph Koshyof the quoted string.
641518d129SJoseph KoshyA
651518d129SJoseph Koshy.Ql \[dq]
661518d129SJoseph Koshycharacter may be inserted into a quoted string by
671518d129SJoseph Koshyusing the sequence
681518d129SJoseph Koshy.Ql \e\[dq] .
691518d129SJoseph Koshy.Pp
701518d129SJoseph KoshyNumbers are specified using
711518d129SJoseph Koshy.Tn C Ns -style
721518d129SJoseph Koshysyntax.
731518d129SJoseph Koshy.Pp
741518d129SJoseph KoshyA
751518d129SJoseph Koshy.Ql #
761518d129SJoseph Koshycharacter starts a comment; all characters from the
771518d129SJoseph Koshy.Ql #
781518d129SJoseph Koshycharacter till the end of the current line are ignored.
791518d129SJoseph Koshy.Pp
801518d129SJoseph KoshyWhitespace between tokens is ignored, except inside quoted strings.
811518d129SJoseph KoshyWhitespace following a comment line is ignored.
821518d129SJoseph Koshy.Ss Configuration Directives
831518d129SJoseph KoshyKernel configuration directives may appear in any order
841518d129SJoseph Koshyin a kernel configuration file.
851518d129SJoseph KoshyDirectives are processed in order of appearance with subsequent
861518d129SJoseph Koshydirective lines overriding the effect of prior ones.
871518d129SJoseph Koshy.Pp
881518d129SJoseph KoshyThe list of keywords and their meanings are as follows:
899c398cc7SUlrich Spörlein.Pp
90198423bdSRuslan Ermilov.Bl -tag -width indent -compact
911518d129SJoseph Koshy.\" -------- CPU --------
921518d129SJoseph Koshy.It Ic cpu Ar cputype
931518d129SJoseph KoshySpecify the CPU this kernel will run on.
941518d129SJoseph KoshyThere can be more than one
951518d129SJoseph Koshy.Ic cpu
961518d129SJoseph Koshydirective in a configuration file.
971518d129SJoseph KoshyThe allowed list of CPU names is architecture specific and is
981518d129SJoseph Koshydefined in the file
991518d129SJoseph Koshy.Pa sys/conf/options. Ns Aq Ar arch .
1001518d129SJoseph Koshy.\" -------- DEVICE --------
101198423bdSRuslan Ermilov.Pp
102b83d741bSDag-Erling Smørgrav.It Ic device Ar name Op , Ar name Op ...
103b83d741bSDag-Erling Smørgrav.It Ic devices Ar name Op , Ar name Op ...
104b83d741bSDag-Erling SmørgravConfigures the specified devices
1051518d129SJoseph Koshyfor inclusion into the kernel image.
1061518d129SJoseph KoshyDevices that are common to all architectures are
1071518d129SJoseph Koshydefined in the file
1081518d129SJoseph Koshy.Pa sys/conf/files .
1091518d129SJoseph KoshyDevices that are specific to architecture
1101518d129SJoseph Koshy.Ar arch
1111518d129SJoseph Koshyare defined in the file
1121518d129SJoseph Koshy.Pa sys/conf/files. Ns Aq Ar arch .
1131518d129SJoseph Koshy.\" -------- ENV --------
114198423bdSRuslan Ermilov.Pp
1151518d129SJoseph Koshy.It Ic env Ar filename
1161518d129SJoseph KoshySpecifies a filename containing a kernel environment definition.
11739d44f7fSKyle Evans.Pp
11839d44f7fSKyle EvansThe kernel will augment this compiled-in environment with the environment
11939d44f7fSKyle Evansprepared for it at boot time by
1201518d129SJoseph Koshy.Xr loader 8 .
12139d44f7fSKyle EvansEnvironment variables specified in the
12239d44f7fSKyle Evans.Xr loader 8
12339d44f7fSKyle Evansenvironment will take precedence over environment variables specified in
12439d44f7fSKyle Evans.Ar filename ,
12539d44f7fSKyle Evansand environment variables specified in the dynamic environment take precedence
12639d44f7fSKyle Evansover both of these.
12739d44f7fSKyle Evans.Pp
12844314c35SKyle Evans.Va loader_env.disabled=1
12944314c35SKyle Evansmay be specified in the static environment to disable the
13044314c35SKyle Evans.Xr loader 8
13144314c35SKyle Evansenvironment.
13244314c35SKyle EvansDisabling the
13344314c35SKyle Evans.Xr loader 8
13444314c35SKyle Evansshould be done with caution and due consideration for whether or not it supplies
13544314c35SKyle Evansenvironment variables needed for properly booting the system.
13644314c35SKyle Evans.Pp
13739d44f7fSKyle Evans.Va static_env.disabled=1
13839d44f7fSKyle Evansmay be specified in the
13939d44f7fSKyle Evans.Xr loader 8
14044314c35SKyle Evansenvironment to disable use of the static environment.
14139d44f7fSKyle EvansThis option has no effect if specified in any environment after the
14239d44f7fSKyle Evans.Xr loader 8
14339d44f7fSKyle Evansenvironment is processed.
14444314c35SKyle EvansThis option is not usable in conjunction with
14544314c35SKyle Evans.Va loader_env.disabled .
1461518d129SJoseph Koshy.Pp
1471518d129SJoseph KoshyThis directive is useful for setting kernel tunables in
1481518d129SJoseph Koshyembedded environments that do not start from
1491518d129SJoseph Koshy.Xr loader 8 .
1504edfa908SKyle Evans.Pp
1514edfa908SKyle EvansAll
1524edfa908SKyle Evans.Ic env
1534edfa908SKyle Evansand
1544edfa908SKyle Evans.Ic envvar
1556ffdd5efSKyle Evansdirectives will be processed and added to the static environment in reversed
1566ffdd5efSKyle Evansorder of appearance so that later specified variables properly override earlier
1576ffdd5efSKyle Evansspecified variables.
1584edfa908SKyle EvansNote that within
1594edfa908SKyle Evans.Ar filename ,
1604edfa908SKyle Evansthe first appearance of a given variable will be the first one seen by the
1614edfa908SKyle Evanskernel, effectively shadowing any later appearances of the same variable within
1624edfa908SKyle Evans.Ar filename .
1633b31596dSKyle Evans.\" -------- ENVVAR --------
1643b31596dSKyle Evans.Pp
1653b31596dSKyle Evans.It Ic envvar Ar setting
1663b31596dSKyle EvansSpecifies an individual environment setting to be added to the kernel's
1673b31596dSKyle Evanscompiled-in environment.
1683b31596dSKyle Evans.Ar setting
1693b31596dSKyle Evansmust be of the form
1703b31596dSKyle Evans.Dq Va name=value .
1713b31596dSKyle EvansOptional quotes are supported in both name and value.
1724edfa908SKyle Evans.Pp
1734edfa908SKyle EvansAll
1743b31596dSKyle Evans.Ic env
1754edfa908SKyle Evansand
1764edfa908SKyle Evans.Ic envvar
1776ffdd5efSKyle Evansdirectives will be processed and added to the static environment in reversed
1786ffdd5efSKyle Evansorder of appearance so that later specified variables properly override earlier
1796ffdd5efSKyle Evansspecified variables.
180fc0c46e3SOlivier Houchard.\" -------- FILES --------
181198423bdSRuslan Ermilov.Pp
182fc0c46e3SOlivier Houchard.It Ic files Ar filename
183fc0c46e3SOlivier HouchardSpecifies a file containing a list of files specific to that kernel
184bf7f20c2SRuslan Ermilovconfiguration file (a la
185bf7f20c2SRuslan Ermilov.Pa files. Ns Aq Ar arch ) .
1861518d129SJoseph Koshy.\" -------- HINTS --------
187198423bdSRuslan Ermilov.Pp
1881518d129SJoseph Koshy.It Ic hints Ar filename
1891518d129SJoseph KoshySpecifies a file to load a static device configuration specification
1901518d129SJoseph Koshyfrom.
1911518d129SJoseph KoshyFrom
1921518d129SJoseph Koshy.Fx 5.0
1931518d129SJoseph Koshyonwards, the kernel reads the system's device configuration at boot
1941518d129SJoseph Koshytime (see
1951518d129SJoseph Koshy.Xr device.hints 5 ) .
1961518d129SJoseph KoshyThis directive configures the kernel to use the static device configuration
1971518d129SJoseph Koshylisted in
19839d44f7fSKyle Evans.Ar filename .
19939d44f7fSKyle Evans.Pp
20039d44f7fSKyle EvansHints provided in this static device configuration will be overwritten in the
20139d44f7fSKyle Evansorder in which they're encountered.
20239d44f7fSKyle EvansHints in the compiled-in environment takes precedence over compiled-in hints,
20339d44f7fSKyle Evansand hints in the environment prepared for the kernel by
20439d44f7fSKyle Evans.Xr loader 8
20539d44f7fSKyle Evanstakes precedence over hints in the compiled-in environment.
20639d44f7fSKyle Evans.Pp
20739d44f7fSKyle EvansOnce the dynamic environment becomes available, all compiled-in hints will be
20839d44f7fSKyle Evansadded to the dynamic environment if they do not already have an override in
20939d44f7fSKyle Evansthe dynamic environment.
21039d44f7fSKyle EvansThe dynamic environment will then be used for all searches of hints.
21139d44f7fSKyle Evans.Pp
21239d44f7fSKyle Evans.Va static_hints.disabled=1
21339d44f7fSKyle Evansmay be specified in either a compiled-in environment or the
21439d44f7fSKyle Evans.Xr loader 8
21539d44f7fSKyle Evansenvironment to disable use of these hints files.
21639d44f7fSKyle EvansThis option has no effect if specified in any environment after the
21739d44f7fSKyle Evans.Xr loader 8
21839d44f7fSKyle Evansenvironment is processed.
21939d44f7fSKyle Evans.Pp
2201518d129SJoseph KoshyThe file
2211518d129SJoseph Koshy.Ar filename
2221518d129SJoseph Koshymust conform to the syntax specified by
2231518d129SJoseph Koshy.Xr device.hints 5 .
2245fd6a6b3SWarner LoshMultiple hints lines are allowed.
2256ffdd5efSKyle EvansThe resulting hints will be the files concatenated in reverse order of
2266ffdd5efSKyle Evansappearance so that hints in later files properly override hints in earlier
2276ffdd5efSKyle Evansfiles.
2281518d129SJoseph Koshy.\" -------- IDENT --------
229198423bdSRuslan Ermilov.Pp
2301518d129SJoseph Koshy.It Ic ident Ar name
2311518d129SJoseph KoshySet the kernel name to
2321518d129SJoseph Koshy.Ar name .
2331518d129SJoseph KoshyAt least one
2341518d129SJoseph Koshy.Ic ident
2351518d129SJoseph Koshydirective is required.
2361518d129SJoseph Koshy.\" -------- INCLUDE --------
237198423bdSRuslan Ermilov.Pp
2381518d129SJoseph Koshy.It Ic include Ar filename
2391518d129SJoseph KoshyRead subsequent text from file
2401518d129SJoseph Koshy.Ar filename
2411518d129SJoseph Koshyand return to the current file after
2421518d129SJoseph Koshy.Ar filename
2431518d129SJoseph Koshyis successfully processed.
2441518d129SJoseph Koshy.\" -------- MACHINE --------
245198423bdSRuslan Ermilov.Pp
2465fd6a6b3SWarner Losh.It Ic machine Ar arch Op Ar cpuarch
2471518d129SJoseph KoshySpecifies the architecture of the machine the kernel is being
2481518d129SJoseph Koshycompiled for.
2491518d129SJoseph KoshyLegal values for
2501518d129SJoseph Koshy.Ar arch
2511518d129SJoseph Koshyinclude:
2521518d129SJoseph Koshy.Pp
2531518d129SJoseph Koshy.Bl -tag -width ".Cm powerpc" -compact
25431719b49SWarner Losh.It Cm arm64
25531719b49SWarner LoshThe 64-bit ARM application architecture.
2565fd6a6b3SWarner Losh.It Cm arm
25731719b49SWarner LoshThe ARM architecture
2581518d129SJoseph Koshy.It Cm amd64
2591518d129SJoseph KoshyThe AMD x86-64 architecture.
2601518d129SJoseph Koshy.It Cm i386
2611518d129SJoseph KoshyThe Intel x86 based PC architecture.
2625fd6a6b3SWarner Losh.It Cm mips
2635fd6a6b3SWarner LoshThe MIPS architecture.
2641518d129SJoseph Koshy.It Cm powerpc
2651518d129SJoseph KoshyThe IBM PowerPC architecture.
26631719b49SWarner Losh.It Cm riscv
26731719b49SWarner LoshThe RISC-V architecture.
2681518d129SJoseph Koshy.El
2691518d129SJoseph Koshy.Pp
2704bb7c659SJoseph KoshyIf argument
2715fd6a6b3SWarner Losh.Ar cpuarch
2724bb7c659SJoseph Koshyis specified, it points
2734bb7c659SJoseph Koshy.Xr config 8
2745fd6a6b3SWarner Loshto the cpu architecture of the machine.
2755fd6a6b3SWarner LoshWhen
2765fd6a6b3SWarner Losh.Ar cpuarch
2775fd6a6b3SWarner Loshis not specified, it is assumed to be the same as
2785fd6a6b3SWarner Losh.Ar arch .
2795fd6a6b3SWarner Losh.Ar arch
2805fd6a6b3SWarner Loshcorresponds to MACHINE.
2815fd6a6b3SWarner Losh.Ar cpuarch
2825fd6a6b3SWarner Loshcorresponds to MACHINE_ARCH.
2834bb7c659SJoseph Koshy.Pp
2841518d129SJoseph KoshyA kernel configuration file may have only one
2851518d129SJoseph Koshy.Ic machine
286*9bcb7418SWarner Loshdirective, unless the second one matches the
287*9bcb7418SWarner Loshmachine argument in the first one exactly.
2881518d129SJoseph Koshy.\" -------- MAKEOPTION --------
289198423bdSRuslan Ermilov.Pp
290198423bdSRuslan Ermilov.It Ic makeoption Ar options
2911518d129SJoseph Koshy.It Ic makeoptions Ar options
2921518d129SJoseph KoshyAdd
2931518d129SJoseph Koshy.Ar options
2941518d129SJoseph Koshyto the generated makefile.
2951518d129SJoseph Koshy.Pp
2961518d129SJoseph KoshyThe
2971518d129SJoseph Koshy.Ar options
2981518d129SJoseph Koshyargument is a comma separated list of one or more option
2991518d129SJoseph Koshyspecifications.
3001518d129SJoseph KoshyEach option specification has the form
3011518d129SJoseph Koshy.Pp
3021518d129SJoseph Koshy.D1 Ar MakeVariableName Ns Op = Ns Ar Value
3032880daebSAndrew Thompson.D1 Ar MakeVariableName Ns += Ns Ar Value
3041518d129SJoseph Koshy.Pp
3051518d129SJoseph Koshyand results in the appropriate
3061518d129SJoseph Koshy.Xr make 1
3071518d129SJoseph Koshyvariable definition being inserted into the generated makefile.
3081518d129SJoseph KoshyIf only the name of the
3091518d129SJoseph Koshy.Xr make 1
3101518d129SJoseph Koshyvariable is specified,
3111518d129SJoseph Koshy.Ar value
3121518d129SJoseph Koshyis assumed to be the empty string.
3131518d129SJoseph Koshy.Pp
3141518d129SJoseph KoshyExample:
3151518d129SJoseph Koshy.Bd -literal -offset indent -compact
3162880daebSAndrew Thompsonmakeoptions MYMAKEOPTION="foo"
3172880daebSAndrew Thompsonmakeoptions MYMAKEOPTION+="bar"
3181518d129SJoseph Koshymakeoptions MYNULLMAKEOPTION
3191518d129SJoseph Koshy.Ed
3201518d129SJoseph Koshy.\" -------- MAXUSERS --------
321198423bdSRuslan Ermilov.Pp
3221518d129SJoseph Koshy.It Ic maxusers Ar number
3231518d129SJoseph KoshyThis optional directive is used to configure the size
3241518d129SJoseph Koshyof some kernel data structures.
3251518d129SJoseph KoshyThe parameter
3261518d129SJoseph Koshy.Ar number
3271518d129SJoseph Koshycan be 0 (the default) or an integer greater than or equal to 2.
3281518d129SJoseph KoshyA value of 0 indicates that the kernel should configure
3291518d129SJoseph Koshyits data structures according to the size of available
3301518d129SJoseph Koshyphysical memory.
3311518d129SJoseph KoshyIf auto configuration is requested, the kernel will set
3321518d129SJoseph Koshythis tunable to a value between 32 and 384.
3331518d129SJoseph Koshy.Pp
3341518d129SJoseph KoshyAs explained in
3351518d129SJoseph Koshy.Xr tuning 7 ,
3361518d129SJoseph Koshythis tunable can also be set at boot time using
3371518d129SJoseph Koshy.Xr loader 8 .
338198423bdSRuslan Ermilov.\" -------- NOCPU --------
339198423bdSRuslan Ermilov.Pp
340198423bdSRuslan Ermilov.It Ic nocpu Ar cputype
341198423bdSRuslan ErmilovRemove the specified CPU
342198423bdSRuslan Ermilovfrom the list of previously selected CPUs.
343198423bdSRuslan ErmilovThis directive can be used to cancel the effect of
344198423bdSRuslan Ermilov.Ic cpu
345198423bdSRuslan Ermilovdirectives in files included using
346198423bdSRuslan Ermilov.Ic include .
347b83d741bSDag-Erling Smørgrav.\" -------- NODEVICE --------
348198423bdSRuslan Ermilov.Pp
349b83d741bSDag-Erling Smørgrav.It Ic nodevice Ar name Op , Ar name Op ...
350b83d741bSDag-Erling Smørgrav.It Ic nodevices Ar name Op , Ar name Op ...
351b83d741bSDag-Erling SmørgravRemove the specified devices
352b83d741bSDag-Erling Smørgravfrom the list of previously selected devices.
353b83d741bSDag-Erling SmørgravThis directive can be used to cancel the effects of
354b83d741bSDag-Erling Smørgrav.Ic device
355b83d741bSDag-Erling Smørgravor
356b83d741bSDag-Erling Smørgrav.Ic devices
357b83d741bSDag-Erling Smørgravdirectives in files included using
358b83d741bSDag-Erling Smørgrav.Ic include .
3591518d129SJoseph Koshy.\" -------- NOMAKEOPTION --------
360198423bdSRuslan Ermilov.Pp
3611518d129SJoseph Koshy.It Ic nomakeoption Ar name
362198423bdSRuslan Ermilov.It Ic nomakeoptions Ar name
3631518d129SJoseph KoshyRemoves previously defined
3641518d129SJoseph Koshy.Xr make 1
3651518d129SJoseph Koshyoption
3661518d129SJoseph Koshy.Ar name
3671518d129SJoseph Koshyfrom the kernel build.
3681518d129SJoseph KoshyThis directive can be used to cancel the effects of
3691518d129SJoseph Koshy.Ic makeoption
3701518d129SJoseph Koshydirectives in files included using
3711518d129SJoseph Koshy.Ic include .
3721518d129SJoseph Koshy.\" -------- NOOPTION --------
373198423bdSRuslan Ermilov.Pp
374b83d741bSDag-Erling Smørgrav.It Ic nooption Ar name Op , Ar name Op ...
375b83d741bSDag-Erling Smørgrav.It Ic nooptions Ar name Op , Ar name Op ...
376b83d741bSDag-Erling SmørgravRemove the specified kernel options
3771518d129SJoseph Koshyfrom the list of previously defined options.
3781518d129SJoseph KoshyThis directive can be used to cancel the effects of
379b83d741bSDag-Erling Smørgrav.Ic option
380b83d741bSDag-Erling Smørgravor
3811518d129SJoseph Koshy.Ic options
3821518d129SJoseph Koshydirectives in files included using
3831518d129SJoseph Koshy.Ic include .
3841518d129SJoseph Koshy.\" -------- OPTIONS --------
385198423bdSRuslan Ermilov.Pp
386b83d741bSDag-Erling Smørgrav.It Ic option Ar optionspec Op , Ar optionspec Op ...
387b83d741bSDag-Erling Smørgrav.It Ic options Ar optionspec Op , Ar optionspec Op ...
3881518d129SJoseph KoshyAdd compile time kernel options to the kernel build.
3891518d129SJoseph KoshyEach option specification has the form
3901518d129SJoseph Koshy.Pp
391b83d741bSDag-Erling Smørgrav.D1 Ar name Ns Op = Ns Ar value
3921518d129SJoseph Koshy.Pp
3931518d129SJoseph KoshyIf
394b83d741bSDag-Erling Smørgrav.Ar value
3951518d129SJoseph Koshyis not specified, it is assumed to be
3961518d129SJoseph Koshy.Dv NULL .
3971518d129SJoseph KoshyOptions common to all architectures are specified in
3981518d129SJoseph Koshythe file
3991518d129SJoseph Koshy.Pa sys/conf/options .
4001518d129SJoseph KoshyOptions specific to architecture
4011518d129SJoseph Koshy.Ar arch
4021518d129SJoseph Koshyare specified in the file
4031518d129SJoseph Koshy.Pa sys/conf/options. Ns Aq Ar arch .
4041518d129SJoseph Koshy.\" -------- PROFILE --------
405198423bdSRuslan Ermilov.Pp
4061518d129SJoseph Koshy.It Ic profile Ar number
4071518d129SJoseph KoshyEnables kernel profiling if
4081518d129SJoseph Koshy.Ar number
4091518d129SJoseph Koshyis non-zero.
4101518d129SJoseph KoshyIf
4111518d129SJoseph Koshy.Ar number
4121518d129SJoseph Koshyis 2 or greater, the kernel is configured for
4131518d129SJoseph Koshyhigh-resolution profiling.
4141518d129SJoseph KoshyKernels can also be built for profiling using the
4151518d129SJoseph Koshy.Fl p
4161518d129SJoseph Koshyoption to
4171518d129SJoseph Koshy.Xr config 8 .
4181518d129SJoseph Koshy.El
4191518d129SJoseph Koshy.Ss Obsolete Directives
4201518d129SJoseph KoshyThe following kernel configuration directives are obsolete.
4211518d129SJoseph Koshy.Bl -tag -width indent
4221518d129SJoseph Koshy.\" -------- CONFIG --------
4231518d129SJoseph Koshy.It Ic config
4241518d129SJoseph KoshyThis directive was used to specify the device to be used for the root
4251518d129SJoseph Koshyfile system.
4261518d129SJoseph KoshyFrom
4271518d129SJoseph Koshy.Fx 4.0
4281518d129SJoseph Koshyonwards, this information is passed to a booting kernel by
4291518d129SJoseph Koshy.Xr loader 8 .
4301518d129SJoseph Koshy.El
4311518d129SJoseph Koshy.Sh FILES
4321518d129SJoseph Koshy.Bl -tag -width ".Pa sys/conf/Makefile. Ns Ar arch" -compact
4331518d129SJoseph Koshy.It Pa sys/compile/ Ns Ar NAME
4341518d129SJoseph KoshyCompile directory created from a kernel configuration.
4351518d129SJoseph Koshy.It Pa sys/conf/Makefile. Ns Ar arch
4361518d129SJoseph Koshy.Pa Makefile
4371518d129SJoseph Koshyfragments for architecture
4381518d129SJoseph Koshy.Ar arch .
4391518d129SJoseph Koshy.It Pa sys/conf/files
4401518d129SJoseph KoshyDevices common to all architectures.
4411518d129SJoseph Koshy.It Pa sys/conf/files. Ns Ar arch
4421518d129SJoseph KoshyDevices for architecture
4431518d129SJoseph Koshy.Ar arch .
4441518d129SJoseph Koshy.It Pa sys/conf/options
4451518d129SJoseph KoshyOptions common to all architectures.
4461518d129SJoseph Koshy.It Pa sys/conf/options. Ns Ar arch
4471518d129SJoseph KoshyOptions for architecture
4481518d129SJoseph Koshy.Ar arch .
4491518d129SJoseph Koshy.El
4501518d129SJoseph Koshy.Sh SEE ALSO
4511518d129SJoseph Koshy.Xr kenv 1 ,
4521518d129SJoseph Koshy.Xr make 1 ,
4531518d129SJoseph Koshy.Xr device.hints 5 ,
4541518d129SJoseph Koshy.Xr loader.conf 5 ,
4551518d129SJoseph Koshy.Xr config 8 ,
4561518d129SJoseph Koshy.Xr kldload 8 ,
4571518d129SJoseph Koshy.Xr loader 8
4581518d129SJoseph Koshy.Rs
4591518d129SJoseph Koshy.%T "Building 4.4BSD Kernels with Config"
4601518d129SJoseph Koshy.%A "Samuel J. Leffler"
4611518d129SJoseph Koshy.%A "Michael J. Karels"
4621518d129SJoseph Koshy.Re
4631518d129SJoseph Koshy.Sh HISTORY
4641518d129SJoseph KoshyThe
4651518d129SJoseph Koshy.Xr config 8
4661518d129SJoseph Koshyutility first appeared in
4671518d129SJoseph Koshy.Bx 4.1 ,
4681518d129SJoseph Koshyand was subsequently revised in
4691518d129SJoseph Koshy.Bx 4.4 .
4701518d129SJoseph Koshy.Pp
4711518d129SJoseph KoshyThe kernel configuration mechanism changed further in
4721518d129SJoseph Koshy.Fx 4.0
4731518d129SJoseph Koshyand
4741518d129SJoseph Koshy.Fx 5.0 ,
4756203e1eaSJoseph Koshymoving toward an architecture supporting dynamic kernel
4761518d129SJoseph Koshyconfiguration.
477