Thu Mar 9 00:17:32 2017 UTC ()
mention KDTRACE_HOOKS.


(chs)
diff -r1.463 -r1.464 src/share/man/man4/options.4

cvs diff -r1.463 -r1.464 src/share/man/man4/options.4 (switch to unified diff)

--- src/share/man/man4/options.4 2017/02/19 11:16:45 1.463
+++ src/share/man/man4/options.4 2017/03/09 00:17:32 1.464
@@ -1,1635 +1,1641 @@ @@ -1,1635 +1,1641 @@
1.\" $NetBSD: options.4,v 1.463 2017/02/19 11:16:45 wiz Exp $ 1.\" $NetBSD: options.4,v 1.464 2017/03/09 00:17:32 chs Exp $
2.\" 2.\"
3.\" Copyright (c) 1996 3.\" Copyright (c) 1996
4.\" Perry E. Metzger. All rights reserved. 4.\" Perry E. Metzger. All rights reserved.
5.\" 5.\"
6.\" Redistribution and use in source and binary forms, with or without 6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions 7.\" modification, are permitted provided that the following conditions
8.\" are met: 8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright 9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer. 10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the 12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution. 13.\" documentation and/or other materials provided with the distribution.
14.\" 3. All advertising materials mentioning features or use of this software 14.\" 3. All advertising materials mentioning features or use of this software
15.\" must display the following acknowledgment: 15.\" must display the following acknowledgment:
16.\" This product includes software developed for the NetBSD Project 16.\" This product includes software developed for the NetBSD Project
17.\" by Perry E. Metzger. 17.\" by Perry E. Metzger.
18.\" 4. The name of the author may not be used to endorse or promote products 18.\" 4. The name of the author may not be used to endorse or promote products
19.\" derived from this software without specific prior written permission. 19.\" derived from this software without specific prior written permission.
20.\" 20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\" 31.\"
32.\" 32.\"
33.Dd February 19, 2017 33.Dd February 19, 2017
34.Dt OPTIONS 4 34.Dt OPTIONS 4
35.Os 35.Os
36.Sh NAME 36.Sh NAME
37.Nm options 37.Nm options
38.Nd Miscellaneous kernel configuration options 38.Nd Miscellaneous kernel configuration options
39.Sh SYNOPSIS 39.Sh SYNOPSIS
40.Cd cinclude ... 40.Cd cinclude ...
41.Cd config ... 41.Cd config ...
42.Cd [no] file-system ... 42.Cd [no] file-system ...
43.Cd ident ... 43.Cd ident ...
44.Cd include ... 44.Cd include ...
45.Cd [no] makeoptions ... 45.Cd [no] makeoptions ...
46.Cd maxusers ... 46.Cd maxusers ...
47.Cd [no] options ... 47.Cd [no] options ...
48.Cd [no] pseudo-device ... 48.Cd [no] pseudo-device ...
49.Sh DESCRIPTION 49.Sh DESCRIPTION
50This manual page describes a number of miscellaneous kernel 50This manual page describes a number of miscellaneous kernel
51configuration options that may be specified in a kernel config 51configuration options that may be specified in a kernel config
52file. 52file.
53See 53See
54.Xr config 1 54.Xr config 1
55and 55and
56.Xr config 5 56.Xr config 5
57for information on how to configure and build kernels. 57for information on how to configure and build kernels.
58.Pp 58.Pp
59The 59The
60.Ar no 60.Ar no
61form removes a previously specified option. 61form removes a previously specified option.
62.Ss Keywords 62.Ss Keywords
63The following keywords are recognized in a kernel configuration file: 63The following keywords are recognized in a kernel configuration file:
64.Bl -ohang 64.Bl -ohang
65.It Sy cinclude Qq Ar filename 65.It Sy cinclude Qq Ar filename
66Conditionally includes another kernel configuration file whose name is 66Conditionally includes another kernel configuration file whose name is
67.Ar filename , 67.Ar filename ,
68which may be double-quoted and may be an explicit path or relative to 68which may be double-quoted and may be an explicit path or relative to
69the kernel source directory. 69the kernel source directory.
70Failure to open the named file is ignored. 70Failure to open the named file is ignored.
71.It Sy config Ar exec_name No root on Ar rootdev Oo type Ar fstype Oc \ 71.It Sy config Ar exec_name No root on Ar rootdev Oo type Ar fstype Oc \
72Oo dumps on Ar dumpdev Oc 72Oo dumps on Ar dumpdev Oc
73Defines a configuration whose kernel executable is named 73Defines a configuration whose kernel executable is named
74.Ar exec_name , 74.Ar exec_name ,
75normally 75normally
76.Dq netbsd , 76.Dq netbsd ,
77with its root file system of type 77with its root file system of type
78.Ar fstype 78.Ar fstype
79on the device 79on the device
80.Ar rootdev , 80.Ar rootdev ,
81and optionally specifying the location of kernel core dumps on the device 81and optionally specifying the location of kernel core dumps on the device
82.Ar dumpdev . 82.Ar dumpdev .
83.Ar dev 83.Ar dev
84or 84or
85.Ar dumpdev 85.Ar dumpdev
86and 86and
87.Ar fstype 87.Ar fstype
88may be specified as 88may be specified as
89.Dq \&? , 89.Dq \&? ,
90which is a wild card. 90which is a wild card.
91The root 91The root
92.Ar fstype 92.Ar fstype
93and 93and
94.Ar dumpdev 94.Ar dumpdev
95are optional and assumed to be wild carded if they are not specified. 95are optional and assumed to be wild carded if they are not specified.
96.It Ar device_instance No at Ar attachment \ 96.It Ar device_instance No at Ar attachment \
97Oo Ar locators value Oo ... Oc Oc Oo flags Ar value Oc 97Oo Ar locators value Oo ... Oc Oc Oo flags Ar value Oc
98Define an instance of the device driver 98Define an instance of the device driver
99.Ar device_instance 99.Ar device_instance
100that attaches to the bus or device named 100that attaches to the bus or device named
101.Ar attachment . 101.Ar attachment .
102An 102An
103.Ar attachment 103.Ar attachment
104may require additional information on where the device can be found, such 104may require additional information on where the device can be found, such
105as an address, channel, function, offset, and/or slot, referred to as 105as an address, channel, function, offset, and/or slot, referred to as
106.Ar locators , 106.Ar locators ,
107whose 107whose
108.Ar value 108.Ar value
109often may be a wild card, 109often may be a wild card,
110.Dq \&? . 110.Dq \&? .
111Some device drivers have one or more 111Some device drivers have one or more
112.Ar flags 112.Ar flags
113that can be adjusted to affect the way they operate. 113that can be adjusted to affect the way they operate.
114.It Sy file-system Ar fs_name Op , Ar fs_name Op ... 114.It Sy file-system Ar fs_name Op , Ar fs_name Op ...
115Include support for the file-system 115Include support for the file-system
116.Ar fs_name . 116.Ar fs_name .
117.It Sy ident Qq Ar string 117.It Sy ident Qq Ar string
118Sets the kernel identification string to 118Sets the kernel identification string to
119.Ar string . 119.Ar string .
120.It Sy include Qq Ar filename 120.It Sy include Qq Ar filename
121Functions the same as 121Functions the same as
122.Ar cinclude , 122.Ar cinclude ,
123except failure to open 123except failure to open
124.Ar filename 124.Ar filename
125produces a fatal error. 125produces a fatal error.
126.It Sy options Ar option_name Op , Ar option_name=value Op ... 126.It Sy options Ar option_name Op , Ar option_name=value Op ...
127Specifies (or sets) the option, or comma-separated list of options, 127Specifies (or sets) the option, or comma-separated list of options,
128.Ar option_name . 128.Ar option_name .
129Some options expect to be assigned a value, which may be an integer, 129Some options expect to be assigned a value, which may be an integer,
130a double-quoted word, a bare word, or an empty string 130a double-quoted word, a bare word, or an empty string
131.Pq Qq . 131.Pq Qq .
132Note that those are eventually handled by the C compiler, so the rules 132Note that those are eventually handled by the C compiler, so the rules
133of that language apply. 133of that language apply.
134.Pp 134.Pp
135.Em Note : 135.Em Note :
136Options that are not defined by device definition files are passed to 136Options that are not defined by device definition files are passed to
137the compile process as 137the compile process as
138.Fl D 138.Fl D
139flags to the C compiler. 139flags to the C compiler.
140.It Sy makeoptions Ar name=value 140.It Sy makeoptions Ar name=value
141Defines a 141Defines a
142.Xr make 1 142.Xr make 1
143macro 143macro
144.Ar name 144.Ar name
145with the value 145with the value
146.Ar value 146.Ar value
147in the kernel Makefile. 147in the kernel Makefile.
148.It Sy maxusers Ar integer 148.It Sy maxusers Ar integer
149Set the maxusers variable in the kernel. 149Set the maxusers variable in the kernel.
150.It Sy no Ar keyword Ar name Op Ar arguments Op ... 150.It Sy no Ar keyword Ar name Op Ar arguments Op ...
151For the 151For the
152.Xr config 1 152.Xr config 1
153.Ar keywords 153.Ar keywords
154file-system, makeoptions, options, and pseudo-device, 154file-system, makeoptions, options, and pseudo-device,
155.Ar no 155.Ar no
156removes the file-system, makeoption, options, or pseudo-device, 156removes the file-system, makeoption, options, or pseudo-device,
157.Ar name . 157.Ar name .
158This is useful when a kernel configuration file includes another which 158This is useful when a kernel configuration file includes another which
159has undesired options. 159has undesired options.
160.Pp 160.Pp
161For example, a local configuration file that wanted the kitchen sink, but 161For example, a local configuration file that wanted the kitchen sink, but
162not COMPAT_09 or bridging, might be: 162not COMPAT_09 or bridging, might be:
163.Bd -literal -offset indent 163.Bd -literal -offset indent
164include "arch/i386/conf/GENERIC" 164include "arch/i386/conf/GENERIC"
165no options COMPAT_09 165no options COMPAT_09
166no pseudo-device bridge 166no pseudo-device bridge
167.Ed 167.Ed
168.It Sy pseudo-device Ar name Op Ar N 168.It Sy pseudo-device Ar name Op Ar N
169Includes support for the pseudo-device 169Includes support for the pseudo-device
170.Ar name . 170.Ar name .
171Some pseudo-devices can have multiple or 171Some pseudo-devices can have multiple or
172.Ar N 172.Ar N
173instances. 173instances.
174.El 174.El
175.Ss Compatibility Options 175.Ss Compatibility Options
176.Bl -ohang 176.Bl -ohang
177.It Cd options COMPAT_09 177.It Cd options COMPAT_09
178Enable binary compatibility with 178Enable binary compatibility with
179.Nx 0.9 . 179.Nx 0.9 .
180This enables support for 180This enables support for
18116-bit user, group, and process IDs (following revisions support 18116-bit user, group, and process IDs (following revisions support
18232-bit identifiers). 18232-bit identifiers).
183It also allows the use of the deprecated 183It also allows the use of the deprecated
184.Xr getdomainname 3 , 184.Xr getdomainname 3 ,
185.Xr setdomainname 3 , 185.Xr setdomainname 3 ,
186and 186and
187.Xr uname 3 187.Xr uname 3
188syscalls. 188syscalls.
189This option also allows using numeric file system identifiers rather 189This option also allows using numeric file system identifiers rather
190than strings. 190than strings.
191Post 191Post
192.Nx 0.9 192.Nx 0.9
193versions use string identifiers. 193versions use string identifiers.
194.It Cd options COMPAT_10 194.It Cd options COMPAT_10
195Enable binary compatibility with 195Enable binary compatibility with
196.Nx 1.0 . 196.Nx 1.0 .
197This option allows the use of the file system name of 197This option allows the use of the file system name of
198.Dq ufs 198.Dq ufs
199as an alias for 199as an alias for
200.Dq ffs . 200.Dq ffs .
201The name 201The name
202.Dq ffs 202.Dq ffs
203should be used post 1.0 in 203should be used post 1.0 in
204.Pa /etc/fstab 204.Pa /etc/fstab
205and other files. 205and other files.
206It also adds old syscalls for the 206It also adds old syscalls for the
207.At V 207.At V
208shared memory interface. 208shared memory interface.
209This was changed post 1.0 to work on 64-bit architectures. 209This was changed post 1.0 to work on 64-bit architectures.
210This option also enables 210This option also enables
211.Dq sgtty 211.Dq sgtty
212compatibility, without which programs using the old interface produce 212compatibility, without which programs using the old interface produce
213an 213an
214.Dq inappropriate ioctl 214.Dq inappropriate ioctl
215error, and 215error, and
216.Pa /dev/io 216.Pa /dev/io
217only works when this option is set in the kernel, 217only works when this option is set in the kernel,
218see 218see
219.Xr io 4 219.Xr io 4
220on ports that support it. 220on ports that support it.
221.It Cd options COMPAT_11 221.It Cd options COMPAT_11
222Enable binary compatibility with 222Enable binary compatibility with
223.Nx 1.1 . 223.Nx 1.1 .
224This allows binaries running on the i386 port to gain direct access to 224This allows binaries running on the i386 port to gain direct access to
225the io ports by opening 225the io ports by opening
226.Pa /dev/io 226.Pa /dev/io
227read/write. 227read/write.
228This functionality was replaced by 228This functionality was replaced by
229.Xr i386_iopl 2 229.Xr i386_iopl 2
230post 1.1. 230post 1.1.
231On the 231On the
232.Tn Atari 232.Tn Atari
233port, the location of the disk label was moved after 1.1. 233port, the location of the disk label was moved after 1.1.
234When the 234When the
235.Em COMPAT_11 235.Em COMPAT_11
236option is set, the kernel will read (pre) 1.1 style disk labels as a 236option is set, the kernel will read (pre) 1.1 style disk labels as a
237last resort. 237last resort.
238When a disk label is re-written, the old style label will be replaced 238When a disk label is re-written, the old style label will be replaced
239with a post 1.1 style label. 239with a post 1.1 style label.
240This also enables the 240This also enables the
241.Em EXEC_ELF_NOTELESS 241.Em EXEC_ELF_NOTELESS
242option. 242option.
243.It Cd options COMPAT_12 243.It Cd options COMPAT_12
244Enable binary compatibility with 244Enable binary compatibility with
245.Nx 1.2 . 245.Nx 1.2 .
246This allows the use of old syscalls for 246This allows the use of old syscalls for
247.Fn reboot 247.Fn reboot
248and 248and
249.Fn swapon . 249.Fn swapon .
250The syscall numbers were changed post 1.2 to add functionality to the 250The syscall numbers were changed post 1.2 to add functionality to the
251.Xr reboot 2 251.Xr reboot 2
252syscall, and the new 252syscall, and the new
253.Xr swapctl 2 253.Xr swapctl 2
254interface was introduced. 254interface was introduced.
255This also enables the 255This also enables the
256.Em EXEC_ELF_NOTELESS 256.Em EXEC_ELF_NOTELESS
257option. 257option.
258.It Cd options COMPAT_13 258.It Cd options COMPAT_13
259Enable binary compatibility with 259Enable binary compatibility with
260.Nx 1.3 . 260.Nx 1.3 .
261This allows the use of old syscalls for 261This allows the use of old syscalls for
262.Fn sigaltstack , 262.Fn sigaltstack ,
263and also enables the old 263and also enables the old
264.Xr swapctl 2 264.Xr swapctl 2
265command 265command
266.Dv SWAP_STATS 266.Dv SWAP_STATS
267(now called 267(now called
268.Dv SWAP_OSTATS ) , 268.Dv SWAP_OSTATS ) ,
269which does not include the 269which does not include the
270.Fa se_path 270.Fa se_path
271member of 271member of
272.Va struct swapent . 272.Va struct swapent .
273.It Cd options COMPAT_14 273.It Cd options COMPAT_14
274Enable binary compatibility with 274Enable binary compatibility with
275.Nx 1.4 . 275.Nx 1.4 .
276This allows some old 276This allows some old
277.Xr ioctl 2 277.Xr ioctl 2
278on 278on
279.Xr wscons 4 279.Xr wscons 4
280to be performed, and allows the 280to be performed, and allows the
281.Dv NFSSVC_BIOD 281.Dv NFSSVC_BIOD
282mode of the 282mode of the
283.Xr nfssvc 2 283.Xr nfssvc 2
284system call to be used for compatibility with the deprecated nfsiod program. 284system call to be used for compatibility with the deprecated nfsiod program.
285.It Cd options COMPAT_15 285.It Cd options COMPAT_15
286Enable binary compatibility with 286Enable binary compatibility with
287.Nx 1.5 . 287.Nx 1.5 .
288Since there were no API changes from 288Since there were no API changes from
289.Nx 1.5 289.Nx 1.5
290and 290and
291.Nx 1.6 , 291.Nx 1.6 ,
292this option does nothing. 292this option does nothing.
293.It Cd options COMPAT_16 293.It Cd options COMPAT_16
294Enable binary compatibility with 294Enable binary compatibility with
295.Nx 1.6 . 295.Nx 1.6 .
296This allows the use of old signal trampoline code which has been deprecated 296This allows the use of old signal trampoline code which has been deprecated
297with the addition of 297with the addition of
298.Xr siginfo 2 . 298.Xr siginfo 2 .
299.It Cd options COMPAT_20 299.It Cd options COMPAT_20
300Enable binary compatibility with 300Enable binary compatibility with
301.Nx 2.0 . 301.Nx 2.0 .
302This allows the use of old syscalls for 302This allows the use of old syscalls for
303.Fn statfs , 303.Fn statfs ,
304.Fn fstatfs , 304.Fn fstatfs ,
305.Fn getfsstat 305.Fn getfsstat
306and 306and
307.Fn fhstatfs , 307.Fn fhstatfs ,
308which have been deprecated with the addition of the 308which have been deprecated with the addition of the
309.Xr statvfs 2 , 309.Xr statvfs 2 ,
310.Xr fstatvfs 2 , 310.Xr fstatvfs 2 ,
311.Xr getvfsstat 2 311.Xr getvfsstat 2
312and 312and
313.Xr fhstatvfs 2 313.Xr fhstatvfs 2
314system calls. 314system calls.
315.It Cd options COMPAT_30 315.It Cd options COMPAT_30
316Enable binary compatibility with 316Enable binary compatibility with
317.Nx 3.0 . 317.Nx 3.0 .
318See 318See
319.Xr compat_30 8 319.Xr compat_30 8
320for details about the changes made after the 320for details about the changes made after the
321.Nx 3.0 321.Nx 3.0
322release. 322release.
323.It Cd options COMPAT_40 323.It Cd options COMPAT_40
324Enable binary compatibility with 324Enable binary compatibility with
325.Nx 4.0 . 325.Nx 4.0 .
326.It Cd options COMPAT_43 326.It Cd options COMPAT_43
327Enables compatibility with 327Enables compatibility with
328.Bx 4.3 . 328.Bx 4.3 .
329This adds an old syscall for 329This adds an old syscall for
330.Xr lseek 2 . 330.Xr lseek 2 .
331It also adds the ioctls for 331It also adds the ioctls for
332.Dv TIOCGETP 332.Dv TIOCGETP
333and 333and
334.Dv TIOCSETP . 334.Dv TIOCSETP .
335The return values for 335The return values for
336.Xr getpid 2 , 336.Xr getpid 2 ,
337.Xr getgid 2 , 337.Xr getgid 2 ,
338and 338and
339.Xr getuid 2 339.Xr getuid 2
340syscalls are modified as well, to return the parent's PID and 340syscalls are modified as well, to return the parent's PID and
341UID as well as the current process's. 341UID as well as the current process's.
342It also enables the deprecated 342It also enables the deprecated
343.Dv NTTYDISC 343.Dv NTTYDISC
344terminal line discipline. 344terminal line discipline.
345It also provides backwards compatibility with 345It also provides backwards compatibility with
346.Dq old 346.Dq old
347SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including 347SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
348binary compatibility with code written before the introduction of the 348binary compatibility with code written before the introduction of the
349sa_len field in sockaddrs. 349sa_len field in sockaddrs.
350It also enables 350It also enables
351support for some older pre 351support for some older pre
352.Bx 4.4 352.Bx 4.4
353socket calls. 353socket calls.
354.It Cd options COMPAT_50 354.It Cd options COMPAT_50
355Enable binary compatibility with 355Enable binary compatibility with
356.Nx 5.0 . 356.Nx 5.0 .
357.It Cd options COMPAT_60 357.It Cd options COMPAT_60
358Enable binary compatibility with 358Enable binary compatibility with
359.Nx 6.0 . 359.Nx 6.0 .
360.It Cd options COMPAT_70 360.It Cd options COMPAT_70
361Enable binary compatibility with 361Enable binary compatibility with
362.Nx 7.0 . 362.Nx 7.0 .
363.It Cd options COMPAT_BSDPTY 363.It Cd options COMPAT_BSDPTY
364This option is currently on by default and enables the pty multiplexer 364This option is currently on by default and enables the pty multiplexer
365.Xr ptm 4 365.Xr ptm 4
366and 366and
367.Xr ptmx 4 367.Xr ptmx 4
368to find and use ptys named 368to find and use ptys named
369.Pa /dev/ptyXX 369.Pa /dev/ptyXX
370(master) and 370(master) and
371.Pa /dev/ttyXX 371.Pa /dev/ttyXX
372(slave). 372(slave).
373Eventually this option will become optional as ptyfs based pseudo-ttys become 373Eventually this option will become optional as ptyfs based pseudo-ttys become
374the default, see 374the default, see
375.Xr mount_ptyfs 8 . 375.Xr mount_ptyfs 8 .
376.It Cd options COMPAT_SVR4 376.It Cd options COMPAT_SVR4
377On those architectures that support it, this enables binary 377On those architectures that support it, this enables binary
378compatibility with 378compatibility with
379.At V.4 379.At V.4
380applications built for the same architecture. 380applications built for the same architecture.
381This currently includes the i386, m68k, and sparc ports. 381This currently includes the i386, m68k, and sparc ports.
382.It Cd options COMPAT_LINUX 382.It Cd options COMPAT_LINUX
383On those architectures that support it, this enables binary 383On those architectures that support it, this enables binary
384compatibility with Linux ELF and 384compatibility with Linux ELF and
385.Xr a.out 5 385.Xr a.out 5
386applications built for the same architecture. 386applications built for the same architecture.
387This currently includes the alpha, arm, i386, m68k, mips, powerpc and 387This currently includes the alpha, arm, i386, m68k, mips, powerpc and
388x86_64 ports. 388x86_64 ports.
389.It Cd options COMPAT_LINUX32 389.It Cd options COMPAT_LINUX32
390On those 64 bit architectures that support it, this enables binary 390On those 64 bit architectures that support it, this enables binary
391compatibility with 32 bit Linux binaries. 391compatibility with 32 bit Linux binaries.
392For now this is limited to running i386 ELF Linux binaries on amd64. 392For now this is limited to running i386 ELF Linux binaries on amd64.
393.It Cd options COMPAT_SUNOS 393.It Cd options COMPAT_SUNOS
394On those architectures that support it, this enables binary 394On those architectures that support it, this enables binary
395compatibility with 395compatibility with
396.Tn SunOS 4.1 396.Tn SunOS 4.1
397applications built for the same architecture. 397applications built for the same architecture.
398This currently includes the sparc, sparc64 and most or all m68k ports. 398This currently includes the sparc, sparc64 and most or all m68k ports.
399Note that the sparc64 requires the 399Note that the sparc64 requires the
400.Em COMPAT_NETBSD32 400.Em COMPAT_NETBSD32
401option for 64-bit kernels, in addition to this option. 401option for 64-bit kernels, in addition to this option.
402.It Cd options COMPAT_ULTRIX 402.It Cd options COMPAT_ULTRIX
403On those architectures that support it, this enables binary 403On those architectures that support it, this enables binary
404compatibility with 404compatibility with
405.Tn ULTRIX 405.Tn ULTRIX
406applications built for the same architecture. 406applications built for the same architecture.
407This currently is limited to the pmax. 407This currently is limited to the pmax.
408The functionality of this option is unknown. 408The functionality of this option is unknown.
409.It Cd options COMPAT_FREEBSD 409.It Cd options COMPAT_FREEBSD
410On those architectures that support it, this enables binary 410On those architectures that support it, this enables binary
411compatibility with 411compatibility with
412.Fx 412.Fx
413applications built for the same architecture. 413applications built for the same architecture.
414At the moment this is limited to the i386 port. 414At the moment this is limited to the i386 port.
415.It Cd options COMPAT_IBCS2 415.It Cd options COMPAT_IBCS2
416On those architectures that support it, this enables binary 416On those architectures that support it, this enables binary
417compatibility with iBCS2 or SVR3 applications built for the same architecture. 417compatibility with iBCS2 or SVR3 applications built for the same architecture.
418This is currently limited to the i386 and vax ports. 418This is currently limited to the i386 and vax ports.
419.It Cd options COMPAT_OSF1 419.It Cd options COMPAT_OSF1
420On those architectures that support it, this enables binary 420On those architectures that support it, this enables binary
421compatibility with 421compatibility with
422.Tn Digital 422.Tn Digital
423.Ux 423.Ux
424.Po 424.Po
425formerly 425formerly
426.Tn OSF/1 426.Tn OSF/1
427.Pc 427.Pc
428applications built for the same architecture. 428applications built for the same architecture.
429This is currently limited to the alpha port. 429This is currently limited to the alpha port.
430.It Cd options COMPAT_NOMID 430.It Cd options COMPAT_NOMID
431Enable compatibility with 431Enable compatibility with
432.Xr a.out 5 432.Xr a.out 5
433executables that lack a machine ID. 433executables that lack a machine ID.
434This includes 434This includes
435.Nx 0.8 Ns 's 435.Nx 0.8 Ns 's
436ZMAGIC format, and 386BSD and BSDI's 436ZMAGIC format, and 386BSD and BSDI's
437QMAGIC, NMAGIC, and OMAGIC 437QMAGIC, NMAGIC, and OMAGIC
438.Xr a.out 5 438.Xr a.out 5
439formats. 439formats.
440.It Cd options COMPAT_NETBSD32 440.It Cd options COMPAT_NETBSD32
441On those architectures that support it, this enables binary 441On those architectures that support it, this enables binary
442compatibility with 32-bit applications built for the same architecture. 442compatibility with 32-bit applications built for the same architecture.
443This is currently limited to the amd64 and sparc64 ports, and only 443This is currently limited to the amd64 and sparc64 ports, and only
444applicable for 64-bit kernels. 444applicable for 64-bit kernels.
445.It Cd options COMPAT_SVR4_32 445.It Cd options COMPAT_SVR4_32
446On those architectures that support it, this enables binary 446On those architectures that support it, this enables binary
447compatibility with 32-bit SVR4 applications built for the same architecture. 447compatibility with 32-bit SVR4 applications built for the same architecture.
448This is currently limited to the sparc64 port, and only applicable for 448This is currently limited to the sparc64 port, and only applicable for
44964-bit kernels. 44964-bit kernels.
450.It Cd options COMPAT_AOUT_M68K 450.It Cd options COMPAT_AOUT_M68K
451On m68k architectures which have switched to ELF, 451On m68k architectures which have switched to ELF,
452this enables binary compatibility with 452this enables binary compatibility with
453.Nx Ns Tn /m68k 453.Nx Ns Tn /m68k
454.Xr a.out 5 454.Xr a.out 5
455executables on 455executables on
456.Nx Ns Tn /m68k 456.Nx Ns Tn /m68k
457ELF kernels. 457ELF kernels.
458This handles alignment incompatibility of m68k ABI between 458This handles alignment incompatibility of m68k ABI between
459a.out and ELF which causes the structure padding differences. 459a.out and ELF which causes the structure padding differences.
460Currently only some system calls which use 460Currently only some system calls which use
461.Va struct stat 461.Va struct stat
462are adjusted and some binaries which use 462are adjusted and some binaries which use
463.Xr sysctl 3 463.Xr sysctl 3
464to retrieve network details would not work properly. 464to retrieve network details would not work properly.
465.It Cd options EMUL_NATIVEROOT=string 465.It Cd options EMUL_NATIVEROOT=string
466Just like emulated binaries first try looking up files in 466Just like emulated binaries first try looking up files in
467an emulation root (e.g. 467an emulation root (e.g.
468.Pa /emul/linux ) 468.Pa /emul/linux )
469before looking them up in real root, this option causes native 469before looking them up in real root, this option causes native
470binaries to first look up files in an "emulation" directory too. 470binaries to first look up files in an "emulation" directory too.
471This can be useful to test an amd64 kernel on top of an i386 system 471This can be useful to test an amd64 kernel on top of an i386 system
472before full migration: by unpacking the amd64 distribution in e.g. 472before full migration: by unpacking the amd64 distribution in e.g.
473.Pa /emul/netbsd64 473.Pa /emul/netbsd64
474and specifying that location as 474and specifying that location as
475.Cd EMUL_NATIVEROOT , 475.Cd EMUL_NATIVEROOT ,
476native amd64 binaries can be run while the root file system remains 476native amd64 binaries can be run while the root file system remains
477populated with i386 binaries. 477populated with i386 binaries.
478Beware of 478Beware of
479.Pa /dev 479.Pa /dev
480incompatibilities between i386 and amd64 if you do this. 480incompatibilities between i386 and amd64 if you do this.
481.It Cd options EXEC_ELF_NOTELESS 481.It Cd options EXEC_ELF_NOTELESS
482Run unidentified ELF binaries as 482Run unidentified ELF binaries as
483.Nx 483.Nx
484binaries. 484binaries.
485This might be needed for very old 485This might be needed for very old
486.Nx 486.Nx
487ELF binaries on some archs. 487ELF binaries on some archs.
488These old binaries didn't contain an appropriate 488These old binaries didn't contain an appropriate
489.Li .note.netbsd.ident 489.Li .note.netbsd.ident
490section, and thus can't be identified by the kernel as 490section, and thus can't be identified by the kernel as
491.Nx 491.Nx
492binaries otherwise. 492binaries otherwise.
493Beware - if this option is on, the kernel would run 493Beware - if this option is on, the kernel would run
494.Em any 494.Em any
495unknown ELF binaries as if they were 495unknown ELF binaries as if they were
496.Nx 496.Nx
497binaries. 497binaries.
498.El 498.El
499.Ss Debugging Options 499.Ss Debugging Options
500.Bl -ohang 500.Bl -ohang
501.It Cd options DDB 501.It Cd options DDB
502Compiles in a kernel debugger for diagnosing kernel problems. 502Compiles in a kernel debugger for diagnosing kernel problems.
503See 503See
504.Xr ddb 4 504.Xr ddb 4
505for details. 505for details.
506.Em NOTE : 506.Em NOTE :
507not available on all architectures. 507not available on all architectures.
508.It Cd options DDB_FROMCONSOLE=integer 508.It Cd options DDB_FROMCONSOLE=integer
509If set to non-zero, DDB may be entered by sending a break on a serial 509If set to non-zero, DDB may be entered by sending a break on a serial
510console or by a special key sequence on a graphics console. 510console or by a special key sequence on a graphics console.
511A value of "0" ignores console breaks or key sequences. 511A value of "0" ignores console breaks or key sequences.
512If not explicitly specified, the default value is "1". 512If not explicitly specified, the default value is "1".
513Note that this sets the value of the 513Note that this sets the value of the
514.Em ddb.fromconsole 514.Em ddb.fromconsole
515.Xr sysctl 3 515.Xr sysctl 3
516variable which may be changed at run time -- see 516variable which may be changed at run time -- see
517.Xr sysctl 8 517.Xr sysctl 8
518for details. 518for details.
519.It Cd options DDB_HISTORY_SIZE=integer 519.It Cd options DDB_HISTORY_SIZE=integer
520If this is non-zero, enable history editing in the kernel debugger 520If this is non-zero, enable history editing in the kernel debugger
521and set the size of the history to this value. 521and set the size of the history to this value.
522.It Cd options DDB_ONPANIC 522.It Cd options DDB_ONPANIC
523The default if not specified is 523The default if not specified is
524.Dq 1 524.Dq 1
525- just enter into DDB. 525- just enter into DDB.
526If set to 526If set to
527.Dq 2 527.Dq 2
528the kernel will 528the kernel will
529attempt to print out a stack trace before entering into DDB. 529attempt to print out a stack trace before entering into DDB.
530If set to 530If set to
531.Dq 0 531.Dq 0
532the kernel will attempt to print out a stack trace 532the kernel will attempt to print out a stack trace
533and reboot the system. 533and reboot the system.
534If set to 534If set to
535.Dq -1 535.Dq -1
536then neither a stack trace is printed or DDB entered - 536then neither a stack trace is printed or DDB entered -
537it is as if DDB were not compiled into the kernel. 537it is as if DDB were not compiled into the kernel.
538Note that this sets the value of the 538Note that this sets the value of the
539.Em ddb.onpanic 539.Em ddb.onpanic
540.Xr sysctl 3 540.Xr sysctl 3
541variable which may be changed at run time -- see 541variable which may be changed at run time -- see
542.Xr sysctl 8 542.Xr sysctl 8
543for details. 543for details.
544.It Cd options DDB_COMMANDONENTER=string 544.It Cd options DDB_COMMANDONENTER=string
545This option specify commands which will be executed on each entry to DDB. 545This option specify commands which will be executed on each entry to DDB.
546This sets the default value of the 546This sets the default value of the
547.Em ddb.commandonenter 547.Em ddb.commandonenter
548.Xr sysctl 3 548.Xr sysctl 3
549variable which may be changed at run time. 549variable which may be changed at run time.
550.It Cd options DDB_BREAK_CHAR=integer 550.It Cd options DDB_BREAK_CHAR=integer
551This option overrides using break to enter the kernel debugger 551This option overrides using break to enter the kernel debugger
552on the serial console. 552on the serial console.
553The value given is the ASCII value to be used instead. 553The value given is the ASCII value to be used instead.
554This is currently only supported by the com driver. 554This is currently only supported by the com driver.
555.It Cd options DDB_VERBOSE_HELP 555.It Cd options DDB_VERBOSE_HELP
556This option adds more verbose descriptions to the 556This option adds more verbose descriptions to the
557.Em help 557.Em help
558command. 558command.
559.It Cd options KGDB 559.It Cd options KGDB
560Compiles in a remote kernel debugger stub for diagnosing kernel problems 560Compiles in a remote kernel debugger stub for diagnosing kernel problems
561using the 561using the
562.Dq remote target 562.Dq remote target
563feature of gdb. 563feature of gdb.
564See 564See
565.Xr gdb 1 565.Xr gdb 1
566for details. 566for details.
567.Em NOTE : 567.Em NOTE :
568not available on all architectures. 568not available on all architectures.
569.It Cd options KGDB_DEV 569.It Cd options KGDB_DEV
570Device number 570Device number
571.Po 571.Po
572as a 572as a
573.Dv dev_t 573.Dv dev_t
574.Pc 574.Pc
575of kgdb device. 575of kgdb device.
576.It Cd options KGDB_DEVADDR 576.It Cd options KGDB_DEVADDR
577Memory address of kgdb device. 577Memory address of kgdb device.
578.It Cd options KGDB_DEVMODE 578.It Cd options KGDB_DEVMODE
579Permissions of kgdb device. 579Permissions of kgdb device.
580.It Cd options KGDB_DEVNAME 580.It Cd options KGDB_DEVNAME
581Device name of kgdb device. 581Device name of kgdb device.
582.It Cd options KGDB_DEVRATE 582.It Cd options KGDB_DEVRATE
583Baud rate of kgdb device. 583Baud rate of kgdb device.
584.It Cd makeoptions DEBUG="-g" 584.It Cd makeoptions DEBUG="-g"
585The 585The
586.Fl g 586.Fl g
587flag causes 587flag causes
588.Pa netbsd.gdb 588.Pa netbsd.gdb
589to be built in addition to 589to be built in addition to
590.Pa netbsd . 590.Pa netbsd .
591.Pa netbsd.gdb 591.Pa netbsd.gdb
592is useful for debugging kernel crash dumps with gdb. 592is useful for debugging kernel crash dumps with gdb.
593See 593See
594.Xr gdb 1 594.Xr gdb 1
595for details. 595for details.
596This also turns on 596This also turns on
597.Em options DEBUG 597.Em options DEBUG
598(which see). 598(which see).
599.It Cd options DEBUG 599.It Cd options DEBUG
600Turns on miscellaneous kernel debugging. 600Turns on miscellaneous kernel debugging.
601Since options are turned into preprocessor defines (see above), 601Since options are turned into preprocessor defines (see above),
602.Em options DEBUG 602.Em options DEBUG
603is equivalent to doing a 603is equivalent to doing a
604.Em #define DEBUG 604.Em #define DEBUG
605throughout the kernel. 605throughout the kernel.
606Much of the kernel has 606Much of the kernel has
607.Em #ifdef DEBUG 607.Em #ifdef DEBUG
608conditionalized debugging code. 608conditionalized debugging code.
609Note that many parts of the kernel (typically device drivers) include their own 609Note that many parts of the kernel (typically device drivers) include their own
610.Em #ifdef XXX_DEBUG 610.Em #ifdef XXX_DEBUG
611conditionals instead. 611conditionals instead.
612This option also turns on certain other options, 612This option also turns on certain other options,
613which may decrease system performance. 613which may decrease system performance.
614Systems with this option are not suitable for regular use, and are 614Systems with this option are not suitable for regular use, and are
615intended only for debugging or looking for bugs. 615intended only for debugging or looking for bugs.
616.It Cd options DIAGNOSTIC 616.It Cd options DIAGNOSTIC
617Adds code to the kernel that does internal consistency checks. 617Adds code to the kernel that does internal consistency checks.
618This code will cause the kernel to panic if corruption of internal data 618This code will cause the kernel to panic if corruption of internal data
619structures is detected. 619structures is detected.
620Historically, the performance degradation is sufficiently small that 620Historically, the performance degradation is sufficiently small that
621it is reasonable for systems with 621it is reasonable for systems with
622.Em options DIAGNOSTIC 622.Em options DIAGNOSTIC
623to be in production use, with the real consideration not being 623to be in production use, with the real consideration not being
624performance but instead a preference for more panics versus continued 624performance but instead a preference for more panics versus continued
625operation with undetected problems. 625operation with undetected problems.
626.It Cd options LOCKDEBUG 626.It Cd options LOCKDEBUG
627Adds code to the kernel to detect incorrect use of locking primitives 627Adds code to the kernel to detect incorrect use of locking primitives
628(mutex, rwlock). 628(mutex, rwlock).
629This code will cause the kernel to check for dead lock conditions. 629This code will cause the kernel to check for dead lock conditions.
630It will also check for memory being freed to not contain initialised 630It will also check for memory being freed to not contain initialised
631lock primitives. 631lock primitives.
632Functions for use in 632Functions for use in
633.Xr ddb 4 633.Xr ddb 4
634to check lock chains etc. are also enabled. 634to check lock chains etc. are also enabled.
635These checks are very expensive and can decrease performance on 635These checks are very expensive and can decrease performance on
636multi-processor machines by a factor of three. 636multi-processor machines by a factor of three.
 637.It Cd options KDTRACE_HOOKS
 638Adds hooks for the DTrace tracing facility, which allows users to
 639analyse many aspects of system and application behavior.
 640See
 641.Xr dtrace 1
 642for details.
637.It Cd options KSTACK_CHECK_MAGIC 643.It Cd options KSTACK_CHECK_MAGIC
638Check kernel stack usage and panic if stack overflow is detected. 644Check kernel stack usage and panic if stack overflow is detected.
639This check is performance sensitive because it scans stack on each context 645This check is performance sensitive because it scans stack on each context
640switch. 646switch.
641.It Cd options KTRACE 647.It Cd options KTRACE
642Add hooks for the system call tracing facility, which allows users to 648Add hooks for the system call tracing facility, which allows users to
643watch the system call invocation behavior of processes. 649watch the system call invocation behavior of processes.
644See 650See
645.Xr ktrace 1 651.Xr ktrace 1
646for details. 652for details.
647.It Cd options MSGBUFSIZE=integer 653.It Cd options MSGBUFSIZE=integer
648This option sets the size of the kernel message buffer. 654This option sets the size of the kernel message buffer.
649This buffer holds the kernel output of 655This buffer holds the kernel output of
650.Fn printf 656.Fn printf
651when not (yet) read by 657when not (yet) read by
652.Xr syslogd 8 . 658.Xr syslogd 8 .
653This is particularly useful when the system has crashed and you wish to lookup 659This is particularly useful when the system has crashed and you wish to lookup
654the kernel output from just before the crash. 660the kernel output from just before the crash.
655Also, since the autoconfig output becomes more and more verbose, 661Also, since the autoconfig output becomes more and more verbose,
656it sometimes happens that the message buffer overflows before 662it sometimes happens that the message buffer overflows before
657.Xr syslogd 8 663.Xr syslogd 8
658was able to read it. 664was able to read it.
659Note that not all systems are capable of obtaining a variable sized message 665Note that not all systems are capable of obtaining a variable sized message
660buffer. 666buffer.
661There are also some systems on which memory contents are not preserved 667There are also some systems on which memory contents are not preserved
662across reboots. 668across reboots.
663.It Cd options KERNHIST 669.It Cd options KERNHIST
664Enables the kernel history logs, which create in-memory traces of 670Enables the kernel history logs, which create in-memory traces of
665various kernel activities. 671various kernel activities.
666These logs can be displayed by using 672These logs can be displayed by using
667.Cm show kernhist 673.Cm show kernhist
668from DDB. 674from DDB.
669See the kernel source file 675See the kernel source file
670.Pa sys/kern/kern_history.c 676.Pa sys/kern/kern_history.c
671and the 677and the
672.Xr kernhist 9 678.Xr kernhist 9
673manual for details. 679manual for details.
674.It Cd options KERNHIST_PRINT 680.It Cd options KERNHIST_PRINT
675Prints the kernel history logs on the system console as entries are added. 681Prints the kernel history logs on the system console as entries are added.
676Note that the output is 682Note that the output is
677.Em extremely 683.Em extremely
678voluminous, so this option is really only useful for debugging 684voluminous, so this option is really only useful for debugging
679the very earliest parts of kernel initialization. 685the very earliest parts of kernel initialization.
680.It Cd options UVMHIST 686.It Cd options UVMHIST
681Like 687Like
682.Em KERNHIST , 688.Em KERNHIST ,
683it enables the UVM history logs. 689it enables the UVM history logs.
684These logs can be displayed by using 690These logs can be displayed by using
685.Cm show kernhist 691.Cm show kernhist
686from DDB. 692from DDB.
687See the kernel source file 693See the kernel source file
688.Pa sys/uvm/uvm_stat.c 694.Pa sys/uvm/uvm_stat.c
689for details. 695for details.
690.It Cd options UVMHIST_PRINT 696.It Cd options UVMHIST_PRINT
691Like 697Like
692.Em UVMHIST , 698.Em UVMHIST ,
693it prints the UVM history logs on the system console as entries are added. 699it prints the UVM history logs on the system console as entries are added.
694Note that the output is 700Note that the output is
695.Em extremely 701.Em extremely
696voluminous, so this option is really only useful for debugging 702voluminous, so this option is really only useful for debugging
697the very earliest parts of kernel initialization. 703the very earliest parts of kernel initialization.
698.It Cd options UVMHIST_MAPHIST_SIZE 704.It Cd options UVMHIST_MAPHIST_SIZE
699Set the size of the 705Set the size of the
700.Dq maphist 706.Dq maphist
701kernel history. 707kernel history.
702The default is 100. 708The default is 100.
703This option depends upon the 709This option depends upon the
704.Em UVMHIST 710.Em UVMHIST
705option. 711option.
706.It Cd options UVMHIST_PDHIST_SIZE 712.It Cd options UVMHIST_PDHIST_SIZE
707Set the size of the 713Set the size of the
708.Dq pdhist 714.Dq pdhist
709kernel history. 715kernel history.
710The default is 100. 716The default is 100.
711This option depends upon the 717This option depends upon the
712.Em UVMHIST 718.Em UVMHIST
713option. 719option.
714.It Cd options BIOHIST 720.It Cd options BIOHIST
715Like 721Like
716.Em KERNHIST , 722.Em KERNHIST ,
717it enables the BIO history logs. 723it enables the BIO history logs.
718These logs can be displayed by using 724These logs can be displayed by using
719.Cm show kernhist 725.Cm show kernhist
720from DDB, and can help in debugging problems with Buffered I/O operations. 726from DDB, and can help in debugging problems with Buffered I/O operations.
721See the kernel source file 727See the kernel source file
722.Pa sys/kern/vfs_vio.c 728.Pa sys/kern/vfs_vio.c
723for details. 729for details.
724.It Cd options BIOHIST_PRINT 730.It Cd options BIOHIST_PRINT
725Like 731Like
726.Em BIOHIST , 732.Em BIOHIST ,
727it prints the BIO history logs on the system console as entries are added. 733it prints the BIO history logs on the system console as entries are added.
728Note that the output is 734Note that the output is
729.Em extremely 735.Em extremely
730voluminous, so this option is really only useful for debugging 736voluminous, so this option is really only useful for debugging
731the very earliest parts of kernel initialization. 737the very earliest parts of kernel initialization.
732.It Cd options BIOHIST_SIZE 738.It Cd options BIOHIST_SIZE
733Set the size of the 739Set the size of the
734.Dq biohist 740.Dq biohist
735kernel history. 741kernel history.
736The default is 500. 742The default is 500.
737This option depends upon the 743This option depends upon the
738.Em BIOHIST 744.Em BIOHIST
739option. 745option.
740.El 746.El
741.Ss File Systems 747.Ss File Systems
742.Bl -ohang 748.Bl -ohang
743.It Cd file-system FFS 749.It Cd file-system FFS
744Includes code implementing the Berkeley Fast File System 750Includes code implementing the Berkeley Fast File System
745.Po Em FFS Pc . 751.Po Em FFS Pc .
746Most machines need this if they are not running diskless. 752Most machines need this if they are not running diskless.
747.It Cd file-system EXT2FS 753.It Cd file-system EXT2FS
748Includes code implementing the Second Extended File System 754Includes code implementing the Second Extended File System
749.Po Em ext2 Pc , 755.Po Em ext2 Pc ,
750revision 0 and revision 1 with the 756revision 0 and revision 1 with the
751.Em filetype , 757.Em filetype ,
752.Em sparse_super 758.Em sparse_super
753and 759and
754.Em large_file 760.Em large_file
755options. 761options.
756This is the most commonly used file system on the Linux operating system, 762This is the most commonly used file system on the Linux operating system,
757and is provided here for compatibility. 763and is provided here for compatibility.
758Some of the specific features of 764Some of the specific features of
759.Em ext2 765.Em ext2
760like the "behavior on errors" are not implemented. 766like the "behavior on errors" are not implemented.
761See 767See
762.Xr mount_ext2fs 8 768.Xr mount_ext2fs 8
763for details. 769for details.
764.It Cd file-system LFS 770.It Cd file-system LFS
765.Bq Em EXPERIMENTAL 771.Bq Em EXPERIMENTAL
766Include the Log-structured File System 772Include the Log-structured File System
767.Po Em LFS Pc . 773.Po Em LFS Pc .
768See 774See
769.Xr mount_lfs 8 775.Xr mount_lfs 8
770and 776and
771.Xr newfs_lfs 8 777.Xr newfs_lfs 8
772for details. 778for details.
773.It Cd file-system MFS 779.It Cd file-system MFS
774Include the Memory File System 780Include the Memory File System
775.Po Em MFS Pc . 781.Po Em MFS Pc .
776This file system stores files in swappable memory, and produces 782This file system stores files in swappable memory, and produces
777notable performance improvements when it is used as the file store 783notable performance improvements when it is used as the file store
778for 784for
779.Pa /tmp 785.Pa /tmp
780and similar file systems. 786and similar file systems.
781See 787See
782.Xr mount_mfs 8 788.Xr mount_mfs 8
783for details. 789for details.
784.It Cd file-system NFS 790.It Cd file-system NFS
785Include the client side of the Network File System 791Include the client side of the Network File System
786.Pq Tn NFS 792.Pq Tn NFS
787remote file sharing protocol. 793remote file sharing protocol.
788Although the bulk of the code implementing 794Although the bulk of the code implementing
789.Tn NFS 795.Tn NFS
790is kernel based, several user level daemons are needed for it to work. 796is kernel based, several user level daemons are needed for it to work.
791See 797See
792.Xr mount_nfs 8 798.Xr mount_nfs 8
793for details. 799for details.
794.It Cd file-system CD9660 800.It Cd file-system CD9660
795Includes code for the 801Includes code for the
796.Tn ISO 802.Tn ISO
7979660 + Rock Ridge file system, which is the standard file system on many 8039660 + Rock Ridge file system, which is the standard file system on many
798.Tn CD-ROM 804.Tn CD-ROM
799discs. 805discs.
800Useful primarily if you have a 806Useful primarily if you have a
801.Tn CD-ROM 807.Tn CD-ROM
802drive. 808drive.
803See 809See
804.Xr mount_cd9660 8 810.Xr mount_cd9660 8
805for details. 811for details.
806.It Cd file-system MSDOSFS 812.It Cd file-system MSDOSFS
807Includes the 813Includes the
808.Tn MS-DOS 814.Tn MS-DOS
809FAT file system, which is reportedly still used 815FAT file system, which is reportedly still used
810by unfortunate people who have not heard about 816by unfortunate people who have not heard about
811.Nx . 817.Nx .
812Also implements the 818Also implements the
813.Tn Windows 95 819.Tn Windows 95
814extensions to the same, which permit the use of longer, mixed case 820extensions to the same, which permit the use of longer, mixed case
815file names. 821file names.
816See 822See
817.Xr mount_msdos 8 823.Xr mount_msdos 8
818and 824and
819.Xr fsck_msdos 8 825.Xr fsck_msdos 8
820for details. 826for details.
821.It Cd file-system NTFS 827.It Cd file-system NTFS
822.Bq Em EXPERIMENTAL 828.Bq Em EXPERIMENTAL
823Includes code for the 829Includes code for the
824.Tn Microsoft Windows NT 830.Tn Microsoft Windows NT
825file system. 831file system.
826See 832See
827.Xr mount_ntfs 8 833.Xr mount_ntfs 8
828for details. 834for details.
829.It Cd file-system FDESC 835.It Cd file-system FDESC
830Includes code for a file system, conventionally mounted on 836Includes code for a file system, conventionally mounted on
831.Pa /dev/fd , 837.Pa /dev/fd ,
832which permits access to the per-process file descriptor space via 838which permits access to the per-process file descriptor space via
833special files in the file system. 839special files in the file system.
834See 840See
835.Xr mount_fdesc 8 841.Xr mount_fdesc 8
836for details. 842for details.
837Note that this facility is redundant, and thus unneeded on most 843Note that this facility is redundant, and thus unneeded on most
838.Nx 844.Nx
839systems, since the 845systems, since the
840.Xr fd 4 846.Xr fd 4
841pseudo-device driver already provides identical functionality. 847pseudo-device driver already provides identical functionality.
842On most 848On most
843.Nx 849.Nx
844systems, instances of 850systems, instances of
845.Xr fd 4 851.Xr fd 4
846are mknoded under 852are mknoded under
847.Pa /dev/fd/ 853.Pa /dev/fd/
848and on 854and on
849.Pa /dev/stdin , 855.Pa /dev/stdin ,
850.Pa /dev/stdout , 856.Pa /dev/stdout ,
851and 857and
852.Pa /dev/stderr . 858.Pa /dev/stderr .
853.It Cd file-system KERNFS 859.It Cd file-system KERNFS
854Includes code which permits the mounting of a special file system 860Includes code which permits the mounting of a special file system
855(normally mounted on 861(normally mounted on
856.Pa /kern ) 862.Pa /kern )
857in which files representing various kernel variables and parameters 863in which files representing various kernel variables and parameters
858may be found. 864may be found.
859See 865See
860.Xr mount_kernfs 8 866.Xr mount_kernfs 8
861for details. 867for details.
862.It Cd file-system NULLFS 868.It Cd file-system NULLFS
863Includes code for a loopback file system. 869Includes code for a loopback file system.
864This permits portions of the file hierarchy to be re-mounted in other places. 870This permits portions of the file hierarchy to be re-mounted in other places.
865The code really exists to provide an example of a stackable file system layer. 871The code really exists to provide an example of a stackable file system layer.
866See 872See
867.Xr mount_null 8 873.Xr mount_null 8
868for details. 874for details.
869.It Cd file-system OVERLAY 875.It Cd file-system OVERLAY
870Includes code for a file system filter. 876Includes code for a file system filter.
871This permits the overlay file system to intercept all access to an underlying 877This permits the overlay file system to intercept all access to an underlying
872file system. 878file system.
873This file system is intended to serve as an example of a stacking file 879This file system is intended to serve as an example of a stacking file
874system which has a need to interpose itself between an underlying file 880system which has a need to interpose itself between an underlying file
875system and all other access. 881system and all other access.
876See 882See
877.Xr mount_overlay 8 883.Xr mount_overlay 8
878for details. 884for details.
879.It Cd file-system PROCFS 885.It Cd file-system PROCFS
880Includes code for a special file system (conventionally mounted on 886Includes code for a special file system (conventionally mounted on
881.Pa /proc ) 887.Pa /proc )
882in which the process space becomes visible in the file system. 888in which the process space becomes visible in the file system.
883Among 889Among
884other things, the memory spaces of processes running on the system are 890other things, the memory spaces of processes running on the system are
885visible as files, and signals may be sent to processes by writing to 891visible as files, and signals may be sent to processes by writing to
886.Pa ctl 892.Pa ctl
887files in the procfs namespace. 893files in the procfs namespace.
888See 894See
889.Xr mount_procfs 8 895.Xr mount_procfs 8
890for details. 896for details.
891.It Cd file-system UDF 897.It Cd file-system UDF
892.Bq Em EXPERIMENTAL 898.Bq Em EXPERIMENTAL
893Includes code for the UDF file system commonly found on CD and DVD 899Includes code for the UDF file system commonly found on CD and DVD
894media but also on USB sticks. 900media but also on USB sticks.
895Currently supports read and write access upto UDF 2.01 and somewhat limited 901Currently supports read and write access upto UDF 2.01 and somewhat limited
896write support for UDF 2.50. 902write support for UDF 2.50.
897It is marked experimental since there is no 903It is marked experimental since there is no
898.Xr fsck_udf 8 . 904.Xr fsck_udf 8 .
899See 905See
900.Xr mount_udf 8 906.Xr mount_udf 8
901for details. 907for details.
902.It Cd file-system UMAPFS 908.It Cd file-system UMAPFS
903Includes a loopback file system in which user and group IDs may be 909Includes a loopback file system in which user and group IDs may be
904remapped -- this can be useful when mounting alien file systems with 910remapped -- this can be useful when mounting alien file systems with
905different UIDs and GIDs than the local system. 911different UIDs and GIDs than the local system.
906See 912See
907.Xr mount_umap 8 913.Xr mount_umap 8
908for details. 914for details.
909.It Cd file-system UNION 915.It Cd file-system UNION
910.Bq Em EXPERIMENTAL 916.Bq Em EXPERIMENTAL
911Includes code for the union file system, which permits directories to 917Includes code for the union file system, which permits directories to
912be mounted on top of each other in such a way that both file systems 918be mounted on top of each other in such a way that both file systems
913remain visible -- this permits tricks like allowing writing (and the 919remain visible -- this permits tricks like allowing writing (and the
914deleting of files) on a read-only file system like a 920deleting of files) on a read-only file system like a
915.Tn CD-ROM 921.Tn CD-ROM
916by mounting a local writable file system on top of the read-only file system. 922by mounting a local writable file system on top of the read-only file system.
917See 923See
918.Xr mount_union 8 924.Xr mount_union 8
919for details. 925for details.
920.It Cd file-system CODA 926.It Cd file-system CODA
921.Bq Em EXPERIMENTAL 927.Bq Em EXPERIMENTAL
922Includes code for the Coda file system. 928Includes code for the Coda file system.
923Coda is a distributed file system like NFS and AFS. 929Coda is a distributed file system like NFS and AFS.
924It is freely available, like NFS, but it functions much like AFS in being a 930It is freely available, like NFS, but it functions much like AFS in being a
925.Dq stateful 931.Dq stateful
926file system. 932file system.
927Both Coda and AFS cache files on your local machine to improve performance. 933Both Coda and AFS cache files on your local machine to improve performance.
928Then Coda goes a step further than AFS by letting you access the cached 934Then Coda goes a step further than AFS by letting you access the cached
929files when there is no available network, viz. disconnected laptops and 935files when there is no available network, viz. disconnected laptops and
930network outages. 936network outages.
931In Coda, both the client and server are outside the kernel which makes 937In Coda, both the client and server are outside the kernel which makes
932them easier to experiment with. 938them easier to experiment with.
933Coda is available for several UNIX and non-UNIX platforms. 939Coda is available for several UNIX and non-UNIX platforms.
934See 940See
935.Lk http://www.coda.cs.cmu.edu 941.Lk http://www.coda.cs.cmu.edu
936for more details. 942for more details.
937.Em NOTE : 943.Em NOTE :
938You also need to enable the pseudo-device, vcoda, for the Coda 944You also need to enable the pseudo-device, vcoda, for the Coda
939file system to work. 945file system to work.
940.It Cd file-system SMBFS 946.It Cd file-system SMBFS
941.Bq Em EXPERIMENTAL 947.Bq Em EXPERIMENTAL
942Includes code for the SMB/CIFS file system. 948Includes code for the SMB/CIFS file system.
943See 949See
944.Xr mount_smbfs 8 950.Xr mount_smbfs 8
945for details. 951for details.
946.Em NOTE : 952.Em NOTE :
947You also need to enable the pseudo-device, nsmb, for the SMB 953You also need to enable the pseudo-device, nsmb, for the SMB
948file system to work. 954file system to work.
949.It Cd file-system PTYFS 955.It Cd file-system PTYFS
950.Bq Em EXPERIMENTAL 956.Bq Em EXPERIMENTAL
951Includes code for a special file system (normally mounted on 957Includes code for a special file system (normally mounted on
952.Pa /dev/pts ) 958.Pa /dev/pts )
953in which pseudo-terminal slave devices become visible in the file system. 959in which pseudo-terminal slave devices become visible in the file system.
954See 960See
955.Xr mount_ptyfs 8 961.Xr mount_ptyfs 8
956for details. 962for details.
957.It Cd file-system TMPFS 963.It Cd file-system TMPFS
958Includes code for the efficient memory file system, normally used over 964Includes code for the efficient memory file system, normally used over
959.Pa /tmp . 965.Pa /tmp .
960See 966See
961.Xr mount_tmpfs 8 967.Xr mount_tmpfs 8
962for details. 968for details.
963.It Cd file-system PUFFS 969.It Cd file-system PUFFS
964Includes kernel support for the pass-to-userspace framework file system. 970Includes kernel support for the pass-to-userspace framework file system.
965It can be used to implement file system functionality in userspace. 971It can be used to implement file system functionality in userspace.
966See 972See
967.Xr puffs 3 973.Xr puffs 3
968for more details. 974for more details.
969This enables for example sshfs: 975This enables for example sshfs:
970.Xr mount_psshfs 8 . 976.Xr mount_psshfs 8 .
971.El 977.El
972.Ss File System Options 978.Ss File System Options
973.Bl -ohang 979.Bl -ohang
974.It Cd options DISKLABEL_EI 980.It Cd options DISKLABEL_EI
975Enable 981Enable
976.Dq Endian-Independent 982.Dq Endian-Independent
977.Xr disklabel 5 983.Xr disklabel 5
978support. 984support.
979This allows a system to recognize a disklabel written in the other byte order. 985This allows a system to recognize a disklabel written in the other byte order.
980For writing, when a label already exists, its byte order is preserved. 986For writing, when a label already exists, its byte order is preserved.
981Otherwise, a new label is written in the native byte order. 987Otherwise, a new label is written in the native byte order.
982To specify the byte order explicitly, the 988To specify the byte order explicitly, the
983.Fl F 989.Fl F
984option of 990option of
985.Xr disklabel 8 991.Xr disklabel 8
986should be used with the 992should be used with the
987.Fl B 993.Fl B
988option in order to avoid using 994option in order to avoid using
989.Xr ioctl 2 , 995.Xr ioctl 2 ,
990which results in the default behavior explained above. 996which results in the default behavior explained above.
991At the moment this option is restricted to the following ports: 997At the moment this option is restricted to the following ports:
992amd64, bebox, emips, epoc32, evbarm, i386, ibmnws, landisk, mvmeppc, prep, 998amd64, bebox, emips, epoc32, evbarm, i386, ibmnws, landisk, mvmeppc, prep,
993.\" riscv, 999.\" riscv,
994rs6000, sandpoint, 1000rs6000, sandpoint,
995.\" usermode, 1001.\" usermode,
996xen, and zaurus; 1002xen, and zaurus;
997also to machines of the 1003also to machines of the
998.\" evbarm64, 1004.\" evbarm64,
999evbmips and evbppc ports that support 1005evbmips and evbppc ports that support
1000Master Boot Record (MBR). 1006Master Boot Record (MBR).
1001.It Cd options MAGICLINKS 1007.It Cd options MAGICLINKS
1002Enables the expansion of special strings 1008Enables the expansion of special strings
1003.Po 1009.Po
1004beginning with 1010beginning with
1005.Dq @ 1011.Dq @
1006.Pc 1012.Pc
1007when traversing symbolic links. 1013when traversing symbolic links.
1008See 1014See
1009.Xr symlink 7 1015.Xr symlink 7
1010for a list of supported strings. 1016for a list of supported strings.
1011Note that this option only controls the enabling of this feature 1017Note that this option only controls the enabling of this feature
1012by the kernel at boot-up. 1018by the kernel at boot-up.
1013This feature can still be manipulated with the 1019This feature can still be manipulated with the
1014.Xr sysctl 8 1020.Xr sysctl 8
1015command regardless of the setting of this option. 1021command regardless of the setting of this option.
1016.It Cd options NFSSERVER 1022.It Cd options NFSSERVER
1017Include the server side of the 1023Include the server side of the
1018.Em NFS 1024.Em NFS
1019(Network File System) remote file sharing protocol. 1025(Network File System) remote file sharing protocol.
1020Although the bulk of the code implementing 1026Although the bulk of the code implementing
1021.Em NFS 1027.Em NFS
1022is kernel based, several user level daemons are needed for it to 1028is kernel based, several user level daemons are needed for it to
1023work. 1029work.
1024See 1030See
1025.Xr mountd 8 1031.Xr mountd 8
1026and 1032and
1027.Xr nfsd 8 1033.Xr nfsd 8
1028for details. 1034for details.
1029.It Cd options NVNODE=integer 1035.It Cd options NVNODE=integer
1030This option sets the size of the cache used by the name-to-inode translation 1036This option sets the size of the cache used by the name-to-inode translation
1031routines, (a.k.a. the 1037routines, (a.k.a. the
1032.Fn namei 1038.Fn namei
1033cache, though called by many other names in the kernel source). 1039cache, though called by many other names in the kernel source).
1034By default, this cache has 1040By default, this cache has
1035.Dv (NPROC + NTEXT + 100) 1041.Dv (NPROC + NTEXT + 100)
1036entries (NPROC set as 20 + 16 * MAXUSERS and NTEXT as 80 + NPROC / 8). 1042entries (NPROC set as 20 + 16 * MAXUSERS and NTEXT as 80 + NPROC / 8).
1037A reasonable way to derive a value of 1043A reasonable way to derive a value of
1038.Dv NVNODE , 1044.Dv NVNODE ,
1039should you notice a large number of namei cache misses with a tool such as 1045should you notice a large number of namei cache misses with a tool such as
1040.Xr systat 1 , 1046.Xr systat 1 ,
1041is to examine your system's current computed value with 1047is to examine your system's current computed value with
1042.Xr sysctl 8 , 1048.Xr sysctl 8 ,
1043(which calls this parameter "kern.maxvnodes") and to increase this value 1049(which calls this parameter "kern.maxvnodes") and to increase this value
1044until either the namei cache hit rate improves or it is determined that 1050until either the namei cache hit rate improves or it is determined that
1045your system does not benefit substantially from an increase in the size of 1051your system does not benefit substantially from an increase in the size of
1046the namei cache. 1052the namei cache.
1047.It Cd options NAMECACHE_ENTER_REVERSE 1053.It Cd options NAMECACHE_ENTER_REVERSE
1048Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name) 1054Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name)
1049as well as a normal one. 1055as well as a normal one.
1050Normally, this is already done for directory vnodes, to speed up the getcwd 1056Normally, this is already done for directory vnodes, to speed up the getcwd
1051operation. 1057operation.
1052This option will cause longer hash chains in the reverse cache, and thus 1058This option will cause longer hash chains in the reverse cache, and thus
1053slow down getcwd somewhat. 1059slow down getcwd somewhat.
1054However, it does make vnode -\*[Gt] path translations possible in some cases. 1060However, it does make vnode -\*[Gt] path translations possible in some cases.
1055For now, only useful if strict 1061For now, only useful if strict
1056.Pa /proc/#/maps 1062.Pa /proc/#/maps
1057emulation for Linux binaries is required. 1063emulation for Linux binaries is required.
1058.El 1064.El
1059.Ss Options for FFS/UFS File Systems 1065.Ss Options for FFS/UFS File Systems
1060.Bl -ohang 1066.Bl -ohang
1061.It Cd options WAPBL 1067.It Cd options WAPBL
1062Enable 1068Enable
1063.Dq Write Ahead Physical Block Logging file system journaling . 1069.Dq Write Ahead Physical Block Logging file system journaling .
1064This provides rapid file system consistency checking after a system outage. 1070This provides rapid file system consistency checking after a system outage.
1065It also provides better general use performance over regular FFS. 1071It also provides better general use performance over regular FFS.
1066See also 1072See also
1067.Xr wapbl 4 . 1073.Xr wapbl 4 .
1068.It Cd options QUOTA 1074.It Cd options QUOTA
1069Enables kernel support for traditional quotas in FFS. 1075Enables kernel support for traditional quotas in FFS.
1070Traditional quotas store the quota information in external files and 1076Traditional quotas store the quota information in external files and
1071require 1077require
1072.Xr quotacheck 8 1078.Xr quotacheck 8
1073and 1079and
1074.Xr quotaon 8 1080.Xr quotaon 8
1075at boot time. 1081at boot time.
1076Traditional quotas are limited to 32-bit sizes and are at this point 1082Traditional quotas are limited to 32-bit sizes and are at this point
1077considered a legacy feature. 1083considered a legacy feature.
1078.It Cd options QUOTA2 1084.It Cd options QUOTA2
1079Enables kernel support for in-volume quotas in FFS. 1085Enables kernel support for in-volume quotas in FFS.
1080The quota information is file system metadata maintained by 1086The quota information is file system metadata maintained by
1081.Xr fsck 8 1087.Xr fsck 8
1082and/or WAPBL journaling. 1088and/or WAPBL journaling.
1083MFS volumes can also use 1089MFS volumes can also use
1084.Dv QUOTA2 1090.Dv QUOTA2
1085quotas; see 1091quotas; see
1086.Xr mount_mfs 8 1092.Xr mount_mfs 8
1087for more information. 1093for more information.
1088.It Cd options FFS_EI 1094.It Cd options FFS_EI
1089Enable 1095Enable
1090.Dq Endian-Independent 1096.Dq Endian-Independent
1091FFS support. 1097FFS support.
1092This allows a system to mount an FFS file system created for another 1098This allows a system to mount an FFS file system created for another
1093architecture, at a small performance cost for all FFS file systems. 1099architecture, at a small performance cost for all FFS file systems.
1094See also 1100See also
1095.Xr newfs 8 , 1101.Xr newfs 8 ,
1096.Xr fsck_ffs 8 , 1102.Xr fsck_ffs 8 ,
1097.Xr dumpfs 8 1103.Xr dumpfs 8
1098for file system byte order status and manipulation. 1104for file system byte order status and manipulation.
1099.It Cd options FFS_NO_SNAPSHOT 1105.It Cd options FFS_NO_SNAPSHOT
1100Disable support for the creation of file system internal snapshot 1106Disable support for the creation of file system internal snapshot
1101of FFS file systems. 1107of FFS file systems.
1102Maybe useful for install media kernels, small memory systems and 1108Maybe useful for install media kernels, small memory systems and
1103embedded systems which don't require the snapshot support. 1109embedded systems which don't require the snapshot support.
1104.It Cd options UFS_EXTATTR 1110.It Cd options UFS_EXTATTR
1105Enable extended attribute support for UFS1 file systems. 1111Enable extended attribute support for UFS1 file systems.
1106.It Cd options UFS_DIRHASH 1112.It Cd options UFS_DIRHASH
1107Increase lookup performance by maintaining in-core hash tables 1113Increase lookup performance by maintaining in-core hash tables
1108for large directories. 1114for large directories.
1109.El 1115.El
1110.Ss Options for the LFS File System 1116.Ss Options for the LFS File System
1111.Bl -ohang 1117.Bl -ohang
1112.\" .It Cd options LFS_KERNEL_RFW 1118.\" .It Cd options LFS_KERNEL_RFW
1113.\" There is no documentation for this. (XXX) 1119.\" There is no documentation for this. (XXX)
1114.\" .It Cd options LFS_QUOTA 1120.\" .It Cd options LFS_QUOTA
1115.\" Enable traditional quota support for LFS. 1121.\" Enable traditional quota support for LFS.
1116.\" (It is not clear if this works.) 1122.\" (It is not clear if this works.)
1117.\" .It Cd options LFS_QUOTA2 1123.\" .It Cd options LFS_QUOTA2
1118.\" Enable modernized 64-bit quota support for LFS. 1124.\" Enable modernized 64-bit quota support for LFS.
1119.\" (This does not work yet.) 1125.\" (This does not work yet.)
1120.It Cd options LFS_EI 1126.It Cd options LFS_EI
1121Enable 1127Enable
1122.Dq Endian-Independent 1128.Dq Endian-Independent
1123LFS support. 1129LFS support.
1124This allows (at a small performance cost) mounting an LFS file system 1130This allows (at a small performance cost) mounting an LFS file system
1125created for another architecture. 1131created for another architecture.
1126.\" .It Cd options LFS_EXTATTR 1132.\" .It Cd options LFS_EXTATTR
1127.\" Enable extended attribute support for LFS. 1133.\" Enable extended attribute support for LFS.
1128.\" (It is not clear if this works.) 1134.\" (It is not clear if this works.)
1129.It Cd options LFS_DIRHASH 1135.It Cd options LFS_DIRHASH
1130Increase lookup performance by maintaining in-core hash tables 1136Increase lookup performance by maintaining in-core hash tables
1131for large directories. 1137for large directories.
1132.El 1138.El
1133.Ss Options for the ext2fs File System 1139.Ss Options for the ext2fs File System
1134.Bl -ohang 1140.Bl -ohang
1135.It Cd options EXT2FS_SYSTEM_FLAGS 1141.It Cd options EXT2FS_SYSTEM_FLAGS
1136This option changes the behavior of the APPEND and IMMUTABLE flags 1142This option changes the behavior of the APPEND and IMMUTABLE flags
1137for a file on an 1143for a file on an
1138.Em ext2 1144.Em ext2
1139file system. 1145file system.
1140Without this option, the superuser or owner of the file can 1146Without this option, the superuser or owner of the file can
1141set and clear them. 1147set and clear them.
1142With this option, only the superuser can set them, and 1148With this option, only the superuser can set them, and
1143they can't be cleared if the securelevel is greater than 0. 1149they can't be cleared if the securelevel is greater than 0.
1144See also 1150See also
1145.Xr chflags 1 1151.Xr chflags 1
1146and 1152and
1147.Xr secmodel_securelevel 9 . 1153.Xr secmodel_securelevel 9 .
1148.El 1154.El
1149.Ss Options for the NFS File System 1155.Ss Options for the NFS File System
1150.Bl -ohang 1156.Bl -ohang
1151.It Cd options NFS_BOOT_BOOTP 1157.It Cd options NFS_BOOT_BOOTP
1152Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration 1158Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration
1153information if NFS is used to mount the root file system. 1159information if NFS is used to mount the root file system.
1154See 1160See
1155.Xr diskless 8 1161.Xr diskless 8
1156for details. 1162for details.
1157.It Cd options NFS_BOOT_BOOTSTATIC 1163.It Cd options NFS_BOOT_BOOTSTATIC
1158Enable use of static values defined as 1164Enable use of static values defined as
1159.Dq NFS_BOOTSTATIC_MYIP , 1165.Dq NFS_BOOTSTATIC_MYIP ,
1160.Dq NFS_BOOTSTATIC_GWIP , 1166.Dq NFS_BOOTSTATIC_GWIP ,
1161.Dq NFS_BOOTSTATIC_SERVADDR , 1167.Dq NFS_BOOTSTATIC_SERVADDR ,
1162and 1168and
1163.Dq NFS_BOOTSTATIC_SERVER 1169.Dq NFS_BOOTSTATIC_SERVER
1164in kernel options to get configuration information 1170in kernel options to get configuration information
1165if NFS is used to mount the root file system. 1171if NFS is used to mount the root file system.
1166.It Cd options NFS_BOOT_DHCP 1172.It Cd options NFS_BOOT_DHCP
1167Same as 1173Same as
1168.Dq NFS_BOOT_BOOTP , 1174.Dq NFS_BOOT_BOOTP ,
1169but use the DHCP extensions to the 1175but use the DHCP extensions to the
1170BOOTP protocol (RFC 1541). 1176BOOTP protocol (RFC 1541).
1171.It Cd options NFS_BOOT_BOOTP_REQFILE 1177.It Cd options NFS_BOOT_BOOTP_REQFILE
1172Specifies the string sent in the bp_file field of the BOOTP/DHCP 1178Specifies the string sent in the bp_file field of the BOOTP/DHCP
1173request packet. 1179request packet.
1174.It Cd options NFS_BOOT_BOOTPARAM 1180.It Cd options NFS_BOOT_BOOTPARAM
1175Enable use of the BOOTPARAM protocol, consisting of RARP and 1181Enable use of the BOOTPARAM protocol, consisting of RARP and
1176BOOTPARAM RPC, to get configuration information if NFS 1182BOOTPARAM RPC, to get configuration information if NFS
1177is used to mount the root file system. 1183is used to mount the root file system.
1178See 1184See
1179.Xr diskless 8 1185.Xr diskless 8
1180for details. 1186for details.
1181.It Cd options NFS_BOOT_RWSIZE=value 1187.It Cd options NFS_BOOT_RWSIZE=value
1182Set the initial NFS read and write sizes for diskless-boot requests. 1188Set the initial NFS read and write sizes for diskless-boot requests.
1183The normal default is 8Kbytes. 1189The normal default is 8Kbytes.
1184This option provides a way to lower the value (e.g., to 1024 bytes) 1190This option provides a way to lower the value (e.g., to 1024 bytes)
1185as a workaround for buggy network interface cards or boot PROMs. 1191as a workaround for buggy network interface cards or boot PROMs.
1186Once booted, the read and write request sizes can be increased by 1192Once booted, the read and write request sizes can be increased by
1187remounting the file system. 1193remounting the file system.
1188See 1194See
1189.Xr mount_nfs 8 1195.Xr mount_nfs 8
1190for details. 1196for details.
1191.It Cd options NFS_V2_ONLY 1197.It Cd options NFS_V2_ONLY
1192Reduce the size of the NFS client code by omitting code that's only required 1198Reduce the size of the NFS client code by omitting code that's only required
1193for NFSv3 and NQNFS support, leaving only that code required to use NFSv2 1199for NFSv3 and NQNFS support, leaving only that code required to use NFSv2
1194servers. 1200servers.
1195.It Cd options NFS_BOOT_TCP 1201.It Cd options NFS_BOOT_TCP
1196Use NFS over TCP instead of the default UDP, for mounting root. 1202Use NFS over TCP instead of the default UDP, for mounting root.
1197.El 1203.El
1198.Ss Buffer queue strategy options 1204.Ss Buffer queue strategy options
1199The following options enable alternative buffer queue strategies. 1205The following options enable alternative buffer queue strategies.
1200.Bl -ohang 1206.Bl -ohang
1201.It Cd options BUFQ_READPRIO 1207.It Cd options BUFQ_READPRIO
1202Enable experimental buffer queue strategy for disk I/O. 1208Enable experimental buffer queue strategy for disk I/O.
1203In the default strategy, outstanding disk requests are ordered by 1209In the default strategy, outstanding disk requests are ordered by
1204sector number and sent to the disk, regardless of whether the 1210sector number and sent to the disk, regardless of whether the
1205operation is a read or write; this option gives priority to issuing 1211operation is a read or write; this option gives priority to issuing
1206read requests over write requests. 1212read requests over write requests.
1207Although requests may therefore be issued out of sector-order, causing 1213Although requests may therefore be issued out of sector-order, causing
1208more seeks and thus lower overall throughput, interactive system 1214more seeks and thus lower overall throughput, interactive system
1209responsiveness under heavy disk I/O load may be improved, as processes 1215responsiveness under heavy disk I/O load may be improved, as processes
1210blocking on disk reads are serviced sooner (file writes typically 1216blocking on disk reads are serviced sooner (file writes typically
1211don't cause applications to block). 1217don't cause applications to block).
1212The performance effect varies greatly depending on the hardware, drive 1218The performance effect varies greatly depending on the hardware, drive
1213firmware, file system configuration, workload, and desired performance 1219firmware, file system configuration, workload, and desired performance
1214trade-off. 1220trade-off.
1215Systems using drive write-cache (most modern IDE disks, by default) 1221Systems using drive write-cache (most modern IDE disks, by default)
1216are unlikely to benefit and may well suffer; such disks acknowledge 1222are unlikely to benefit and may well suffer; such disks acknowledge
1217writes very quickly, and optimize them internally according to 1223writes very quickly, and optimize them internally according to
1218physical layout. 1224physical layout.
1219Giving these disks as many requests to work with as possible (the 1225Giving these disks as many requests to work with as possible (the
1220standard strategy) will typically produce the best results, especially 1226standard strategy) will typically produce the best results, especially
1221if the drive has a large cache; the drive will silently complete 1227if the drive has a large cache; the drive will silently complete
1222writes from cache as it seeks for reads. 1228writes from cache as it seeks for reads.
1223Disks that support a large number of concurrent tagged requests (SCSI 1229Disks that support a large number of concurrent tagged requests (SCSI
1224disks and many hardware RAID controllers) expose this internal 1230disks and many hardware RAID controllers) expose this internal
1225scheduling with tagged responses, and don't block for reads; such 1231scheduling with tagged responses, and don't block for reads; such
1226disks may not see a noticeable difference with either strategy. 1232disks may not see a noticeable difference with either strategy.
1227However, if IDE disks are run with write-cache disabled for safety, 1233However, if IDE disks are run with write-cache disabled for safety,
1228writes are not acknowledged until actually completed, and only one 1234writes are not acknowledged until actually completed, and only one
1229request can be outstanding; a large number of small writes in one 1235request can be outstanding; a large number of small writes in one
1230locality can keep the disk busy, starving reads elsewhere on the disk. 1236locality can keep the disk busy, starving reads elsewhere on the disk.
1231Such systems are likely to see the most benefit from this option. 1237Such systems are likely to see the most benefit from this option.
1232Finally, the performance interaction of this option with ffs soft 1238Finally, the performance interaction of this option with ffs soft
1233dependencies can be subtle, as that mechanism can drastically alter 1239dependencies can be subtle, as that mechanism can drastically alter
1234the workload for file system metadata writes. 1240the workload for file system metadata writes.
1235.It Cd options BUFQ_PRIOCSCAN 1241.It Cd options BUFQ_PRIOCSCAN
1236Enable another buffer queue strategy for disk I/O, per-priority cyclical scan. 1242Enable another buffer queue strategy for disk I/O, per-priority cyclical scan.
1237.It Cd options NEW_BUFQ_STRATEGY 1243.It Cd options NEW_BUFQ_STRATEGY
1238Synonym of 1244Synonym of
1239.Em BUFQ_READPRIO . 1245.Em BUFQ_READPRIO .
1240.El 1246.El
1241.Ss Miscellaneous Options 1247.Ss Miscellaneous Options
1242.Bl -ohang 1248.Bl -ohang
1243.It Cd options CPU_UCODE 1249.It Cd options CPU_UCODE
1244Support cpu microcode loading via 1250Support cpu microcode loading via
1245.Xr cpuctl 8 . 1251.Xr cpuctl 8 .
1246.It Cd options MEMORY_DISK_DYNAMIC 1252.It Cd options MEMORY_DISK_DYNAMIC
1247This option makes the 1253This option makes the
1248.Xr md 4 1254.Xr md 4
1249.Tn RAM 1255.Tn RAM
1250disk size dynamically sized. 1256disk size dynamically sized.
1251It is incompatible with 1257It is incompatible with
1252.Xr mdsetimage 8 . 1258.Xr mdsetimage 8 .
1253.It Cd options MEMORY_DISK_HOOKS 1259.It Cd options MEMORY_DISK_HOOKS
1254This option allows for some machine dependent functions to be called when 1260This option allows for some machine dependent functions to be called when
1255the 1261the
1256.Xr md 4 1262.Xr md 4
1257.Tn RAM 1263.Tn RAM
1258disk driver is configured. 1264disk driver is configured.
1259This can result in automatically loading a 1265This can result in automatically loading a
1260.Tn RAM 1266.Tn RAM
1261disk from floppy on open (among other things). 1267disk from floppy on open (among other things).
1262.It Cd options MEMORY_DISK_IS_ROOT 1268.It Cd options MEMORY_DISK_IS_ROOT
1263Forces the 1269Forces the
1264.Xr md 4 1270.Xr md 4
1265.Tn RAM 1271.Tn RAM
1266disk to be the root device. 1272disk to be the root device.
1267This can only be overridden when 1273This can only be overridden when
1268the kernel is booted in the 'ask-for-root' mode. 1274the kernel is booted in the 'ask-for-root' mode.
1269.It Cd options MEMORY_DISK_ROOT_SIZE=integer 1275.It Cd options MEMORY_DISK_ROOT_SIZE=integer
1270Allocates the given number of 512 byte blocks as memory for the 1276Allocates the given number of 512 byte blocks as memory for the
1271.Xr md 4 1277.Xr md 4
1272.Tn RAM 1278.Tn RAM
1273disk, to be populated with 1279disk, to be populated with
1274.Xr mdsetimage 8 . 1280.Xr mdsetimage 8 .
1275.It Cd options MEMORY_DISK_SERVER=0 1281.It Cd options MEMORY_DISK_SERVER=0
1276Do not include the interface to a userland memory disk server process. 1282Do not include the interface to a userland memory disk server process.
1277Per default, this option is set to 1, including the support code. 1283Per default, this option is set to 1, including the support code.
1278Useful for install media kernels. 1284Useful for install media kernels.
1279.It Cd options MEMORY_DISK_RBFLAGS=value 1285.It Cd options MEMORY_DISK_RBFLAGS=value
1280This option sets the 1286This option sets the
1281.Xr reboot 2 1287.Xr reboot 2
1282flags used when booting with a memory disk as root file system. 1288flags used when booting with a memory disk as root file system.
1283Possible values include 1289Possible values include
1284.Dv RB_AUTOBOOT 1290.Dv RB_AUTOBOOT
1285(boot in the usual fashion - default value), and 1291(boot in the usual fashion - default value), and
1286.Dv RB_SINGLE 1292.Dv RB_SINGLE
1287(boot in single-user mode). 1293(boot in single-user mode).
1288.It Cd options MODULAR 1294.It Cd options MODULAR
1289Enables the framework for kernel modules (see 1295Enables the framework for kernel modules (see
1290.Xr module 7 ) . 1296.Xr module 7 ) .
1291.It Cd options MODULAR_DEFAULT_AUTOLOAD 1297.It Cd options MODULAR_DEFAULT_AUTOLOAD
1292Enables the autoloading of kernel modules by default. 1298Enables the autoloading of kernel modules by default.
1293This sets the default value of the 1299This sets the default value of the
1294.Em kern.module.autoload 1300.Em kern.module.autoload
1295.Xr sysctl 3 1301.Xr sysctl 3
1296variable which may be changed at run time. 1302variable which may be changed at run time.
1297.It Cd options VND_COMPRESSION 1303.It Cd options VND_COMPRESSION
1298Enables the 1304Enables the
1299.Xr vnd 4 1305.Xr vnd 4
1300driver to also handle compressed images. 1306driver to also handle compressed images.
1301See 1307See
1302.Xr vndcompress 1 , 1308.Xr vndcompress 1 ,
1303.Xr vnd 4 1309.Xr vnd 4
1304and 1310and
1305.Xr vnconfig 8 1311.Xr vnconfig 8
1306for more information. 1312for more information.
1307.It Cd options SPLDEBUG 1313.It Cd options SPLDEBUG
1308Help the kernel programmer find bugs related to the interrupt priority 1314Help the kernel programmer find bugs related to the interrupt priority
1309level. 1315level.
1310When 1316When
1311.Fn spllower 1317.Fn spllower
1312or 1318or
1313.Fn splraise 1319.Fn splraise
1314changes the current CPU's interrupt priority level to or from 1320changes the current CPU's interrupt priority level to or from
1315.Dv IPL_HIGH , 1321.Dv IPL_HIGH ,
1316record a backtrace. 1322record a backtrace.
1317Read 1323Read
1318.Xr return_address 9 1324.Xr return_address 9
1319for caveats about collecting backtraces. 1325for caveats about collecting backtraces.
1320This feature is experimental, and it is only available on i386. 1326This feature is experimental, and it is only available on i386.
1321See 1327See
1322.Pa sys/kern/subr_spldebug.c . 1328.Pa sys/kern/subr_spldebug.c .
1323.It Cd options TFTPROOT 1329.It Cd options TFTPROOT
1324Download the root memory disk through TFTP at root mount time. 1330Download the root memory disk through TFTP at root mount time.
1325This enables the use of a root 1331This enables the use of a root
1326.Tn RAM 1332.Tn RAM
1327disk without requiring it to be embedded in the kernel using 1333disk without requiring it to be embedded in the kernel using
1328.Xr mdsetimage 8 . 1334.Xr mdsetimage 8 .
1329The 1335The
1330.Tn RAM 1336.Tn RAM
1331disk name is obtained using DHCP's filename parameter. 1337disk name is obtained using DHCP's filename parameter.
1332This option requires 1338This option requires
1333.Em MEMORY_DISK_HOOKS , 1339.Em MEMORY_DISK_HOOKS ,
1334.Em MEMORY_DISK_DYNAMIC , 1340.Em MEMORY_DISK_DYNAMIC ,
1335and 1341and
1336.Em MEMORY_DISK_IS_ROOT . 1342.Em MEMORY_DISK_IS_ROOT .
1337It is incompatible with 1343It is incompatible with
1338.Em MEMORY_DISK_ROOT_SIZE . 1344.Em MEMORY_DISK_ROOT_SIZE .
1339.It Cd options HZ=integer 1345.It Cd options HZ=integer
1340On ports that support it, set the system clock frequency (see 1346On ports that support it, set the system clock frequency (see
1341.Xr hz 9 ) 1347.Xr hz 9 )
1342to the supplied value. 1348to the supplied value.
1343Handle with care. 1349Handle with care.
1344.It Cd options NTP 1350.It Cd options NTP
1345Turns on in-kernel precision timekeeping support used by software 1351Turns on in-kernel precision timekeeping support used by software
1346implementing 1352implementing
1347.Em NTP 1353.Em NTP
1348(Network Time Protocol, RFC 1305). 1354(Network Time Protocol, RFC 1305).
1349The 1355The
1350.Em NTP 1356.Em NTP
1351option adds an in-kernel Phase-Locked Loop (PLL) for normal 1357option adds an in-kernel Phase-Locked Loop (PLL) for normal
1352.Em NTP 1358.Em NTP
1353operation, and a Frequency-Locked Loop (FLL) for intermittently-connected 1359operation, and a Frequency-Locked Loop (FLL) for intermittently-connected
1354operation. 1360operation.
1355.Xr ntpd 8 1361.Xr ntpd 8
1356will employ a user-level PLL when kernel support is unavailable, 1362will employ a user-level PLL when kernel support is unavailable,
1357but the in-kernel version has lower latency and more precision, and 1363but the in-kernel version has lower latency and more precision, and
1358so typically keeps much better time. 1364so typically keeps much better time.
1359.Pp 1365.Pp
1360The interface to the kernel 1366The interface to the kernel
1361.Em NTP 1367.Em NTP
1362support is provided by the 1368support is provided by the
1363.Xr ntp_adjtime 2 1369.Xr ntp_adjtime 2
1364and 1370and
1365.Xr ntp_gettime 2 1371.Xr ntp_gettime 2
1366system calls, which are intended for use by 1372system calls, which are intended for use by
1367.Xr ntpd 8 1373.Xr ntpd 8
1368and are enabled by the option. 1374and are enabled by the option.
1369On systems with sub-microsecond resolution timers, or where (HZ/100000) 1375On systems with sub-microsecond resolution timers, or where (HZ/100000)
1370is not an integer, the 1376is not an integer, the
1371.Em NTP 1377.Em NTP
1372option also enables extended-precision arithmetic to keep track of 1378option also enables extended-precision arithmetic to keep track of
1373fractional clock ticks at NTP time-format precision. 1379fractional clock ticks at NTP time-format precision.
1374.It Cd options PPS_SYNC 1380.It Cd options PPS_SYNC
1375This option enables a kernel serial line discipline for receiving time 1381This option enables a kernel serial line discipline for receiving time
1376phase signals from an external reference clock such as a radio clock. 1382phase signals from an external reference clock such as a radio clock.
1377.Po 1383.Po
1378The 1384The
1379.Em NTP 1385.Em NTP
1380option (which see) must be on if the 1386option (which see) must be on if the
1381.Em PPS_SYNC 1387.Em PPS_SYNC
1382option is used 1388option is used
1383.Pc . 1389.Pc .
1384Some reference clocks generate a Pulse Per Second (PPS) signal in 1390Some reference clocks generate a Pulse Per Second (PPS) signal in
1385phase with their time source. 1391phase with their time source.
1386The 1392The
1387.Em PPS 1393.Em PPS
1388line discipline receives this signal on either the data leads 1394line discipline receives this signal on either the data leads
1389or the DCD control lead of a serial port. 1395or the DCD control lead of a serial port.
1390.Pp 1396.Pp
1391.Em NTP 1397.Em NTP
1392uses the PPS signal to discipline the local clock oscillator to a high 1398uses the PPS signal to discipline the local clock oscillator to a high
1393degree of precision (typically less than 50 microseconds in time and 1399degree of precision (typically less than 50 microseconds in time and
13940.1 ppm in accuracy). 14000.1 ppm in accuracy).
1395.Em PPS 1401.Em PPS
1396can also generate a serial output pulse when the system receives a PPS 1402can also generate a serial output pulse when the system receives a PPS
1397interrupt. 1403interrupt.
1398This can be used to measure the system interrupt latency and thus calibrate 1404This can be used to measure the system interrupt latency and thus calibrate
1399.Em NTP 1405.Em NTP
1400to account for it. 1406to account for it.
1401Using 1407Using
1402.Em PPS 1408.Em PPS
1403usually requires a gadget box 1409usually requires a gadget box
1404to convert from 1410to convert from
1405.Tn TTL 1411.Tn TTL
1406to 1412to
1407.Tn RS-232 1413.Tn RS-232
1408signal levels. 1414signal levels.
1409The gadget box and PPS are described in more detail in the HTML documentation 1415The gadget box and PPS are described in more detail in the HTML documentation
1410for 1416for
1411.Xr ntpd 8 1417.Xr ntpd 8
1412in 1418in
1413.Pa /usr/share/doc/html/ntp . 1419.Pa /usr/share/doc/html/ntp .
1414.Pp 1420.Pp
1415.Nx 1421.Nx
1416currently supports this option in 1422currently supports this option in
1417.Xr com 4 1423.Xr com 4
1418and 1424and
1419.Xr zsc 4 . 1425.Xr zsc 4 .
1420.It Cd options SETUIDSCRIPTS 1426.It Cd options SETUIDSCRIPTS
1421Allows scripts with the setuid bit set to execute as the effective 1427Allows scripts with the setuid bit set to execute as the effective
1422user rather than the real user, just like binary executables. 1428user rather than the real user, just like binary executables.
1423.Pp 1429.Pp
1424.Em NOTE : 1430.Em NOTE :
1425Using this option will also enable 1431Using this option will also enable
1426.Em options FDSCRIPTS 1432.Em options FDSCRIPTS
1427.It Cd options FDSCRIPTS 1433.It Cd options FDSCRIPTS
1428Allows execution of scripts with the execute bit set, but not the 1434Allows execution of scripts with the execute bit set, but not the
1429read bit, by opening the file and passing the file descriptor to 1435read bit, by opening the file and passing the file descriptor to
1430the shell, rather than the filename. 1436the shell, rather than the filename.
1431.Pp 1437.Pp
1432.Em NOTE : 1438.Em NOTE :
1433Execute only (non-readable) scripts will have 1439Execute only (non-readable) scripts will have
1434.Va argv[0] 1440.Va argv[0]
1435set to 1441set to
1436.Pa /dev/fd/* . 1442.Pa /dev/fd/* .
1437What this option allows as far as security is 1443What this option allows as far as security is
1438concerned, is the ability to safely ensure that the correct script 1444concerned, is the ability to safely ensure that the correct script
1439is run by the interpreter, as it is passed as an already open file. 1445is run by the interpreter, as it is passed as an already open file.
1440.It Cd options RTC_OFFSET=integer 1446.It Cd options RTC_OFFSET=integer
1441The kernel (and typically the hardware battery backed-up clock on 1447The kernel (and typically the hardware battery backed-up clock on
1442those machines that have one) keeps time in 1448those machines that have one) keeps time in
1443.Em UTC 1449.Em UTC
1444(Universal Coordinated Time, once known as 1450(Universal Coordinated Time, once known as
1445.Em GMT , 1451.Em GMT ,
1446or Greenwich Mean Time) 1452or Greenwich Mean Time)
1447and not in the time of the local time zone. 1453and not in the time of the local time zone.
1448The 1454The
1449.Em RTC_OFFSET 1455.Em RTC_OFFSET
1450option is used on some ports (such as the i386) to tell the kernel 1456option is used on some ports (such as the i386) to tell the kernel
1451that the hardware clock is offset from 1457that the hardware clock is offset from
1452.Em UTC 1458.Em UTC
1453by the specified number of minutes. 1459by the specified number of minutes.
1454This is typically used when a machine boots several operating 1460This is typically used when a machine boots several operating
1455systems and one of them wants the hardware clock to run in the 1461systems and one of them wants the hardware clock to run in the
1456local time zone and not in 1462local time zone and not in
1457.Em UTC , 1463.Em UTC ,
1458e.g. 1464e.g.
1459.Em RTC_OFFSET=300 1465.Em RTC_OFFSET=300
1460means 1466means
1461the hardware clock is set to US Eastern Time (300 minutes behind 1467the hardware clock is set to US Eastern Time (300 minutes behind
1462.Em UTC ) , 1468.Em UTC ) ,
1463and not 1469and not
1464.Em UTC . 1470.Em UTC .
1465(Note: 1471(Note:
1466.Em RTC_OFFSET 1472.Em RTC_OFFSET
1467is used to initialize a kernel variable named 1473is used to initialize a kernel variable named
1468.Va rtc_offset 1474.Va rtc_offset
1469which is the source actually used to determine the clock offset, and 1475which is the source actually used to determine the clock offset, and
1470which may be accessed via the kern.rtc_offset sysctl variable. 1476which may be accessed via the kern.rtc_offset sysctl variable.
1471See 1477See
1472.Xr sysctl 8 1478.Xr sysctl 8
1473and 1479and
1474.Xr sysctl 3 1480.Xr sysctl 3
1475for details. 1481for details.
1476Since the kernel clock is initialized from the hardware clock very 1482Since the kernel clock is initialized from the hardware clock very
1477early in the boot process, it is not possible to meaningfully change 1483early in the boot process, it is not possible to meaningfully change
1478.Va rtc_offset 1484.Va rtc_offset
1479in system initialization scripts. 1485in system initialization scripts.
1480Changing this value currently may only be done at kernel compile 1486Changing this value currently may only be done at kernel compile
1481time or by patching the kernel and rebooting). 1487time or by patching the kernel and rebooting).
1482.Pp 1488.Pp
1483.Em NOTE : 1489.Em NOTE :
1484Unfortunately, in many cases where the hardware clock 1490Unfortunately, in many cases where the hardware clock
1485is kept in local time, it is adjusted for Daylight Savings 1491is kept in local time, it is adjusted for Daylight Savings
1486Time; this means that attempting to use 1492Time; this means that attempting to use
1487.Em RTC_OFFSET 1493.Em RTC_OFFSET
1488to let 1494to let
1489.Nx 1495.Nx
1490coexist with such an operating system, like Windows, 1496coexist with such an operating system, like Windows,
1491would necessitate changing 1497would necessitate changing
1492.Em RTC_OFFSET 1498.Em RTC_OFFSET
1493twice a year. 1499twice a year.
1494As such, this solution is imperfect. 1500As such, this solution is imperfect.
1495.It Cd options MAXUPRC=integer 1501.It Cd options MAXUPRC=integer
1496Sets the soft 1502Sets the soft
1497.Dv RLIMIT_NPROC 1503.Dv RLIMIT_NPROC
1498resource limit, which specifies the maximum number of simultaneous 1504resource limit, which specifies the maximum number of simultaneous
1499processes a user is permitted to run, for process 0; 1505processes a user is permitted to run, for process 0;
1500this value is inherited by its child processes. 1506this value is inherited by its child processes.
1501It defaults to 1507It defaults to
1502.Em CHILD_MAX , 1508.Em CHILD_MAX ,
1503which is currently defined to be 160. 1509which is currently defined to be 160.
1504Setting 1510Setting
1505.Em MAXUPRC 1511.Em MAXUPRC
1506to a value less than 1512to a value less than
1507.Em CHILD_MAX 1513.Em CHILD_MAX
1508is not permitted, as this would result in a violation of the semantics of 1514is not permitted, as this would result in a violation of the semantics of
1509.St -p1003.1-90 . 1515.St -p1003.1-90 .
1510.It Cd options NOFILE=integer 1516.It Cd options NOFILE=integer
1511Sets the soft 1517Sets the soft
1512.Dv RLIMIT_NOFILE 1518.Dv RLIMIT_NOFILE
1513resource limit, which specifies the maximum number of open 1519resource limit, which specifies the maximum number of open
1514file descriptors for each process; 1520file descriptors for each process;
1515this value is inherited by its child processes. 1521this value is inherited by its child processes.
1516It defaults to 1522It defaults to
1517.Em OPEN_MAX , 1523.Em OPEN_MAX ,
1518which is currently defined to be 128. 1524which is currently defined to be 128.
1519.It Cd options MAXFILES=integer 1525.It Cd options MAXFILES=integer
1520Sets the default value of the 1526Sets the default value of the
1521.Em kern.maxfiles 1527.Em kern.maxfiles
1522sysctl variable, which indicates the maximum number of files that may 1528sysctl variable, which indicates the maximum number of files that may
1523be open in the system. 1529be open in the system.
1524.It Cd options DEFCORENAME=string 1530.It Cd options DEFCORENAME=string
1525Sets the default value of the 1531Sets the default value of the
1526.Em kern.defcorename 1532.Em kern.defcorename
1527sysctl variable, otherwise it is set to 1533sysctl variable, otherwise it is set to
1528.Nm %n.core . 1534.Nm %n.core .
1529See 1535See
1530.Xr sysctl 8 1536.Xr sysctl 8
1531and 1537and
1532.Xr sysctl 3 1538.Xr sysctl 3
1533for details. 1539for details.
1534.It Cd options RASOPS_CLIPPING 1540.It Cd options RASOPS_CLIPPING
1535Enables clipping within the 1541Enables clipping within the
1536.Nm rasops 1542.Nm rasops
1537raster-console output system. 1543raster-console output system.
1538.Em NOTE : 1544.Em NOTE :
1539only available on architectures that use 1545only available on architectures that use
1540.Nm rasops 1546.Nm rasops
1541for console output. 1547for console output.
1542.It Cd options RASOPS_SMALL 1548.It Cd options RASOPS_SMALL
1543Removes optimized character writing code from the 1549Removes optimized character writing code from the
1544.Nm rasops 1550.Nm rasops
1545raster-console output system. 1551raster-console output system.
1546.Em NOTE : 1552.Em NOTE :
1547only available on architectures that use 1553only available on architectures that use
1548.Nm rasops 1554.Nm rasops
1549for console output. 1555for console output.
1550.It Cd options INCLUDE_CONFIG_FILE 1556.It Cd options INCLUDE_CONFIG_FILE
1551Embeds the kernel config file used to define the kernel in the kernel 1557Embeds the kernel config file used to define the kernel in the kernel
1552binary itself. 1558binary itself.
1553The embedded data also includes any files directly included by the config 1559The embedded data also includes any files directly included by the config
1554file itself, e.g. 1560file itself, e.g.
1555.Pa GENERIC.local 1561.Pa GENERIC.local
1556or 1562or
1557.Pa std.$MACHINE . 1563.Pa std.$MACHINE .
1558The embedded config file can be extracted from the resulting kernel with 1564The embedded config file can be extracted from the resulting kernel with
1559.Xr config 1 1565.Xr config 1
1560.Fl x , 1566.Fl x ,
1561or by the following command: 1567or by the following command:
1562.Bd -literal -offset indent 1568.Bd -literal -offset indent
1563strings netbsd | sed -n 's/^_CFG_//p' | unvis 1569strings netbsd | sed -n 's/^_CFG_//p' | unvis
1564.Ed 1570.Ed
1565.It Cd options INCLUDE_JUST_CONFIG 1571.It Cd options INCLUDE_JUST_CONFIG
1566Similar to the above option, but includes just the actual config file, 1572Similar to the above option, but includes just the actual config file,
1567not any included files. 1573not any included files.
1568.It Cd options PIPE_SOCKETPAIR 1574.It Cd options PIPE_SOCKETPAIR
1569Use slower, but smaller socketpair(2)-based pipe implementation instead 1575Use slower, but smaller socketpair(2)-based pipe implementation instead
1570of default faster, but bigger one. 1576of default faster, but bigger one.
1571Primarily useful for installation kernels. 1577Primarily useful for installation kernels.
1572.It Cd options USERCONF 1578.It Cd options USERCONF
1573Compiles in the in-kernel device configuration manager. 1579Compiles in the in-kernel device configuration manager.
1574See 1580See
1575.Xr userconf 4 1581.Xr userconf 4
1576for details. 1582for details.
1577.It Cd options PERFCTRS 1583.It Cd options PERFCTRS
1578Compiles in kernel support for CPU performance-monitoring counters. 1584Compiles in kernel support for CPU performance-monitoring counters.
1579See 1585See
1580.Xr pmc 1 1586.Xr pmc 1
1581for details. 1587for details.
1582.Em NOTE : 1588.Em NOTE :
1583not available on all architectures. 1589not available on all architectures.
1584.It Cd options SCDEBUG_DEFAULT 1590.It Cd options SCDEBUG_DEFAULT
1585Used with the 1591Used with the
1586.Cd options SYSCALL_DEBUG 1592.Cd options SYSCALL_DEBUG
1587described below to choose which types of events are displayed. 1593described below to choose which types of events are displayed.
1588.Pp 1594.Pp
1589.Bl -tag -width "SCDEBUG_KERNHIST" -compact -offset indent 1595.Bl -tag -width "SCDEBUG_KERNHIST" -compact -offset indent
1590.It Dv SCDEBUG_CALLS 1596.It Dv SCDEBUG_CALLS
1591Show system call entry points. 1597Show system call entry points.
1592.It Dv SCDEBUG_RETURNS 1598.It Dv SCDEBUG_RETURNS
1593Show system call exit points. 1599Show system call exit points.
1594.It Dv SCDEBUG_ALL 1600.It Dv SCDEBUG_ALL
1595Show all system call requestes, including unimplemented calls. 1601Show all system call requestes, including unimplemented calls.
1596.It Dv SCDEBUG_SHOWARGS 1602.It Dv SCDEBUG_SHOWARGS
1597Show the arguments provided. 1603Show the arguments provided.
1598.It Dv SCDEBUG_KERNHIST 1604.It Dv SCDEBUG_KERNHIST
1599Store a restricted form of the system call debug in a kernel history 1605Store a restricted form of the system call debug in a kernel history
1600instead of printing it to the console. 1606instead of printing it to the console.
1601This option relies upon 1607This option relies upon
1602.Cd options KERNHIST . 1608.Cd options KERNHIST .
1603.El 1609.El
1604.Pp 1610.Pp
1605The default value is 1611The default value is
1606.Dv (SCDEBUG_CALLS|SCDEBUG_RETURNS|SCDEBUG_SHOWARGS) . 1612.Dv (SCDEBUG_CALLS|SCDEBUG_RETURNS|SCDEBUG_SHOWARGS) .
1607.It Cd options SYSCALL_DEBUG 1613.It Cd options SYSCALL_DEBUG
1608Useful for debugging system call issues, usually in early single user bringup. 1614Useful for debugging system call issues, usually in early single user bringup.
1609By default, writes entries to the system console for most system call events. 1615By default, writes entries to the system console for most system call events.
1610Can be configured with the 1616Can be configured with the
1611.Cd options SCDEBUG_DEFAULT 1617.Cd options SCDEBUG_DEFAULT
1612option to to use the 1618option to to use the
1613.Cd options KERNHIST 1619.Cd options KERNHIST
1614facility instead. 1620facility instead.
1615.It Cd options SYSCALL_STATS 1621.It Cd options SYSCALL_STATS
1616Count the number of times each system call number is called. 1622Count the number of times each system call number is called.
1617The values can be read through the sysctl interface and displayed using 1623The values can be read through the sysctl interface and displayed using
1618.Xr systat 1 . 1624.Xr systat 1 .
1619.Em NOTE : 1625.Em NOTE :
1620not yet available on all architectures. 1626not yet available on all architectures.
1621.It Cd options SYSCALL_TIMES 1627.It Cd options SYSCALL_TIMES
1622Count the time spent (using 1628Count the time spent (using
1623.Fn cpu_counter32 ) 1629.Fn cpu_counter32 )
1624in each system call. 1630in each system call.
1625.Em NOTE : 1631.Em NOTE :
1626Using this option will also enable 1632Using this option will also enable
1627.Cd options SYSCALL_STATS . 1633.Cd options SYSCALL_STATS .
1628.It Cd options SYSCALL_TIMES_HASCOUNTER 1634.It Cd options SYSCALL_TIMES_HASCOUNTER
1629Force use of 1635Force use of
1630.Fn cpu_counter32 1636.Fn cpu_counter32
1631even if 1637even if
1632.Fn cpu_hascounter 1638.Fn cpu_hascounter
1633reports false. 1639reports false.
1634Useful for systems where the cycle counter doesn't run at a constant rate 1640Useful for systems where the cycle counter doesn't run at a constant rate
1635(e.g. Soekris boxes). 1641(e.g. Soekris boxes).