1ec68fed6SSascha Wildner.\" 2ec68fed6SSascha Wildner.\" Copyright (c) 2007 3ec68fed6SSascha Wildner.\" The DragonFly Project. All rights reserved. 4ec68fed6SSascha Wildner.\" 5ec68fed6SSascha Wildner.\" Redistribution and use in source and binary forms, with or without 6ec68fed6SSascha Wildner.\" modification, are permitted provided that the following conditions 7ec68fed6SSascha Wildner.\" are met: 8ec68fed6SSascha Wildner.\" 9ec68fed6SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright 10ec68fed6SSascha Wildner.\" notice, this list of conditions and the following disclaimer. 11ec68fed6SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright 12ec68fed6SSascha Wildner.\" notice, this list of conditions and the following disclaimer in 13ec68fed6SSascha Wildner.\" the documentation and/or other materials provided with the 14ec68fed6SSascha Wildner.\" distribution. 15ec68fed6SSascha Wildner.\" 3. Neither the name of The DragonFly Project nor the names of its 16ec68fed6SSascha Wildner.\" contributors may be used to endorse or promote products derived 17ec68fed6SSascha Wildner.\" from this software without specific, prior written permission. 18ec68fed6SSascha Wildner.\" 19ec68fed6SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20ec68fed6SSascha Wildner.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21ec68fed6SSascha Wildner.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 22ec68fed6SSascha Wildner.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 23ec68fed6SSascha Wildner.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 24ec68fed6SSascha Wildner.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 25ec68fed6SSascha Wildner.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26ec68fed6SSascha Wildner.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 27ec68fed6SSascha Wildner.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28ec68fed6SSascha Wildner.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 29ec68fed6SSascha Wildner.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30ec68fed6SSascha Wildner.\" SUCH DAMAGE. 31ec68fed6SSascha Wildner.\" 32*dd7331feSSascha Wildner.Dd June 20, 2015 33ec68fed6SSascha Wildner.Dt KERNCONF 5 34b7ea0c65SThomas Nikolajsen.Os 35ec68fed6SSascha Wildner.Sh NAME 36ec68fed6SSascha Wildner.Nm kernconf 37ec68fed6SSascha Wildner.Nd kernel configuration file 38ec68fed6SSascha Wildner.Sh SYNOPSIS 39ec68fed6SSascha Wildner.Cd cpu ... 40ec68fed6SSascha Wildner.Cd device ... 41ec68fed6SSascha Wildner.Cd ident ... 42ec68fed6SSascha Wildner.Cd machine ... 43ec68fed6SSascha Wildner.Cd machine-arch ... 44ec68fed6SSascha Wildner.Cd makeoptions ... 45ec68fed6SSascha Wildner.Cd maxusers ... 46ec68fed6SSascha Wildner.Cd options ... 47ec68fed6SSascha Wildner.Cd platform ... 48ec68fed6SSascha Wildner.Cd pseudo-device ... 49ec68fed6SSascha Wildner.Sh DESCRIPTION 50ec68fed6SSascha WildnerThis manual page describes the structure of the kernel configuration file. 51b770eafbSSascha WildnerIt is processed by 52b770eafbSSascha Wildner.Xr config 8 53b770eafbSSascha Wildnerto create a build environment where a kernel may be built using 54b770eafbSSascha Wildner.Xr make 1 . 55b770eafbSSascha WildnerSee 56b770eafbSSascha Wildner.Xr build 7 57b770eafbSSascha Wildnerfor information on how to build kernels. 58b770eafbSSascha Wildner.Pp 59b770eafbSSascha WildnerEach line starts with a keyword at the beginning of the line and is 60b770eafbSSascha Wildnerfollowed by additional parameters. 61b770eafbSSascha WildnerLong input lines may be broken into shorter lines by starting the 62b770eafbSSascha Wildnersecond and subsequent lines with a white space character. 63b770eafbSSascha WildnerNumbers are specified using 64b770eafbSSascha Wildner.Tn C Ns -style 65b770eafbSSascha Wildnersyntax. 66ec68fed6SSascha WildnerBlank lines are ignored. 67ec68fed6SSascha WildnerThe 68ec68fed6SSascha Wildner.Sq # 69ec68fed6SSascha Wildnercharacter is interpreted as a comment and is ignored along with everything 70ec68fed6SSascha Wildnerthat follows it on the same line. 71ec68fed6SSascha Wildner.Sh KEYWORDS 72ec68fed6SSascha WildnerThe following keywords are recognized in a configuration file: 73cb4679fcSSascha Wildner.Pp 74cb4679fcSSascha Wildner.Bl -tag -width indent -compact 75b7ea0c65SThomas Nikolajsen.It Sy cpu Ar name 76ec68fed6SSascha WildnerThis system is to run on the CPU type 77ec68fed6SSascha Wildner.Ar name . 781f3eb935SThomas NikolajsenLegal types are, for 791f3eb935SThomas Nikolajsen.Sy i386 : 80ec68fed6SSascha Wildner.Sy I486_CPU 81ec68fed6SSascha Wildner(i486), 82ec68fed6SSascha Wildner.Sy I586_CPU 83ec68fed6SSascha Wildner.Tn ( Pentium ) , 84ec68fed6SSascha Wildnerand 85ec68fed6SSascha Wildner.Sy I686_CPU 861f3eb935SThomas Nikolajsen.Tn ( Pentium Pro ) ; 871f3eb935SThomas Nikolajsenfor 88b2b3ffcdSSimon Schubert.Sy x86_64 : 891f3eb935SThomas Nikolajsen.Sy HAMMER_CPU 901f3eb935SThomas Nikolajsen.Tn ( x86-64 ) . 91ec68fed6SSascha WildnerMore than one CPU type specification can appear in a configuration file. 92cb4679fcSSascha Wildner.Pp 93b7ea0c65SThomas Nikolajsen.It Sy device Ar name \ 94b7ea0c65SThomas NikolajsenOo Sy at Ar bus Oc \ 95b7ea0c65SThomas NikolajsenOo Sy port Ar num Oc \ 96b7ea0c65SThomas NikolajsenOo Sy irq Ar num Oc \ 97b7ea0c65SThomas NikolajsenOo Sy drq Ar num Oc \ 98b7ea0c65SThomas NikolajsenOo Sy iomem Ar num Oc \ 99b7ea0c65SThomas NikolajsenOo Sy iosiz Ar num Oc \ 100b7ea0c65SThomas NikolajsenOp Sy flags Ar num 101ec68fed6SSascha WildnerConfigures support for device 102ec68fed6SSascha Wildner.Ar name . 1031f3eb935SThomas NikolajsenAdditional parameters may be passed to specify 104b7ea0c65SThomas Nikolajsen.Tn I/O 1051f3eb935SThomas Nikolajsenconfiguration settings (most often for 106b770eafbSSascha Wildner.Xr isa 4 107b770eafbSSascha Wildnerdevices): 1081f3eb935SThomas Nikolajsen.Bl -tag -width ".Sy iomem" 1091f3eb935SThomas Nikolajsen.It Sy at 110b770eafbSSascha Wildnerspecifies a bus to which the device is attached. 1111f3eb935SThomas Nikolajsen.It Sy port 1121f3eb935SThomas Nikolajsenspecifies the start address of 113b7ea0c65SThomas Nikolajsen.Tn I/O 1141f3eb935SThomas Nikolajsenports to be used by the device. 1151f3eb935SThomas Nikolajsen.It Sy irq 116b770eafbSSascha Wildnerspecifies the number of ports used by the device. 1171f3eb935SThomas Nikolajsen.It Sy drq 118b770eafbSSascha Wildneris the interrupt line number to be used. 1191f3eb935SThomas Nikolajsen.It Sy iomem 120b770eafbSSascha Wildnerspecifies the physical memory address used by the device. 1211f3eb935SThomas Nikolajsen.It Sy iosiz 122b770eafbSSascha Wildnerspecifies the physical memory size used by the device. 1231f3eb935SThomas Nikolajsen.It Sy flags 124b770eafbSSascha Wildnersets various flag bits for the device. 125b770eafbSSascha Wildner.El 126cb4679fcSSascha Wildner.Pp 127b7ea0c65SThomas Nikolajsen.It Sy ident Ar string 128ec68fed6SSascha WildnerSets the kernel identification string to 129ec68fed6SSascha Wildner.Ar string . 130cb4679fcSSascha Wildner.Pp 131b7ea0c65SThomas Nikolajsen.It Sy machine Ar name 132ec68fed6SSascha WildnerThe system is to run on the machine type 133ec68fed6SSascha Wildner.Ar name . 1341f3eb935SThomas NikolajsenThis is a legacy keyword, it is normally set to same value as 1351f3eb935SThomas Nikolajsen.Sy machine_arch . 136cb4679fcSSascha Wildner.Pp 137b7ea0c65SThomas Nikolajsen.It Sy machine_arch Ar name 138ec68fed6SSascha WildnerThe system is to run on the machine architecture 139ec68fed6SSascha Wildner.Ar name . 1401f3eb935SThomas NikolajsenThe legal architectures are 1411f3eb935SThomas Nikolajsen.Sy i386 , 1421f3eb935SThomas Nikolajsenand 143b2b3ffcdSSimon Schubert.Sy x86_64 . 144cb4679fcSSascha Wildner.Pp 145b7ea0c65SThomas Nikolajsen.It Sy makeoptions Ar name Ns Sy = Ns Ar value 146ec68fed6SSascha WildnerDefines a 147ec68fed6SSascha Wildner.Xr make 1 148ec68fed6SSascha Wildnermacro 149ec68fed6SSascha Wildner.Ar name 150ec68fed6SSascha Wildnerwith the value 151ec68fed6SSascha Wildner.Ar value 152ec68fed6SSascha Wildnerin the kernel Makefile. 153cb4679fcSSascha Wildner.Pp 154b7ea0c65SThomas Nikolajsen.It Sy maxusers Ar integer 155ec68fed6SSascha WildnerSet the 156ec68fed6SSascha Wildner.Va maxusers 157ec68fed6SSascha Wildnervariable in the kernel. 158cb4679fcSSascha Wildner.Pp 159b7ea0c65SThomas Nikolajsen.It Sy options Ar name Ns Op Sy = Ns Ar value 160ec68fed6SSascha WildnerSets the option 161ec68fed6SSascha Wildner.Ar name . 162ec68fed6SSascha WildnerSome options expect to be assigned a value, which may be an integer, 163ec68fed6SSascha Wildnera double-quoted word, a bare word, or an empty string 164ec68fed6SSascha Wildner.Pq Qq . 165ec68fed6SSascha WildnerNote that those are eventually handled by the C compiler, so the rules 166ec68fed6SSascha Wildnerof that language apply. 167ec68fed6SSascha Wildner.\"For more information see the 168ec68fed6SSascha Wildner.\".Sx OPTIONS 169ec68fed6SSascha Wildner.\"section. 170cb4679fcSSascha Wildner.Pp 171b7ea0c65SThomas Nikolajsen.It Sy platform Ar name 172ec68fed6SSascha WildnerSets the platform of this kernel to 173ec68fed6SSascha Wildner.Ar name . 174ec68fed6SSascha WildnerLegal platforms are 175b6a66df5SSascha Wildner.Sy pc32 176b6a66df5SSascha Wildner(32 bit 177ec68fed6SSascha Wildner.Tn Intel 178b6a66df5SSascha Wildnerarchitecture), 179b6a66df5SSascha Wildner.Sy pc64 180b6a66df5SSascha Wildner(64 bit 1818aa83500SSascha Wildner.Tn AMD 182b6a66df5SSascha Wildnerarchitecture), 183b6a66df5SSascha Wildner.Sy vkernel 184b6a66df5SSascha Wildner(32 bit virtual kernel), 185b6a66df5SSascha Wildnerand 186b6a66df5SSascha Wildner.Sy vkernel64 187b6a66df5SSascha Wildner(64 bit virtual kernel). 188cb4679fcSSascha Wildner.Pp 189b7ea0c65SThomas Nikolajsen.It Sy pseudo-device Ar name Op Ar N 190ec68fed6SSascha WildnerIncludes support for the pseudo-device 191ec68fed6SSascha Wildner.Ar name . 192ec68fed6SSascha WildnerSome pseudo-devices can have multiple or 193ec68fed6SSascha Wildner.Ar N 194ec68fed6SSascha Wildnerinstances. 195ec68fed6SSascha Wildner.El 196ec68fed6SSascha Wildner.\".Sh OPTIONS 19715279048SThomas Nikolajsen.Sh FILES 198b2b3ffcdSSimon Schubert.Bl -tag -width ".Pa /sys/config/X86_64_GENERIC" 199*dd7331feSSascha Wildner.It Pa /sys/config/LINT64 200b7ea0c65SThomas Nikolajsenkernel configuration file for checking all the sources, 201b7ea0c65SThomas Nikolajsenincludes description of kernel configuration options 202b6a66df5SSascha Wildner.It Pa /sys/config/VKERNEL64 203b6a66df5SSascha Wildnerdefault 64 bit 204da3476f4SThomas Nikolajsen.Xr vkernel 7 205da3476f4SThomas Nikolajsenkernel configuration file 206b7ea0c65SThomas Nikolajsen.It Pa /sys/config/X86_64_GENERIC 207b7ea0c65SThomas Nikolajsendefault 208b7ea0c65SThomas Nikolajsen.Sy x86_64 209b7ea0c65SThomas Nikolajsenkernel configuration file 21015279048SThomas Nikolajsen.El 211ec68fed6SSascha Wildner.Sh SEE ALSO 2121f3eb935SThomas Nikolajsen.Xr make 1 , 213ec68fed6SSascha Wildner.Xr build 7 , 214ec68fed6SSascha Wildner.Xr vkernel 7 , 215ec68fed6SSascha Wildner.Xr config 8 216ec68fed6SSascha Wildner.Sh HISTORY 217ec68fed6SSascha WildnerThe 218ec68fed6SSascha Wildner.Nm 219ec68fed6SSascha Wildnermanual page first appeared in 220ec68fed6SSascha Wildner.Dx 1.11 . 221