1.\" 2.\" Copyright (c) 2007 3.\" The DragonFly Project. All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in 13.\" the documentation and/or other materials provided with the 14.\" distribution. 15.\" 3. Neither the name of The DragonFly Project nor the names of its 16.\" contributors may be used to endorse or promote products derived 17.\" from this software without specific, prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 22.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 23.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 24.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 25.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 27.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 29.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.\" $DragonFly: src/share/man/man5/kernconf.5,v 1.8 2008/07/16 01:02:07 thomas Exp $ 33.\" 34.Dd November 14, 2009 35.Dt KERNCONF 5 36.Os 37.Sh NAME 38.Nm kernconf 39.Nd kernel configuration file 40.Sh SYNOPSIS 41.Cd cpu ... 42.Cd device ... 43.Cd ident ... 44.Cd machine ... 45.Cd machine-arch ... 46.Cd makeoptions ... 47.Cd maxusers ... 48.Cd options ... 49.Cd platform ... 50.Cd pseudo-device ... 51.Sh DESCRIPTION 52This manual page describes the structure of the kernel configuration file. 53It is processed by 54.Xr config 8 55to create a build environment where a kernel may be built using 56.Xr make 1 . 57See 58.Xr build 7 59for information on how to build kernels. 60.Pp 61Each line starts with a keyword at the beginning of the line and is 62followed by additional parameters. 63Long input lines may be broken into shorter lines by starting the 64second and subsequent lines with a white space character. 65Numbers are specified using 66.Tn C Ns -style 67syntax. 68Blank lines are ignored. 69The 70.Sq # 71character is interpreted as a comment and is ignored along with everything 72that follows it on the same line. 73.Sh KEYWORDS 74The following keywords are recognized in a configuration file: 75.Pp 76.Bl -tag -width indent -compact 77.It Sy cpu Ar name 78This system is to run on the CPU type 79.Ar name . 80Legal types are, for 81.Sy i386 : 82.Sy I486_CPU 83(i486), 84.Sy I586_CPU 85.Tn ( Pentium ) , 86and 87.Sy I686_CPU 88.Tn ( Pentium Pro ) ; 89for 90.Sy x86_64 : 91.Sy HAMMER_CPU 92.Tn ( x86-64 ) . 93More than one CPU type specification can appear in a configuration file. 94.Pp 95.It Sy device Ar name \ 96Oo Sy at Ar bus Oc \ 97Oo Sy port Ar num Oc \ 98Oo Sy irq Ar num Oc \ 99Oo Sy drq Ar num Oc \ 100Oo Sy iomem Ar num Oc \ 101Oo Sy iosiz Ar num Oc \ 102Op Sy flags Ar num 103Configures support for device 104.Ar name . 105Additional parameters may be passed to specify 106.Tn I/O 107configuration settings (most often for 108.Xr isa 4 109devices): 110.Bl -tag -width ".Sy iomem" 111.It Sy at 112specifies a bus to which the device is attached. 113.It Sy port 114specifies the start address of 115.Tn I/O 116ports to be used by the device. 117.It Sy irq 118specifies the number of ports used by the device. 119.It Sy drq 120is the interrupt line number to be used. 121.It Sy iomem 122specifies the physical memory address used by the device. 123.It Sy iosiz 124specifies the physical memory size used by the device. 125.It Sy flags 126sets various flag bits for the device. 127.El 128.Pp 129.It Sy ident Ar string 130Sets the kernel identification string to 131.Ar string . 132.Pp 133.It Sy machine Ar name 134The system is to run on the machine type 135.Ar name . 136This is a legacy keyword, it is normally set to same value as 137.Sy machine_arch . 138.Pp 139.It Sy machine_arch Ar name 140The system is to run on the machine architecture 141.Ar name . 142The legal architectures are 143.Sy i386 , 144and 145.Sy x86_64 . 146.Pp 147.It Sy makeoptions Ar name Ns Sy = Ns Ar value 148Defines a 149.Xr make 1 150macro 151.Ar name 152with the value 153.Ar value 154in the kernel Makefile. 155.Pp 156.It Sy maxusers Ar integer 157Set the 158.Va maxusers 159variable in the kernel. 160.Pp 161.It Sy options Ar name Ns Op Sy = Ns Ar value 162Sets the option 163.Ar name . 164Some options expect to be assigned a value, which may be an integer, 165a double-quoted word, a bare word, or an empty string 166.Pq Qq . 167Note that those are eventually handled by the C compiler, so the rules 168of that language apply. 169.\"For more information see the 170.\".Sx OPTIONS 171.\"section. 172.Pp 173.It Sy platform Ar name 174Sets the platform of this kernel to 175.Ar name . 176Legal platforms are 177.Sy pc32 , 178.Sy pc64 , 179and 180.Sy vkernel , 181meaning either a 32 bit 182.Tn Intel 183architecture, a 64 bit 184.Tn AMD 185architecture, or a virtual kernel. 186.Pp 187.It Sy pseudo-device Ar name Op Ar N 188Includes support for the pseudo-device 189.Ar name . 190Some pseudo-devices can have multiple or 191.Ar N 192instances. 193.El 194.\".Sh OPTIONS 195.Sh FILES 196.Bl -tag -width ".Pa /sys/config/X86_64_GENERIC" 197.It Pa /sys/config/GENERIC 198default 199.Sy i386 200kernel configuration file 201.It Pa /sys/config/LINT 202kernel configuration file for checking all the sources, 203includes description of kernel configuration options 204.It Pa /sys/config/VKERNEL 205default 206.Xr vkernel 7 207kernel configuration file 208.It Pa /sys/config/X86_64_GENERIC 209default 210.Sy x86_64 211kernel configuration file 212.El 213.Sh SEE ALSO 214.Xr make 1 , 215.Xr build 7 , 216.Xr vkernel 7 , 217.Xr config 8 218.Sh HISTORY 219The 220.Nm 221manual page first appeared in 222.Dx 1.11 . 223