| @@ -1,2197 +1,2197 @@ | | | @@ -1,2197 +1,2197 @@ |
1 | .\" $NetBSD: options.4,v 1.517 2020/10/09 01:49:53 gutteridge Exp $ | | 1 | .\" $NetBSD: options.4,v 1.518 2021/03/14 02:56:07 rin 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 October 9, 2020 | | 33 | .Dd March 14, 2021 |
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 |
50 | This manual page describes a number of miscellaneous kernel | | 50 | This manual page describes a number of miscellaneous kernel |
51 | configuration options that may be specified in a kernel config | | 51 | configuration options that may be specified in a kernel config |
52 | file. | | 52 | file. |
53 | See | | 53 | See |
54 | .Xr config 1 | | 54 | .Xr config 1 |
55 | and | | 55 | and |
56 | .Xr config 5 | | 56 | .Xr config 5 |
57 | for information on how to configure and build kernels. | | 57 | for information on how to configure and build kernels. |
58 | .Pp | | 58 | .Pp |
59 | The | | 59 | The |
60 | .Ar no | | 60 | .Ar no |
61 | form removes a previously specified option. | | 61 | form removes a previously specified option. |
62 | .Ss Keywords | | 62 | .Ss Keywords |
63 | The following keywords are recognized in a kernel configuration file: | | 63 | The 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 |
66 | Conditionally includes another kernel configuration file whose name is | | 66 | Conditionally includes another kernel configuration file whose name is |
67 | .Ar filename , | | 67 | .Ar filename , |
68 | which may be double-quoted and may be an explicit path or relative to | | 68 | which may be double-quoted and may be an explicit path or relative to |
69 | the kernel source directory. | | 69 | the kernel source directory. |
70 | Failure to open the named file is ignored. | | 70 | Failure 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 \ |
72 | Oo dumps on Ar dumpdev Oc | | 72 | Oo dumps on Ar dumpdev Oc |
73 | Defines a configuration whose kernel executable is named | | 73 | Defines a configuration whose kernel executable is named |
74 | .Ar exec_name , | | 74 | .Ar exec_name , |
75 | normally | | 75 | normally |
76 | .Dq netbsd , | | 76 | .Dq netbsd , |
77 | with its root file system of type | | 77 | with its root file system of type |
78 | .Ar fstype | | 78 | .Ar fstype |
79 | on the device | | 79 | on the device |
80 | .Ar rootdev , | | 80 | .Ar rootdev , |
81 | and optionally specifying the location of kernel core dumps on the device | | 81 | and optionally specifying the location of kernel core dumps on the device |
82 | .Ar dumpdev . | | 82 | .Ar dumpdev . |
83 | .Ar dev | | 83 | .Ar dev |
84 | or | | 84 | or |
85 | .Ar dumpdev | | 85 | .Ar dumpdev |
86 | and | | 86 | and |
87 | .Ar fstype | | 87 | .Ar fstype |
88 | may be specified as | | 88 | may be specified as |
89 | .Dq \&? , | | 89 | .Dq \&? , |
90 | which is a wild card. | | 90 | which is a wild card. |
91 | The root | | 91 | The root |
92 | .Ar fstype | | 92 | .Ar fstype |
93 | and | | 93 | and |
94 | .Ar dumpdev | | 94 | .Ar dumpdev |
95 | are optional and assumed to be wild carded if they are not specified. | | 95 | are 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 \ |
97 | Oo Ar locators value Oo ... Oc Oc Oo flags Ar value Oc | | 97 | Oo Ar locators value Oo ... Oc Oc Oo flags Ar value Oc |
98 | Define an instance of the device driver | | 98 | Define an instance of the device driver |
99 | .Ar device_instance | | 99 | .Ar device_instance |
100 | that attaches to the bus or device named | | 100 | that attaches to the bus or device named |
101 | .Ar attachment . | | 101 | .Ar attachment . |
102 | An | | 102 | An |
103 | .Ar attachment | | 103 | .Ar attachment |
104 | may require additional information on where the device can be found, such | | 104 | may require additional information on where the device can be found, such |
105 | as an address, channel, function, offset, and/or slot, referred to as | | 105 | as an address, channel, function, offset, and/or slot, referred to as |
106 | .Ar locators , | | 106 | .Ar locators , |
107 | whose | | 107 | whose |
108 | .Ar value | | 108 | .Ar value |
109 | often may be a wild card, | | 109 | often may be a wild card, |
110 | .Dq \&? . | | 110 | .Dq \&? . |
111 | Some device drivers have one or more | | 111 | Some device drivers have one or more |
112 | .Ar flags | | 112 | .Ar flags |
113 | that can be adjusted to affect the way they operate. | | 113 | that 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 ... |
115 | Include support for the file-system | | 115 | Include 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 |
118 | Sets the kernel identification string to | | 118 | Sets 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 |
121 | Functions the same as | | 121 | Functions the same as |
122 | .Ar cinclude , | | 122 | .Ar cinclude , |
123 | except failure to open | | 123 | except failure to open |
124 | .Ar filename | | 124 | .Ar filename |
125 | produces a fatal error. | | 125 | produces a fatal error. |
126 | .It Sy makeoptions Ar name=value | | 126 | .It Sy makeoptions Ar name=value |
127 | Defines a | | 127 | Defines a |
128 | .Xr make 1 | | 128 | .Xr make 1 |
129 | macro | | 129 | macro |
130 | .Ar name | | 130 | .Ar name |
131 | with the value | | 131 | with the value |
132 | .Ar value | | 132 | .Ar value |
133 | in the kernel Makefile. | | 133 | in the kernel Makefile. |
134 | .It Sy maxusers Ar integer | | 134 | .It Sy maxusers Ar integer |
135 | Set the maxusers variable in the kernel. | | 135 | Set the maxusers variable in the kernel. |
136 | .It Sy no Ar keyword Ar name Op Ar arguments Op ... | | 136 | .It Sy no Ar keyword Ar name Op Ar arguments Op ... |
137 | For the | | 137 | For the |
138 | .Xr config 1 | | 138 | .Xr config 1 |
139 | .Ar keywords | | 139 | .Ar keywords |
140 | file-system, makeoptions, options, and pseudo-device, | | 140 | file-system, makeoptions, options, and pseudo-device, |
141 | .Ar no | | 141 | .Ar no |
142 | removes the file-system, makeoption, options, or pseudo-device, | | 142 | removes the file-system, makeoption, options, or pseudo-device, |
143 | .Ar name . | | 143 | .Ar name . |
144 | This is useful when a kernel configuration file includes another which | | 144 | This is useful when a kernel configuration file includes another which |
145 | has undesired options. | | 145 | has undesired options. |
146 | .Pp | | 146 | .Pp |
147 | For example, a local configuration file that wanted the kitchen sink, but | | 147 | For example, a local configuration file that wanted the kitchen sink, but |
148 | not COMPAT_09 or bridging, might be: | | 148 | not COMPAT_09 or bridging, might be: |
149 | .Bd -literal -offset indent | | 149 | .Bd -literal -offset indent |
150 | include "arch/i386/conf/GENERIC" | | 150 | include "arch/i386/conf/GENERIC" |
151 | no options COMPAT_09 | | 151 | no options COMPAT_09 |
152 | no pseudo-device bridge | | 152 | no pseudo-device bridge |
153 | .Ed | | 153 | .Ed |
154 | .It Sy options Ar option_name Op , Ar option_name=value Op ... | | 154 | .It Sy options Ar option_name Op , Ar option_name=value Op ... |
155 | Specifies (or sets) the option, or comma-separated list of options, | | 155 | Specifies (or sets) the option, or comma-separated list of options, |
156 | .Ar option_name . | | 156 | .Ar option_name . |
157 | Some options expect to be assigned a value, which may be an integer, | | 157 | Some options expect to be assigned a value, which may be an integer, |
158 | a double-quoted word, a bare word, or an empty string | | 158 | a double-quoted word, a bare word, or an empty string |
159 | .Pq Qq . | | 159 | .Pq Qq . |
160 | Note that those are eventually handled by the C compiler, so the rules | | 160 | Note that those are eventually handled by the C compiler, so the rules |
161 | of that language apply. | | 161 | of that language apply. |
162 | .Pp | | 162 | .Pp |
163 | .Em Note : | | 163 | .Em Note : |
164 | Options that are not defined by device definition files are passed to | | 164 | Options that are not defined by device definition files are passed to |
165 | the compile process as | | 165 | the compile process as |
166 | .Fl D | | 166 | .Fl D |
167 | flags to the C compiler. | | 167 | flags to the C compiler. |
168 | .It Sy pseudo-device Ar name Op Ar N | | 168 | .It Sy pseudo-device Ar name Op Ar N |
169 | Includes support for the pseudo-device | | 169 | Includes support for the pseudo-device |
170 | .Ar name . | | 170 | .Ar name . |
171 | Some pseudo-devices can have multiple or | | 171 | Some pseudo-devices can have multiple or |
172 | .Ar N | | 172 | .Ar N |
173 | instances. | | 173 | instances. |
174 | .El | | 174 | .El |
175 | .Ss Compatibility Options | | 175 | .Ss Compatibility Options |
176 | Note that compatibility options for older | | 176 | Note that compatibility options for older |
177 | .Nx | | 177 | .Nx |
178 | releases includes support for newer releases as well. | | 178 | releases includes support for newer releases as well. |
179 | This means that typically only one of these is necessary, with the | | 179 | This means that typically only one of these is necessary, with the |
180 | .Cd COMPAT_09 | | 180 | .Cd COMPAT_09 |
181 | option enabling all | | 181 | option enabling all |
182 | .Nx | | 182 | .Nx |
183 | compatibility. | | 183 | compatibility. |
184 | This does not include the | | 184 | This does not include the |
185 | .Cd COMPAT_43 | | 185 | .Cd COMPAT_43 |
186 | or | | 186 | or |
187 | .Cd COMPAT_44 | | 187 | .Cd COMPAT_44 |
188 | options. | | 188 | options. |
189 | .Bl -ohang | | 189 | .Bl -ohang |
190 | .It Cd options COMPAT_09 | | 190 | .It Cd options COMPAT_09 |
191 | Enable binary compatibility with | | 191 | Enable binary compatibility with |
192 | .Nx 0.9 . | | 192 | .Nx 0.9 . |
193 | This enables support for | | 193 | This enables support for |
194 | 16-bit user, group, and process IDs (following revisions support | | 194 | 16-bit user, group, and process IDs (following revisions support |
195 | 32-bit identifiers). | | 195 | 32-bit identifiers). |
196 | It also allows the use of the deprecated | | 196 | It also allows the use of the deprecated |
197 | .Xr getdomainname 3 , | | 197 | .Xr getdomainname 3 , |
198 | .Xr setdomainname 3 , | | 198 | .Xr setdomainname 3 , |
199 | and | | 199 | and |
200 | .Xr uname 3 | | 200 | .Xr uname 3 |
201 | syscalls. | | 201 | syscalls. |
202 | This option also allows using numeric file system identifiers rather | | 202 | This option also allows using numeric file system identifiers rather |
203 | than strings. | | 203 | than strings. |
204 | Post | | 204 | Post |
205 | .Nx 0.9 | | 205 | .Nx 0.9 |
206 | versions use string identifiers. | | 206 | versions use string identifiers. |
207 | .It Cd options COMPAT_10 | | 207 | .It Cd options COMPAT_10 |
208 | Enable binary compatibility with | | 208 | Enable binary compatibility with |
209 | .Nx 1.0 . | | 209 | .Nx 1.0 . |
210 | This option allows the use of the file system name of | | 210 | This option allows the use of the file system name of |
211 | .Dq ufs | | 211 | .Dq ufs |
212 | as an alias for | | 212 | as an alias for |
213 | .Dq ffs . | | 213 | .Dq ffs . |
214 | The name | | 214 | The name |
215 | .Dq ffs | | 215 | .Dq ffs |
216 | should be used post 1.0 in | | 216 | should be used post 1.0 in |
217 | .Pa /etc/fstab | | 217 | .Pa /etc/fstab |
218 | and other files. | | 218 | and other files. |
219 | It also adds old syscalls for the | | 219 | It also adds old syscalls for the |
220 | .At V | | 220 | .At V |
221 | shared memory interface. | | 221 | shared memory interface. |
222 | This was changed post 1.0 to work on 64-bit architectures. | | 222 | This was changed post 1.0 to work on 64-bit architectures. |
223 | This option also enables | | 223 | This option also enables |
224 | .Dq sgtty | | 224 | .Dq sgtty |
225 | compatibility, without which programs using the old interface produce | | 225 | compatibility, without which programs using the old interface produce |
226 | an | | 226 | an |
227 | .Dq inappropriate ioctl | | 227 | .Dq inappropriate ioctl |
228 | error, and | | 228 | error, and |
229 | .Pa /dev/io | | 229 | .Pa /dev/io |
230 | only works when this option is set in the kernel, | | 230 | only works when this option is set in the kernel, |
231 | see | | 231 | see |
232 | .Xr io 4 | | 232 | .Xr io 4 |
233 | on ports that support it. | | 233 | on ports that support it. |
234 | .It Cd options COMPAT_11 | | 234 | .It Cd options COMPAT_11 |
235 | Enable binary compatibility with | | 235 | Enable binary compatibility with |
236 | .Nx 1.1 . | | 236 | .Nx 1.1 . |
237 | This allows binaries running on the i386 port to gain direct access to | | 237 | This allows binaries running on the i386 port to gain direct access to |
238 | the io ports by opening | | 238 | the io ports by opening |
239 | .Pa /dev/io | | 239 | .Pa /dev/io |
240 | read/write. | | 240 | read/write. |
241 | This functionality was replaced by | | 241 | This functionality was replaced by |
242 | .Xr i386_iopl 2 | | 242 | .Xr i386_iopl 2 |
243 | post 1.1. | | 243 | post 1.1. |
244 | On the Atari port, the location of the disk label was moved after 1.1. | | 244 | On the Atari port, the location of the disk label was moved after 1.1. |
245 | When the | | 245 | When the |
246 | .Em COMPAT_11 | | 246 | .Em COMPAT_11 |
247 | option is set, the kernel will read (pre) 1.1 style disk labels as a | | 247 | option is set, the kernel will read (pre) 1.1 style disk labels as a |
248 | last resort. | | 248 | last resort. |
249 | When a disk label is re-written, the old style label will be replaced | | 249 | When a disk label is re-written, the old style label will be replaced |
250 | with a post 1.1 style label. | | 250 | with a post 1.1 style label. |
251 | This also enables the | | 251 | This also enables the |
252 | .Em EXEC_ELF_NOTELESS | | 252 | .Em EXEC_ELF_NOTELESS |
253 | option. | | 253 | option. |
254 | .It Cd options COMPAT_12 | | 254 | .It Cd options COMPAT_12 |
255 | Enable binary compatibility with | | 255 | Enable binary compatibility with |
256 | .Nx 1.2 . | | 256 | .Nx 1.2 . |
257 | This allows the use of old syscalls for | | 257 | This allows the use of old syscalls for |
258 | .Fn reboot | | 258 | .Fn reboot |
259 | and | | 259 | and |
260 | .Fn swapon . | | 260 | .Fn swapon . |
261 | The syscall numbers were changed post 1.2 to add functionality to the | | 261 | The syscall numbers were changed post 1.2 to add functionality to the |
262 | .Xr reboot 2 | | 262 | .Xr reboot 2 |
263 | syscall, and the new | | 263 | syscall, and the new |
264 | .Xr swapctl 2 | | 264 | .Xr swapctl 2 |
265 | interface was introduced. | | 265 | interface was introduced. |
266 | This also enables the | | 266 | This also enables the |
267 | .Em EXEC_ELF_NOTELESS | | 267 | .Em EXEC_ELF_NOTELESS |
268 | option. | | 268 | option. |
269 | .It Cd options COMPAT_13 | | 269 | .It Cd options COMPAT_13 |
270 | Enable binary compatibility with | | 270 | Enable binary compatibility with |
271 | .Nx 1.3 . | | 271 | .Nx 1.3 . |
272 | This allows the use of old syscalls for | | 272 | This allows the use of old syscalls for |
273 | .Fn sigaltstack , | | 273 | .Fn sigaltstack , |
274 | and also enables the old | | 274 | and also enables the old |
275 | .Xr swapctl 2 | | 275 | .Xr swapctl 2 |
276 | command | | 276 | command |
277 | .Dv SWAP_STATS | | 277 | .Dv SWAP_STATS |
278 | (now called | | 278 | (now called |
279 | .Dv SWAP_OSTATS ) , | | 279 | .Dv SWAP_OSTATS ) , |
280 | which does not include the | | 280 | which does not include the |
281 | .Fa se_path | | 281 | .Fa se_path |
282 | member of | | 282 | member of |
283 | .Va struct swapent . | | 283 | .Va struct swapent . |
284 | .It Cd options COMPAT_14 | | 284 | .It Cd options COMPAT_14 |
285 | Enable binary compatibility with | | 285 | Enable binary compatibility with |
286 | .Nx 1.4 . | | 286 | .Nx 1.4 . |
287 | This allows some old | | 287 | This allows some old |
288 | .Xr ioctl 2 | | 288 | .Xr ioctl 2 |
289 | on | | 289 | on |
290 | .Xr wscons 4 | | 290 | .Xr wscons 4 |
291 | to be performed, and allows the | | 291 | to be performed, and allows the |
292 | .Dv NFSSVC_BIOD | | 292 | .Dv NFSSVC_BIOD |
293 | mode of the | | 293 | mode of the |
294 | .Xr nfssvc 2 | | 294 | .Xr nfssvc 2 |
295 | system call to be used for compatibility with the deprecated nfsiod program. | | 295 | system call to be used for compatibility with the deprecated nfsiod program. |
296 | .It Cd options COMPAT_15 | | 296 | .It Cd options COMPAT_15 |
297 | Enable binary compatibility with | | 297 | Enable binary compatibility with |
298 | .Nx 1.5 . | | 298 | .Nx 1.5 . |
299 | Since there were no API changes from | | 299 | Since there were no API changes from |
300 | .Nx 1.5 | | 300 | .Nx 1.5 |
301 | and | | 301 | and |
302 | .Nx 1.6 , | | 302 | .Nx 1.6 , |
303 | this option does nothing. | | 303 | this option does nothing. |
304 | .It Cd options COMPAT_16 | | 304 | .It Cd options COMPAT_16 |
305 | Enable binary compatibility with | | 305 | Enable binary compatibility with |
306 | .Nx 1.6 . | | 306 | .Nx 1.6 . |
307 | This allows the use of old signal trampoline code which has been deprecated | | 307 | This allows the use of old signal trampoline code which has been deprecated |
308 | with the addition of | | 308 | with the addition of |
309 | .Xr siginfo 2 . | | 309 | .Xr siginfo 2 . |
310 | .It Cd options COMPAT_20 | | 310 | .It Cd options COMPAT_20 |
311 | Enable binary compatibility with | | 311 | Enable binary compatibility with |
312 | .Nx 2.0 . | | 312 | .Nx 2.0 . |
313 | This allows the use of old syscalls for | | 313 | This allows the use of old syscalls for |
314 | .Fn statfs , | | 314 | .Fn statfs , |
315 | .Fn fstatfs , | | 315 | .Fn fstatfs , |
316 | .Fn getfsstat | | 316 | .Fn getfsstat |
317 | and | | 317 | and |
318 | .Fn fhstatfs , | | 318 | .Fn fhstatfs , |
319 | which have been deprecated with the addition of the | | 319 | which have been deprecated with the addition of the |
320 | .Xr statvfs 2 , | | 320 | .Xr statvfs 2 , |
321 | .Xr fstatvfs 2 , | | 321 | .Xr fstatvfs 2 , |
322 | .Xr getvfsstat 2 | | 322 | .Xr getvfsstat 2 |
323 | and | | 323 | and |
324 | .Xr fhstatvfs 2 | | 324 | .Xr fhstatvfs 2 |
325 | system calls. | | 325 | system calls. |
326 | .It Cd options COMPAT_30 | | 326 | .It Cd options COMPAT_30 |
327 | Enable binary compatibility with | | 327 | Enable binary compatibility with |
328 | .Nx 3.0 . | | 328 | .Nx 3.0 . |
329 | See | | 329 | See |
330 | .Xr compat_30 8 | | 330 | .Xr compat_30 8 |
331 | for details about the changes made after the | | 331 | for details about the changes made after the |
332 | .Nx 3.0 | | 332 | .Nx 3.0 |
333 | release. | | 333 | release. |
334 | .It Cd options COMPAT_40 | | 334 | .It Cd options COMPAT_40 |
335 | Enable binary compatibility with | | 335 | Enable binary compatibility with |
336 | .Nx 4.0 . | | 336 | .Nx 4.0 . |
337 | This allows the use of old | | 337 | This allows the use of old |
338 | .Xr ptrace 2 | | 338 | .Xr ptrace 2 |
339 | calls for the SH3 platform. | | 339 | calls for the SH3 platform. |
340 | It also enables the old | | 340 | It also enables the old |
341 | .Xr mount 2 | | 341 | .Xr mount 2 |
342 | system call that did not include the data length parameter. | | 342 | system call that did not include the data length parameter. |
343 | The power_event_t structure's pev_switch is filled in. | | 343 | The power_event_t structure's pev_switch is filled in. |
344 | .It Cd options COMPAT_43 | | 344 | .It Cd options COMPAT_43 |
345 | Enables compatibility with | | 345 | Enables compatibility with |
346 | .Bx 4.3 . | | 346 | .Bx 4.3 . |
347 | This adds an old syscall for | | 347 | This adds an old syscall for |
348 | .Xr lseek 2 . | | 348 | .Xr lseek 2 . |
349 | It also adds the ioctls for | | 349 | It also adds the ioctls for |
350 | .Dv TIOCGETP | | 350 | .Dv TIOCGETP |
351 | and | | 351 | and |
352 | .Dv TIOCSETP . | | 352 | .Dv TIOCSETP . |
353 | The return values for | | 353 | The return values for |
354 | .Xr getpid 2 , | | 354 | .Xr getpid 2 , |
355 | .Xr getgid 2 , | | 355 | .Xr getgid 2 , |
356 | and | | 356 | and |
357 | .Xr getuid 2 | | 357 | .Xr getuid 2 |
358 | syscalls are modified as well, to return the parent's PID and | | 358 | syscalls are modified as well, to return the parent's PID and |
359 | UID as well as the current process's. | | 359 | UID as well as the current process's. |
360 | It also enables the deprecated | | 360 | It also enables the deprecated |
361 | .Dv NTTYDISC | | 361 | .Dv NTTYDISC |
362 | terminal line discipline. | | 362 | terminal line discipline. |
363 | It also provides backwards compatibility with | | 363 | It also provides backwards compatibility with |
364 | .Dq old | | 364 | .Dq old |
365 | SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including | | 365 | SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including |
366 | binary compatibility with code written before the introduction of the | | 366 | binary compatibility with code written before the introduction of the |
367 | sa_len field in sockaddrs. | | 367 | sa_len field in sockaddrs. |
368 | It also enables | | 368 | It also enables |
369 | support for some older pre | | 369 | support for some older pre |
370 | .Bx 4.4 | | 370 | .Bx 4.4 |
371 | socket calls. | | 371 | socket calls. |
372 | .It Cd options COMPAT_50 | | 372 | .It Cd options COMPAT_50 |
373 | Enable binary compatibility with | | 373 | Enable binary compatibility with |
374 | .Nx 5.0 . | | 374 | .Nx 5.0 . |
375 | This enables support for the old | | 375 | This enables support for the old |
376 | .Ft time_t | | 376 | .Ft time_t |
377 | and | | 377 | and |
378 | .Ft dev_t | | 378 | .Ft dev_t |
379 | types as 32 bit, and all the associated kernel interface changes. | | 379 | types as 32 bit, and all the associated kernel interface changes. |
380 | It also enables old | | 380 | It also enables old |
381 | .Xr gpio 4 | | 381 | .Xr gpio 4 |
382 | and | | 382 | and |
383 | .Xr rnd 4 | | 383 | .Xr rnd 4 |
384 | interfaces. | | 384 | interfaces. |
385 | .It Cd options COMPAT_60 | | 385 | .It Cd options COMPAT_60 |
386 | Enable binary compatibility with | | 386 | Enable binary compatibility with |
387 | .Nx 6.0 . | | 387 | .Nx 6.0 . |
388 | This provides old | | 388 | This provides old |
389 | .Xr ccd 4 | | 389 | .Xr ccd 4 |
390 | interfaces, enables support for old | | 390 | interfaces, enables support for old |
391 | .Xr cpuctl 8 | | 391 | .Xr cpuctl 8 |
392 | microcode interfaces, and support for the old | | 392 | microcode interfaces, and support for the old |
393 | .Ft ptmget | | 393 | .Ft ptmget |
394 | structure. | | 394 | structure. |
395 | .It Cd options COMPAT_70 | | 395 | .It Cd options COMPAT_70 |
396 | Enable binary compatibility with | | 396 | Enable binary compatibility with |
397 | .Nx 7.0 . | | 397 | .Nx 7.0 . |
398 | This provides support for old | | 398 | This provides support for old |
399 | .Xr route 4 | | 399 | .Xr route 4 |
400 | interfaces. | | 400 | interfaces. |
401 | .It Cd options COMPAT_80 | | 401 | .It Cd options COMPAT_80 |
402 | Enable binary compatibility with | | 402 | Enable binary compatibility with |
403 | .Nx 8.0 . | | 403 | .Nx 8.0 . |
404 | .It Cd options COMPAT_90 | | 404 | .It Cd options COMPAT_90 |
405 | Enable binary compatibility with | | 405 | Enable binary compatibility with |
406 | .Nx 9.0 . | | 406 | .Nx 9.0 . |
407 | .It Cd options COMPAT_BSDPTY | | 407 | .It Cd options COMPAT_BSDPTY |
408 | This option is currently on by default and enables the pty multiplexer | | 408 | This option is currently on by default and enables the pty multiplexer |
409 | .Xr ptm 4 | | 409 | .Xr ptm 4 |
410 | and | | 410 | and |
411 | .Xr ptmx 4 | | 411 | .Xr ptmx 4 |
412 | to find and use ptys named | | 412 | to find and use ptys named |
413 | .Pa /dev/ptyXX | | 413 | .Pa /dev/ptyXX |
414 | (master) and | | 414 | (master) and |
415 | .Pa /dev/ttyXX | | 415 | .Pa /dev/ttyXX |
416 | (slave). | | 416 | (slave). |
417 | Eventually this option will become optional as ptyfs based pseudo-ttys become | | 417 | Eventually this option will become optional as ptyfs based pseudo-ttys become |
418 | the default, see | | 418 | the default, see |
419 | .Xr mount_ptyfs 8 . | | 419 | .Xr mount_ptyfs 8 . |
420 | .It Cd options COMPAT_LINUX | | 420 | .It Cd options COMPAT_LINUX |
421 | On those architectures that support it, this enables binary | | 421 | On those architectures that support it, this enables binary |
422 | compatibility with Linux ELF and | | 422 | compatibility with Linux ELF and |
423 | .Xr a.out 5 | | 423 | .Xr a.out 5 |
424 | applications built for the same architecture. | | 424 | applications built for the same architecture. |
425 | This currently includes the alpha, arm, i386, m68k, mips, powerpc and | | 425 | This currently includes the alpha, arm, i386, m68k, mips, powerpc and |
426 | x86_64 ports. | | 426 | x86_64 ports. |
427 | .It Cd options COMPAT_LINUX32 | | 427 | .It Cd options COMPAT_LINUX32 |
428 | On those 64 bit architectures that support it, this enables binary | | 428 | On those 64 bit architectures that support it, this enables binary |
429 | compatibility with 32 bit Linux binaries. | | 429 | compatibility with 32 bit Linux binaries. |
430 | For now this is limited to running i386 ELF Linux binaries on amd64. | | 430 | For now this is limited to running i386 ELF Linux binaries on amd64. |
431 | .It Cd options COMPAT_SUNOS | | 431 | .It Cd options COMPAT_SUNOS |
432 | On those architectures that support it, this enables binary | | 432 | On those architectures that support it, this enables binary |
433 | compatibility with SunOS 4.1 applications built for the same architecture. | | 433 | compatibility with SunOS 4.1 applications built for the same architecture. |
434 | This currently includes the sparc, sparc64 and most or all m68k ports. | | 434 | This currently includes the sparc, sparc64 and most or all m68k ports. |
435 | Note that the sparc64 requires the | | 435 | Note that the sparc64 requires the |
436 | .Em COMPAT_NETBSD32 | | 436 | .Em COMPAT_NETBSD32 |
437 | option for 64-bit kernels, in addition to this option. | | 437 | option for 64-bit kernels, in addition to this option. |
438 | .It Cd options COMPAT_ULTRIX | | 438 | .It Cd options COMPAT_ULTRIX |
439 | On those architectures that support it, this enables binary | | 439 | On those architectures that support it, this enables binary |
440 | compatibility with ULTRIX applications built for the same architecture. | | 440 | compatibility with ULTRIX applications built for the same architecture. |
441 | This currently is limited to the pmax. | | 441 | This currently is limited to the pmax. |
442 | The functionality of this option is unknown. | | 442 | The functionality of this option is unknown. |
443 | .It Cd options COMPAT_FREEBSD | | 443 | .It Cd options COMPAT_FREEBSD |
444 | On those architectures that support it, this enables binary | | 444 | On those architectures that support it, this enables binary |
445 | compatibility with | | 445 | compatibility with |
446 | .Fx | | 446 | .Fx |
447 | applications built for the same architecture. | | 447 | applications built for the same architecture. |
448 | At the moment this is limited to the i386 port. | | 448 | At the moment this is limited to the i386 port. |
449 | .It Cd options COMPAT_NOMID | | 449 | .It Cd options COMPAT_NOMID |
450 | Enable compatibility with | | 450 | Enable compatibility with |
451 | .Xr a.out 5 | | 451 | .Xr a.out 5 |
452 | executables that lack a machine ID. | | 452 | executables that lack a machine ID. |
453 | This includes | | 453 | This includes |
454 | .Nx 0.8 Ns 's | | 454 | .Nx 0.8 Ns 's |
455 | ZMAGIC format, and 386BSD and BSDI's | | 455 | ZMAGIC format, and 386BSD and BSDI's |
456 | QMAGIC, NMAGIC, and OMAGIC | | 456 | QMAGIC, NMAGIC, and OMAGIC |
457 | .Xr a.out 5 | | 457 | .Xr a.out 5 |
458 | formats. | | 458 | formats. |
459 | .It Cd options COMPAT_NETBSD32 | | 459 | .It Cd options COMPAT_NETBSD32 |
460 | On those architectures that support it, this enables binary | | 460 | On those architectures that support it, this enables binary |
461 | compatibility with 32-bit applications built for the same architecture. | | 461 | compatibility with 32-bit applications built for the same architecture. |
462 | This is currently limited to the amd64 and sparc64 ports, and only | | 462 | This is currently limited to the amd64 and sparc64 ports, and only |
463 | applicable for 64-bit kernels. | | 463 | applicable for 64-bit kernels. |
464 | .It Cd options COMPAT_AOUT_M68K | | 464 | .It Cd options COMPAT_AOUT_M68K |
465 | On m68k architectures which have switched to ELF, | | 465 | On m68k architectures which have switched to ELF, |
466 | this enables binary compatibility with | | 466 | this enables binary compatibility with |
467 | .Nx Ns /m68k | | 467 | .Nx Ns /m68k |
468 | .Xr a.out 5 | | 468 | .Xr a.out 5 |
469 | executables on | | 469 | executables on |
470 | .Nx Ns /m68k | | 470 | .Nx Ns /m68k |
471 | ELF kernels. | | 471 | ELF kernels. |
472 | This handles alignment incompatibility of m68k ABI between | | 472 | This handles alignment incompatibility of m68k ABI between |
473 | a.out and ELF which causes the structure padding differences. | | 473 | a.out and ELF which causes the structure padding differences. |
474 | Currently only some system calls which use | | 474 | Currently only some system calls which use |
475 | .Va struct stat | | 475 | .Va struct stat |
476 | are adjusted and some binaries which use | | 476 | are adjusted and some binaries which use |
477 | .Xr sysctl 3 | | 477 | .Xr sysctl 3 |
478 | to retrieve network details would not work properly. | | 478 | to retrieve network details would not work properly. |
479 | .It Cd options EMUL_NATIVEROOT=string | | 479 | .It Cd options EMUL_NATIVEROOT=string |
480 | Just like emulated binaries first try looking up files in | | 480 | Just like emulated binaries first try looking up files in |
481 | an emulation root (e.g. | | 481 | an emulation root (e.g. |
482 | .Pa /emul/linux ) | | 482 | .Pa /emul/linux ) |
483 | before looking them up in real root, this option causes native | | 483 | before looking them up in real root, this option causes native |
484 | binaries to first look up files in an "emulation" directory too. | | 484 | binaries to first look up files in an "emulation" directory too. |
485 | This can be useful to test an amd64 kernel on top of an i386 system | | 485 | This can be useful to test an amd64 kernel on top of an i386 system |
486 | before full migration: by unpacking the amd64 distribution in e.g. | | 486 | before full migration: by unpacking the amd64 distribution in e.g. |
487 | .Pa /emul/netbsd64 | | 487 | .Pa /emul/netbsd64 |
488 | and specifying that location as | | 488 | and specifying that location as |
489 | .Cd EMUL_NATIVEROOT , | | 489 | .Cd EMUL_NATIVEROOT , |
490 | native amd64 binaries can be run while the root file system remains | | 490 | native amd64 binaries can be run while the root file system remains |
491 | populated with i386 binaries. | | 491 | populated with i386 binaries. |
492 | Beware of | | 492 | Beware of |
493 | .Pa /dev | | 493 | .Pa /dev |
494 | incompatibilities between i386 and amd64 if you do this. | | 494 | incompatibilities between i386 and amd64 if you do this. |
495 | .It Cd options EXEC_ELF_NOTELESS | | 495 | .It Cd options EXEC_ELF_NOTELESS |
496 | Run unidentified ELF binaries as | | 496 | Run unidentified ELF binaries as |
497 | .Nx | | 497 | .Nx |
498 | binaries. | | 498 | binaries. |
499 | This might be needed for very old | | 499 | This might be needed for very old |
500 | .Nx | | 500 | .Nx |
501 | ELF binaries on some archs. | | 501 | ELF binaries on some archs. |
502 | These old binaries didn't contain an appropriate | | 502 | These old binaries didn't contain an appropriate |
503 | .Li .note.netbsd.ident | | 503 | .Li .note.netbsd.ident |
504 | section, and thus can't be identified by the kernel as | | 504 | section, and thus can't be identified by the kernel as |
505 | .Nx | | 505 | .Nx |
506 | binaries otherwise. | | 506 | binaries otherwise. |
507 | Beware - if this option is on, the kernel would run | | 507 | Beware - if this option is on, the kernel would run |
508 | .Em any | | 508 | .Em any |
509 | unknown ELF binaries as if they were | | 509 | unknown ELF binaries as if they were |
510 | .Nx | | 510 | .Nx |
511 | binaries. | | 511 | binaries. |
512 | .El | | 512 | .El |
513 | .Ss Debugging Options | | 513 | .Ss Debugging Options |
514 | .Bl -ohang | | 514 | .Bl -ohang |
515 | .It Cd options DDB | | 515 | .It Cd options DDB |
516 | Compiles in a kernel debugger for diagnosing kernel problems. | | 516 | Compiles in a kernel debugger for diagnosing kernel problems. |
517 | See | | 517 | See |
518 | .Xr ddb 4 | | 518 | .Xr ddb 4 |
519 | for details. | | 519 | for details. |
520 | .Em NOTE : | | 520 | .Em NOTE : |
521 | not available on all architectures. | | 521 | not available on all architectures. |
522 | .It Cd options DDB_FROMCONSOLE=integer | | 522 | .It Cd options DDB_FROMCONSOLE=integer |
523 | If set to non-zero, DDB may be entered by sending a break on a serial | | 523 | If set to non-zero, DDB may be entered by sending a break on a serial |
524 | console or by a special key sequence on a graphics console. | | 524 | console or by a special key sequence on a graphics console. |
525 | A value of "0" ignores console breaks or key sequences. | | 525 | A value of "0" ignores console breaks or key sequences. |
526 | If not explicitly specified, the default value is "1". | | 526 | If not explicitly specified, the default value is "1". |
527 | Note that this sets the value of the | | 527 | Note that this sets the value of the |
528 | .Em ddb.fromconsole | | 528 | .Em ddb.fromconsole |
529 | .Xr sysctl 3 | | 529 | .Xr sysctl 3 |
530 | variable which may be changed at run time \(em see | | 530 | variable which may be changed at run time \(em see |
531 | .Xr sysctl 8 | | 531 | .Xr sysctl 8 |
532 | for details. | | 532 | for details. |
533 | .It Cd options DDB_HISTORY_SIZE=integer | | 533 | .It Cd options DDB_HISTORY_SIZE=integer |
534 | If this is non-zero, enable history editing in the kernel debugger | | 534 | If this is non-zero, enable history editing in the kernel debugger |
535 | and set the size of the history to this value. | | 535 | and set the size of the history to this value. |
536 | .It Cd options DDB_ONPANIC | | 536 | .It Cd options DDB_ONPANIC |
537 | The default if not specified is | | 537 | The default if not specified is |
538 | .Dq 1 | | 538 | .Dq 1 |
539 | - just enter into DDB. | | 539 | - just enter into DDB. |
540 | If set to | | 540 | If set to |
541 | .Dq 0 | | 541 | .Dq 0 |
542 | the kernel will attempt to print out a stack trace | | 542 | the kernel will attempt to print out a stack trace |
543 | and reboot the system. | | 543 | and reboot the system. |
544 | If set to | | 544 | If set to |
545 | .Dq -1 | | 545 | .Dq -1 |
546 | then neither a stack trace is printed or DDB entered - | | 546 | then neither a stack trace is printed or DDB entered - |
547 | it is as if DDB were not compiled into the kernel. | | 547 | it is as if DDB were not compiled into the kernel. |
548 | Note that this sets the value of the | | 548 | Note that this sets the value of the |
549 | .Em ddb.onpanic | | 549 | .Em ddb.onpanic |
550 | .Xr sysctl 3 | | 550 | .Xr sysctl 3 |
551 | variable which may be changed at run time \(em see | | 551 | variable which may be changed at run time \(em see |
552 | .Xr sysctl 8 | | 552 | .Xr sysctl 8 |
553 | for details. | | 553 | for details. |
554 | .It Cd options DDB_COMMANDONENTER=string | | 554 | .It Cd options DDB_COMMANDONENTER=string |
555 | This option specify commands which will be executed on each entry to DDB. | | 555 | This option specify commands which will be executed on each entry to DDB. |
556 | This sets the default value of the | | 556 | This sets the default value of the |
557 | .Em ddb.commandonenter | | 557 | .Em ddb.commandonenter |
558 | .Xr sysctl 3 | | 558 | .Xr sysctl 3 |
559 | variable which may be changed at run time. | | 559 | variable which may be changed at run time. |
560 | .It Cd options DDB_BREAK_CHAR=integer | | 560 | .It Cd options DDB_BREAK_CHAR=integer |
561 | This option overrides using break to enter the kernel debugger | | 561 | This option overrides using break to enter the kernel debugger |
562 | on the serial console. | | 562 | on the serial console. |
563 | The value given is the ASCII value to be used instead. | | 563 | The value given is the ASCII value to be used instead. |
564 | This is currently only supported by the com driver. | | 564 | This is currently only supported by the com driver. |
565 | .It Cd options CNMAGIC=string | | 565 | .It Cd options CNMAGIC=string |
566 | This option overrides the | | 566 | This option overrides the |
567 | .Xr cnmagic 9 | | 567 | .Xr cnmagic 9 |
568 | string used to enter the kernel debugger. | | 568 | string used to enter the kernel debugger. |
569 | .It Cd options DDB_VERBOSE_HELP | | 569 | .It Cd options DDB_VERBOSE_HELP |
570 | This option adds more verbose descriptions to the | | 570 | This option adds more verbose descriptions to the |
571 | .Em help | | 571 | .Em help |
572 | command. | | 572 | command. |
573 | .It Cd options DDB_PANICSTACKFRAMES=integer | | 573 | .It Cd options DDB_PANICSTACKFRAMES=integer |
574 | Number of stack frames to display on panic. | | 574 | Number of stack frames to display on panic. |
575 | Useful to avoid scrolling away the interesting frames on a glass tty. | | 575 | Useful to avoid scrolling away the interesting frames on a glass tty. |
576 | Default value is | | 576 | Default value is |
577 | .Dv 65535 | | 577 | .Dv 65535 |
578 | (all frames), useful value around | | 578 | (all frames), useful value around |
579 | .Dv 10 . | | 579 | .Dv 10 . |
580 | .It Cd options KGDB | | 580 | .It Cd options KGDB |
581 | Compiles in a remote kernel debugger stub for diagnosing kernel problems | | 581 | Compiles in a remote kernel debugger stub for diagnosing kernel problems |
582 | using the | | 582 | using the |
583 | .Dq remote target | | 583 | .Dq remote target |
584 | feature of gdb. | | 584 | feature of gdb. |
585 | See | | 585 | See |
586 | .Xr gdb 1 | | 586 | .Xr gdb 1 |
587 | for details. | | 587 | for details. |
588 | .Em NOTE : | | 588 | .Em NOTE : |
589 | not available on all architectures. | | 589 | not available on all architectures. |
590 | .It Cd options KGDB_DEV | | 590 | .It Cd options KGDB_DEV |
591 | Device number | | 591 | Device number |
592 | .Po | | 592 | .Po |
593 | as a | | 593 | as a |
594 | .Dv dev_t | | 594 | .Dv dev_t |
595 | .Pc | | 595 | .Pc |
596 | of kgdb device. | | 596 | of kgdb device. |
597 | .It Cd options KGDB_DEVADDR | | 597 | .It Cd options KGDB_DEVADDR |
598 | Memory address of kgdb device. | | 598 | Memory address of kgdb device. |
599 | .It Cd options KGDB_DEVMODE | | 599 | .It Cd options KGDB_DEVMODE |
600 | Permissions of kgdb device. | | 600 | Permissions of kgdb device. |
601 | .It Cd options KGDB_DEVNAME | | 601 | .It Cd options KGDB_DEVNAME |
602 | Device name of kgdb device. | | 602 | Device name of kgdb device. |
603 | .It Cd options KGDB_DEVRATE | | 603 | .It Cd options KGDB_DEVRATE |
604 | Baud rate of kgdb device. | | 604 | Baud rate of kgdb device. |
605 | .It Cd makeoptions DEBUG="-g" | | 605 | .It Cd makeoptions DEBUG="-g" |
606 | The | | 606 | The |
607 | .Fl g | | 607 | .Fl g |
608 | flag causes | | 608 | flag causes |
609 | .Pa netbsd.gdb | | 609 | .Pa netbsd.gdb |
610 | to be built in addition to | | 610 | to be built in addition to |
611 | .Pa netbsd . | | 611 | .Pa netbsd . |
612 | .Pa netbsd.gdb | | 612 | .Pa netbsd.gdb |
613 | is useful for debugging kernel crash dumps with gdb. | | 613 | is useful for debugging kernel crash dumps with gdb. |
614 | See | | 614 | See |
615 | .Xr gdb 1 | | 615 | .Xr gdb 1 |
616 | for details. | | 616 | for details. |
617 | .It Cd options DEBUG | | 617 | .It Cd options DEBUG |
618 | Turns on miscellaneous kernel debugging. | | 618 | Turns on miscellaneous kernel debugging. |
619 | Since options are turned into preprocessor defines (see above), | | 619 | Since options are turned into preprocessor defines (see above), |
620 | .Em options DEBUG | | 620 | .Em options DEBUG |
621 | is equivalent to doing a | | 621 | is equivalent to doing a |
622 | .Em #define DEBUG | | 622 | .Em #define DEBUG |
623 | throughout the kernel. | | 623 | throughout the kernel. |
624 | Much of the kernel has | | 624 | Much of the kernel has |
625 | .Em #ifdef DEBUG | | 625 | .Em #ifdef DEBUG |
626 | conditionalized debugging code. | | 626 | conditionalized debugging code. |
627 | Note that many parts of the kernel (typically device drivers) include their own | | 627 | Note that many parts of the kernel (typically device drivers) include their own |
628 | .Em #ifdef XXX_DEBUG | | 628 | .Em #ifdef XXX_DEBUG |
629 | conditionals instead. | | 629 | conditionals instead. |
630 | This option also turns on certain other options, | | 630 | This option also turns on certain other options, |
631 | which may decrease system performance. | | 631 | which may decrease system performance. |
632 | Systems with this option are not suitable for regular use, and are | | 632 | Systems with this option are not suitable for regular use, and are |
633 | intended only for debugging or looking for bugs. | | 633 | intended only for debugging or looking for bugs. |
634 | .It Cd options DIAGNOSTIC | | 634 | .It Cd options DIAGNOSTIC |
635 | Adds code to the kernel that does internal consistency checks. | | 635 | Adds code to the kernel that does internal consistency checks. |
636 | This code will cause the kernel to panic if corruption of internal data | | 636 | This code will cause the kernel to panic if corruption of internal data |
637 | structures is detected. | | 637 | structures is detected. |
638 | Historically, the performance degradation is sufficiently small that | | 638 | Historically, the performance degradation is sufficiently small that |
639 | it is reasonable for systems with | | 639 | it is reasonable for systems with |
640 | .Em options DIAGNOSTIC | | 640 | .Em options DIAGNOSTIC |
641 | to be in production use, with the real consideration not being | | 641 | to be in production use, with the real consideration not being |
642 | performance but instead a preference for more panics versus continued | | 642 | performance but instead a preference for more panics versus continued |
643 | operation with undetected problems. | | 643 | operation with undetected problems. |
644 | .It Cd options LOCKDEBUG | | 644 | .It Cd options LOCKDEBUG |
645 | Adds code to the kernel to detect incorrect use of locking primitives | | 645 | Adds code to the kernel to detect incorrect use of locking primitives |
646 | (mutex, rwlock). | | 646 | (mutex, rwlock). |
647 | This code will cause the kernel to check for dead lock conditions. | | 647 | This code will cause the kernel to check for dead lock conditions. |
648 | It will also check for memory being freed to not contain initialised | | 648 | It will also check for memory being freed to not contain initialised |
649 | lock primitives. | | 649 | lock primitives. |
650 | Functions for use in | | 650 | Functions for use in |
651 | .Xr ddb 4 | | 651 | .Xr ddb 4 |
652 | to check lock chains etc. are also enabled. | | 652 | to check lock chains etc. are also enabled. |
653 | These checks are very expensive and can decrease performance on | | 653 | These checks are very expensive and can decrease performance on |
654 | multi-processor machines by a factor of three. | | 654 | multi-processor machines by a factor of three. |
655 | .It Cd options KDTRACE_HOOKS | | 655 | .It Cd options KDTRACE_HOOKS |
656 | Adds hooks for the DTrace tracing facility, which allows users to | | 656 | Adds hooks for the DTrace tracing facility, which allows users to |
657 | analyze many aspects of system and application behavior. | | 657 | analyze many aspects of system and application behavior. |
658 | See | | 658 | See |
659 | .Xr dtrace 1 | | 659 | .Xr dtrace 1 |
660 | for details. | | 660 | for details. |
661 | .It Cd options KSTACK_CHECK_MAGIC | | 661 | .It Cd options KSTACK_CHECK_MAGIC |
662 | Check kernel stack usage and panic if stack overflow is detected. | | 662 | Check kernel stack usage and panic if stack overflow is detected. |
663 | This check is performance sensitive because it scans stack on each context | | 663 | This check is performance sensitive because it scans stack on each context |
664 | switch. | | 664 | switch. |
665 | .It Cd options KTRACE | | 665 | .It Cd options KTRACE |
666 | Add hooks for the system call tracing facility, which allows users to | | 666 | Add hooks for the system call tracing facility, which allows users to |
667 | watch the system call invocation behavior of processes. | | 667 | watch the system call invocation behavior of processes. |
668 | See | | 668 | See |
669 | .Xr ktrace 1 | | 669 | .Xr ktrace 1 |
670 | for details. | | 670 | for details. |
671 | .It Cd options MSGBUFSIZE=integer | | 671 | .It Cd options MSGBUFSIZE=integer |
672 | This option sets the size of the kernel message buffer. | | 672 | This option sets the size of the kernel message buffer. |
673 | This buffer holds the kernel output of | | 673 | This buffer holds the kernel output of |
674 | .Fn printf | | 674 | .Fn printf |
675 | when not (yet) read by | | 675 | when not (yet) read by |
676 | .Xr syslogd 8 . | | 676 | .Xr syslogd 8 . |
677 | This is particularly useful when the system has crashed and you wish to lookup | | 677 | This is particularly useful when the system has crashed and you wish to lookup |
678 | the kernel output from just before the crash. | | 678 | the kernel output from just before the crash. |
679 | Also, since the autoconfig output becomes more and more verbose, | | 679 | Also, since the autoconfig output becomes more and more verbose, |
680 | it sometimes happens that the message buffer overflows before | | 680 | it sometimes happens that the message buffer overflows before |
681 | .Xr syslogd 8 | | 681 | .Xr syslogd 8 |
682 | was able to read it. | | 682 | was able to read it. |
683 | Note that not all systems are capable of obtaining a variable sized message | | 683 | Note that not all systems are capable of obtaining a variable sized message |
684 | buffer. | | 684 | buffer. |
685 | There are also some systems on which memory contents are not preserved | | 685 | There are also some systems on which memory contents are not preserved |
686 | across reboots. | | 686 | across reboots. |
687 | .It Cd options KERNHIST | | 687 | .It Cd options KERNHIST |
688 | Enables the kernel history logs, which create in-memory traces of | | 688 | Enables the kernel history logs, which create in-memory traces of |
689 | various kernel activities. | | 689 | various kernel activities. |
690 | These logs can be displayed by using | | 690 | These logs can be displayed by using |
691 | .Cm show kernhist | | 691 | .Cm show kernhist |
692 | from DDB. | | 692 | from DDB. |
693 | See the kernel source file | | 693 | See the kernel source file |
694 | .Pa sys/kern/kern_history.c | | 694 | .Pa sys/kern/kern_history.c |
695 | and the | | 695 | and the |
696 | .Xr kernhist 9 | | 696 | .Xr kernhist 9 |
697 | manual for details. | | 697 | manual for details. |
698 | .It Cd options KERNHIST_PRINT | | 698 | .It Cd options KERNHIST_PRINT |
699 | Prints the kernel history logs on the system console as entries are added. | | 699 | Prints the kernel history logs on the system console as entries are added. |
700 | Note that the output is | | 700 | Note that the output is |
701 | .Em extremely | | 701 | .Em extremely |
702 | voluminous, so this option is really only useful for debugging | | 702 | voluminous, so this option is really only useful for debugging |
703 | the very earliest parts of kernel initialization. | | 703 | the very earliest parts of kernel initialization. |
704 | .It Cd options UVMHIST | | 704 | .It Cd options UVMHIST |
705 | Like | | 705 | Like |
706 | .Em KERNHIST , | | 706 | .Em KERNHIST , |
707 | it enables the UVM history logs. | | 707 | it enables the UVM history logs. |
708 | These logs can be displayed by using | | 708 | These logs can be displayed by using |
709 | .Cm show kernhist | | 709 | .Cm show kernhist |
710 | from DDB. | | 710 | from DDB. |
711 | See the kernel source file | | 711 | See the kernel source file |
712 | .Pa sys/uvm/uvm_stat.c | | 712 | .Pa sys/uvm/uvm_stat.c |
713 | for details. | | 713 | for details. |
714 | .It Cd options UVMHIST_PRINT | | 714 | .It Cd options UVMHIST_PRINT |
715 | Like | | 715 | Like |
716 | .Em UVMHIST , | | 716 | .Em UVMHIST , |
717 | it prints the UVM history logs on the system console as entries are added. | | 717 | it prints the UVM history logs on the system console as entries are added. |
718 | Note that the output is | | 718 | Note that the output is |
719 | .Em extremely | | 719 | .Em extremely |
720 | voluminous, so this option is really only useful for debugging | | 720 | voluminous, so this option is really only useful for debugging |
721 | the very earliest parts of kernel initialization. | | 721 | the very earliest parts of kernel initialization. |
722 | .It Cd options UVMHIST_MAPHIST_SIZE | | 722 | .It Cd options UVMHIST_MAPHIST_SIZE |
723 | Set the size of the | | 723 | Set the size of the |
724 | .Dq maphist | | 724 | .Dq maphist |
725 | kernel history. | | 725 | kernel history. |
726 | The default is 100. | | 726 | The default is 100. |
727 | This option depends upon the | | 727 | This option depends upon the |
728 | .Em UVMHIST | | 728 | .Em UVMHIST |
729 | option. | | 729 | option. |
730 | .It Cd options UVMHIST_PDHIST_SIZE | | 730 | .It Cd options UVMHIST_PDHIST_SIZE |
731 | Set the size of the | | 731 | Set the size of the |
732 | .Dq pdhist | | 732 | .Dq pdhist |
733 | kernel history. | | 733 | kernel history. |
734 | The default is 100. | | 734 | The default is 100. |
735 | This option depends upon the | | 735 | This option depends upon the |
736 | .Em UVMHIST | | 736 | .Em UVMHIST |
737 | option. | | 737 | option. |
738 | .It Cd options BIOHIST | | 738 | .It Cd options BIOHIST |
739 | Like | | 739 | Like |
740 | .Em KERNHIST , | | 740 | .Em KERNHIST , |
741 | it enables the BIO history logs. | | 741 | it enables the BIO history logs. |
742 | These logs can be displayed by using | | 742 | These logs can be displayed by using |
743 | .Cm show kernhist | | 743 | .Cm show kernhist |
744 | from DDB, and can help in debugging problems with Buffered I/O operations. | | 744 | from DDB, and can help in debugging problems with Buffered I/O operations. |
745 | See the kernel source file | | 745 | See the kernel source file |
746 | .Pa sys/kern/vfs_vio.c | | 746 | .Pa sys/kern/vfs_vio.c |
747 | for details. | | 747 | for details. |
748 | .It Cd options BIOHIST_PRINT | | 748 | .It Cd options BIOHIST_PRINT |
749 | Like | | 749 | Like |
750 | .Em BIOHIST , | | 750 | .Em BIOHIST , |
751 | it prints the BIO history logs on the system console as entries are added. | | 751 | it prints the BIO history logs on the system console as entries are added. |
752 | Note that the output is | | 752 | Note that the output is |
753 | .Em extremely | | 753 | .Em extremely |
754 | voluminous, so this option is really only useful for debugging | | 754 | voluminous, so this option is really only useful for debugging |
755 | the very earliest parts of kernel initialization. | | 755 | the very earliest parts of kernel initialization. |
756 | .It Cd options BIOHIST_SIZE | | 756 | .It Cd options BIOHIST_SIZE |
757 | Set the size of the | | 757 | Set the size of the |
758 | .Dq biohist | | 758 | .Dq biohist |
759 | kernel history. | | 759 | kernel history. |
760 | The default is 500. | | 760 | The default is 500. |
761 | This option depends upon the | | 761 | This option depends upon the |
762 | .Em BIOHIST | | 762 | .Em BIOHIST |
763 | option. | | 763 | option. |
764 | .El | | 764 | .El |
765 | .Ss File Systems | | 765 | .Ss File Systems |
766 | .Bl -ohang | | 766 | .Bl -ohang |
767 | .It Cd file-system FFS | | 767 | .It Cd file-system FFS |
768 | Includes code implementing the Berkeley Fast File System | | 768 | Includes code implementing the Berkeley Fast File System |
769 | .Po Em FFS Pc . | | 769 | .Po Em FFS Pc . |
770 | Most machines need this if they are not running diskless. | | 770 | Most machines need this if they are not running diskless. |
771 | .It Cd file-system EXT2FS | | 771 | .It Cd file-system EXT2FS |
772 | Includes code implementing the Second Extended File System | | 772 | Includes code implementing the Second Extended File System |
773 | .Po Em ext2 Pc , | | 773 | .Po Em ext2 Pc , |
774 | revision 0 and revision 1 with the | | 774 | revision 0 and revision 1 with the |
775 | .Em filetype , | | 775 | .Em filetype , |
776 | .Em sparse_super | | 776 | .Em sparse_super |
777 | and | | 777 | and |
778 | .Em large_file | | 778 | .Em large_file |
779 | options. | | 779 | options. |
780 | This is the most commonly used file system on the Linux operating system, | | 780 | This is the most commonly used file system on the Linux operating system, |
781 | and is provided here for compatibility. | | 781 | and is provided here for compatibility. |
782 | Some of the specific features of | | 782 | Some of the specific features of |
783 | .Em ext2 | | 783 | .Em ext2 |
784 | like the "behavior on errors" are not implemented. | | 784 | like the "behavior on errors" are not implemented. |
785 | See | | 785 | See |
786 | .Xr mount_ext2fs 8 | | 786 | .Xr mount_ext2fs 8 |
787 | for details. | | 787 | for details. |
788 | .It Cd file-system LFS | | 788 | .It Cd file-system LFS |
789 | .Bq Em EXPERIMENTAL | | 789 | .Bq Em EXPERIMENTAL |
790 | Include the Log-structured File System | | 790 | Include the Log-structured File System |
791 | .Po Em LFS Pc . | | 791 | .Po Em LFS Pc . |
792 | See | | 792 | See |
793 | .Xr mount_lfs 8 | | 793 | .Xr mount_lfs 8 |
794 | and | | 794 | and |
795 | .Xr newfs_lfs 8 | | 795 | .Xr newfs_lfs 8 |
796 | for details. | | 796 | for details. |
797 | .It Cd file-system MFS | | 797 | .It Cd file-system MFS |
798 | Include the Memory File System | | 798 | Include the Memory File System |
799 | .Po Em MFS Pc . | | 799 | .Po Em MFS Pc . |
800 | This file system stores files in swappable memory, and produces | | 800 | This file system stores files in swappable memory, and produces |
801 | notable performance improvements when it is used as the file store | | 801 | notable performance improvements when it is used as the file store |
802 | for | | 802 | for |
803 | .Pa /tmp | | 803 | .Pa /tmp |
804 | and similar file systems. | | 804 | and similar file systems. |
805 | See | | 805 | See |
806 | .Xr mount_mfs 8 | | 806 | .Xr mount_mfs 8 |
807 | for details. | | 807 | for details. |
808 | .It Cd file-system NFS | | 808 | .It Cd file-system NFS |
809 | Include the client side of the Network File System (NFS) | | 809 | Include the client side of the Network File System (NFS) |
810 | remote file sharing protocol. | | 810 | remote file sharing protocol. |
811 | Although the bulk of the code implementing NFS | | 811 | Although the bulk of the code implementing NFS |
812 | is kernel based, several user level daemons are needed for it to work. | | 812 | is kernel based, several user level daemons are needed for it to work. |
813 | See | | 813 | See |
814 | .Xr mount_nfs 8 | | 814 | .Xr mount_nfs 8 |
815 | for details. | | 815 | for details. |
816 | .It Cd file-system CD9660 | | 816 | .It Cd file-system CD9660 |
817 | Includes code for the ISO 9660 + Rock Ridge file system, which is | | 817 | Includes code for the ISO 9660 + Rock Ridge file system, which is |
818 | the standard file system on many CD-ROM discs. | | 818 | the standard file system on many CD-ROM discs. |
819 | Useful primarily if you have a CD-ROM drive. | | 819 | Useful primarily if you have a CD-ROM drive. |
820 | See | | 820 | See |
821 | .Xr mount_cd9660 8 | | 821 | .Xr mount_cd9660 8 |
822 | for details. | | 822 | for details. |
823 | .It Cd file-system MSDOSFS | | 823 | .It Cd file-system MSDOSFS |
824 | Includes the MS-DOS FAT file system, which is reportedly still used | | 824 | Includes the MS-DOS FAT file system, which is reportedly still used |
825 | by unfortunate people who have not heard about | | 825 | by unfortunate people who have not heard about |
826 | .Nx . | | 826 | .Nx . |
827 | Also implements the Windows 95 extensions to the same, which permit | | 827 | Also implements the Windows 95 extensions to the same, which permit |
828 | the use of longer, mixed case file names. | | 828 | the use of longer, mixed case file names. |
829 | See | | 829 | See |
830 | .Xr mount_msdos 8 | | 830 | .Xr mount_msdos 8 |
831 | and | | 831 | and |
832 | .Xr fsck_msdos 8 | | 832 | .Xr fsck_msdos 8 |
833 | for details. | | 833 | for details. |
834 | .It Cd file-system NTFS | | 834 | .It Cd file-system NTFS |
835 | .Bq Em EXPERIMENTAL | | 835 | .Bq Em EXPERIMENTAL |
836 | Includes code for the Microsoft Windows NT file system. | | 836 | Includes code for the Microsoft Windows NT file system. |
837 | See | | 837 | See |
838 | .Xr mount_ntfs 8 | | 838 | .Xr mount_ntfs 8 |
839 | for details. | | 839 | for details. |
840 | .It Cd file-system FDESC | | 840 | .It Cd file-system FDESC |
841 | Includes code for a file system, conventionally mounted on | | 841 | Includes code for a file system, conventionally mounted on |
842 | .Pa /dev/fd , | | 842 | .Pa /dev/fd , |
843 | which permits access to the per-process file descriptor space via | | 843 | which permits access to the per-process file descriptor space via |
844 | special files in the file system. | | 844 | special files in the file system. |
845 | See | | 845 | See |
846 | .Xr mount_fdesc 8 | | 846 | .Xr mount_fdesc 8 |
847 | for details. | | 847 | for details. |
848 | Note that this facility is redundant, and thus unneeded on most | | 848 | Note that this facility is redundant, and thus unneeded on most |
849 | .Nx | | 849 | .Nx |
850 | systems, since the | | 850 | systems, since the |
851 | .Xr fd 4 | | 851 | .Xr fd 4 |
852 | pseudo-device driver already provides identical functionality. | | 852 | pseudo-device driver already provides identical functionality. |
853 | On most | | 853 | On most |
854 | .Nx | | 854 | .Nx |
855 | systems, instances of | | 855 | systems, instances of |
856 | .Xr fd 4 | | 856 | .Xr fd 4 |
857 | are mknoded under | | 857 | are mknoded under |
858 | .Pa /dev/fd/ | | 858 | .Pa /dev/fd/ |
859 | and on | | 859 | and on |
860 | .Pa /dev/stdin , | | 860 | .Pa /dev/stdin , |
861 | .Pa /dev/stdout , | | 861 | .Pa /dev/stdout , |
862 | and | | 862 | and |
863 | .Pa /dev/stderr . | | 863 | .Pa /dev/stderr . |
864 | .It Cd file-system KERNFS | | 864 | .It Cd file-system KERNFS |
865 | Includes code which permits the mounting of a special file system | | 865 | Includes code which permits the mounting of a special file system |
866 | (normally mounted on | | 866 | (normally mounted on |
867 | .Pa /kern ) | | 867 | .Pa /kern ) |
868 | in which files representing various kernel variables and parameters | | 868 | in which files representing various kernel variables and parameters |
869 | may be found. | | 869 | may be found. |
870 | See | | 870 | See |
871 | .Xr mount_kernfs 8 | | 871 | .Xr mount_kernfs 8 |
872 | for details. | | 872 | for details. |
873 | .It Cd file-system NULLFS | | 873 | .It Cd file-system NULLFS |
874 | Includes code for a loopback file system. | | 874 | Includes code for a loopback file system. |
875 | This permits portions of the file hierarchy to be re-mounted in other places. | | 875 | This permits portions of the file hierarchy to be re-mounted in other places. |
876 | The code really exists to provide an example of a stackable file system layer. | | 876 | The code really exists to provide an example of a stackable file system layer. |
877 | See | | 877 | See |
878 | .Xr mount_null 8 | | 878 | .Xr mount_null 8 |
879 | for details. | | 879 | for details. |
880 | .It Cd file-system OVERLAY | | 880 | .It Cd file-system OVERLAY |
881 | Includes code for a file system filter. | | 881 | Includes code for a file system filter. |
882 | This permits the overlay file system to intercept all access to an underlying | | 882 | This permits the overlay file system to intercept all access to an underlying |
883 | file system. | | 883 | file system. |
884 | This file system is intended to serve as an example of a stacking file | | 884 | This file system is intended to serve as an example of a stacking file |
885 | system which has a need to interpose itself between an underlying file | | 885 | system which has a need to interpose itself between an underlying file |
886 | system and all other access. | | 886 | system and all other access. |
887 | See | | 887 | See |
888 | .Xr mount_overlay 8 | | 888 | .Xr mount_overlay 8 |
889 | for details. | | 889 | for details. |
890 | .It Cd file-system PROCFS | | 890 | .It Cd file-system PROCFS |
891 | Includes code for a special file system (conventionally mounted on | | 891 | Includes code for a special file system (conventionally mounted on |
892 | .Pa /proc ) | | 892 | .Pa /proc ) |
893 | in which the process space becomes visible in the file system. | | 893 | in which the process space becomes visible in the file system. |
894 | Among | | 894 | Among |
895 | other things, the memory spaces of processes running on the system are | | 895 | other things, the memory spaces of processes running on the system are |
896 | visible as files, and signals may be sent to processes by writing to | | 896 | visible as files, and signals may be sent to processes by writing to |
897 | .Pa ctl | | 897 | .Pa ctl |
898 | files in the procfs namespace. | | 898 | files in the procfs namespace. |
899 | See | | 899 | See |
900 | .Xr mount_procfs 8 | | 900 | .Xr mount_procfs 8 |
901 | for details. | | 901 | for details. |
902 | .It Cd file-system UDF | | 902 | .It Cd file-system UDF |
903 | .Bq Em EXPERIMENTAL | | 903 | .Bq Em EXPERIMENTAL |
904 | Includes code for the UDF file system commonly found on CD and DVD | | 904 | Includes code for the UDF file system commonly found on CD and DVD |
905 | media but also on USB sticks. | | 905 | media but also on USB sticks. |
906 | Currently supports read and write access up to UDF 2.01 and somewhat limited | | 906 | Currently supports read and write access up to UDF 2.01 and somewhat limited |
907 | write support for UDF 2.50. | | 907 | write support for UDF 2.50. |
908 | It is marked experimental since there is no | | 908 | It is marked experimental since there is no |
909 | .Xr fsck_udf 8 . | | 909 | .Xr fsck_udf 8 . |
910 | See | | 910 | See |
911 | .Xr mount_udf 8 | | 911 | .Xr mount_udf 8 |
912 | for details. | | 912 | for details. |
913 | .It Cd file-system UMAPFS | | 913 | .It Cd file-system UMAPFS |
914 | Includes a loopback file system in which user and group IDs may be | | 914 | Includes a loopback file system in which user and group IDs may be |
915 | remapped \(em this can be useful when mounting alien file systems with | | 915 | remapped \(em this can be useful when mounting alien file systems with |
916 | different UIDs and GIDs than the local system. | | 916 | different UIDs and GIDs than the local system. |
917 | See | | 917 | See |
918 | .Xr mount_umap 8 | | 918 | .Xr mount_umap 8 |
919 | for details. | | 919 | for details. |
920 | .It Cd file-system UNION | | 920 | .It Cd file-system UNION |
921 | .Bq Em EXPERIMENTAL | | 921 | .Bq Em EXPERIMENTAL |
922 | Includes code for the union file system, which permits directories to | | 922 | Includes code for the union file system, which permits directories to |
923 | be mounted on top of each other in such a way that both file systems | | 923 | be mounted on top of each other in such a way that both file systems |
924 | remain visible \(em this permits tricks like allowing writing (and the | | 924 | remain visible \(em this permits tricks like allowing writing (and the |
925 | deleting of files) on a read-only file system like a CD-ROM by | | 925 | deleting of files) on a read-only file system like a CD-ROM by |
926 | mounting a local writable file system on top of the read-only file | | 926 | mounting a local writable file system on top of the read-only file |
927 | system. | | 927 | system. |
928 | See | | 928 | See |
929 | .Xr mount_union 8 | | 929 | .Xr mount_union 8 |
930 | for details. | | 930 | for details. |
931 | .It Cd file-system CODA | | 931 | .It Cd file-system CODA |
932 | .Bq Em EXPERIMENTAL | | 932 | .Bq Em EXPERIMENTAL |
933 | Includes code for the Coda file system. | | 933 | Includes code for the Coda file system. |
934 | Coda is a distributed file system like NFS and AFS. | | 934 | Coda is a distributed file system like NFS and AFS. |
935 | It is freely available, like NFS, but it functions much like AFS in being a | | 935 | It is freely available, like NFS, but it functions much like AFS in being a |
936 | .Dq stateful | | 936 | .Dq stateful |
937 | file system. | | 937 | file system. |
938 | Both Coda and AFS cache files on your local machine to improve performance. | | 938 | Both Coda and AFS cache files on your local machine to improve performance. |
939 | Then Coda goes a step further than AFS by letting you access the cached | | 939 | Then Coda goes a step further than AFS by letting you access the cached |
940 | files when there is no available network, viz. disconnected laptops and | | 940 | files when there is no available network, viz. disconnected laptops and |
941 | network outages. | | 941 | network outages. |
942 | In Coda, both the client and server are outside the kernel which makes | | 942 | In Coda, both the client and server are outside the kernel which makes |
943 | them easier to experiment with. | | 943 | them easier to experiment with. |
944 | Coda is available for several UNIX and non-UNIX platforms. | | 944 | Coda is available for several UNIX and non-UNIX platforms. |
945 | See | | 945 | See |
946 | .Lk http://www.coda.cs.cmu.edu | | 946 | .Lk http://www.coda.cs.cmu.edu |
947 | for more details. | | 947 | for more details. |
948 | .Em NOTE : | | 948 | .Em NOTE : |
949 | You also need to enable the pseudo-device, vcoda, for the Coda | | 949 | You also need to enable the pseudo-device, vcoda, for the Coda |
950 | file system to work. | | 950 | file system to work. |
951 | .It Cd file-system PTYFS | | 951 | .It Cd file-system PTYFS |
952 | Includes code for a special file system (normally mounted on | | 952 | Includes code for a special file system (normally mounted on |
953 | .Pa /dev/pts ) | | 953 | .Pa /dev/pts ) |
954 | in which pseudo-terminal slave devices become visible in the file system. | | 954 | in which pseudo-terminal slave devices become visible in the file system. |
955 | See | | 955 | See |
956 | .Xr mount_ptyfs 8 | | 956 | .Xr mount_ptyfs 8 |
957 | for details. | | 957 | for details. |
958 | .It Cd file-system TMPFS | | 958 | .It Cd file-system TMPFS |
959 | Includes code for the efficient memory file system, normally used over | | 959 | Includes code for the efficient memory file system, normally used over |
960 | .Pa /tmp . | | 960 | .Pa /tmp . |
961 | See | | 961 | See |
962 | .Xr mount_tmpfs 8 | | 962 | .Xr mount_tmpfs 8 |
963 | for details. | | 963 | for details. |
964 | .It Cd file-system PUFFS | | 964 | .It Cd file-system PUFFS |
965 | Includes kernel support for the pass-to-userspace framework file system. | | 965 | Includes kernel support for the pass-to-userspace framework file system. |
966 | It can be used to implement file system functionality in userspace. | | 966 | It can be used to implement file system functionality in userspace. |
967 | See | | 967 | See |
968 | .Xr puffs 3 | | 968 | .Xr puffs 3 |
969 | for more details. | | 969 | for more details. |
970 | This enables for example sshfs: | | 970 | This enables for example sshfs: |
971 | .Xr mount_psshfs 8 . | | 971 | .Xr mount_psshfs 8 . |
972 | .El | | 972 | .El |
973 | .Ss File System Options | | 973 | .Ss File System Options |
974 | .Bl -ohang | | 974 | .Bl -ohang |
975 | .It Cd options DISKLABEL_EI | | 975 | .It Cd options DISKLABEL_EI |
976 | Enable | | 976 | Enable |
977 | .Dq Endian-Independent | | 977 | .Dq Endian-Independent |
978 | .Xr disklabel 5 | | 978 | .Xr disklabel 5 |
979 | support. | | 979 | support. |
980 | This allows a system to recognize a disklabel written in the other byte order. | | 980 | This allows a system to recognize a disklabel written in the other byte order. |
981 | For writing, when a label already exists, its byte order is preserved. | | 981 | For writing, when a label already exists, its byte order is preserved. |
982 | Otherwise, a new label is written in the native byte order. | | 982 | Otherwise, a new label is written in the native byte order. |
983 | To specify the byte order explicitly, the | | 983 | To specify the byte order explicitly, the |
984 | .Fl F | | 984 | .Fl F |
985 | option of | | 985 | option of |
986 | .Xr disklabel 8 | | 986 | .Xr disklabel 8 |
987 | should be used with the | | 987 | should be used with the |
988 | .Fl B | | 988 | .Fl B |
989 | option in order to avoid using | | 989 | option in order to avoid using |
990 | .Xr ioctl 2 , | | 990 | .Xr ioctl 2 , |
991 | which results in the default behavior explained above. | | 991 | which results in the default behavior explained above. |
992 | At the moment this option is restricted to the following ports: | | 992 | At the moment this option is restricted to the following ports: |
993 | amd64, bebox, emips, epoc32, evbarm, i386, ibmnws, landisk, mvmeppc, prep, | | 993 | amd64, bebox, emips, epoc32, evbarm, i386, ibmnws, landisk, mvmeppc, prep, |
994 | .\" riscv, | | 994 | .\" riscv, |
995 | rs6000, sandpoint, | | 995 | rs6000, sandpoint, |
996 | .\" usermode, | | 996 | .\" usermode, |
997 | xen, and zaurus; | | 997 | xen, and zaurus; |
998 | also to machines of the | | 998 | also to machines of the |
999 | evbmips and evbppc ports that support | | 999 | evbmips and evbppc ports that support |
1000 | Master Boot Record (MBR). | | 1000 | Master Boot Record (MBR). |
1001 | .It Cd options MAGICLINKS | | 1001 | .It Cd options MAGICLINKS |
1002 | Enables the expansion of special strings | | 1002 | Enables the expansion of special strings |
1003 | .Po | | 1003 | .Po |
1004 | beginning with | | 1004 | beginning with |
1005 | .Dq @ | | 1005 | .Dq @ |
1006 | .Pc | | 1006 | .Pc |
1007 | when traversing symbolic links. | | 1007 | when traversing symbolic links. |
1008 | See | | 1008 | See |
1009 | .Xr symlink 7 | | 1009 | .Xr symlink 7 |
1010 | for a list of supported strings. | | 1010 | for a list of supported strings. |
1011 | Note that this option only controls the enabling of this feature | | 1011 | Note that this option only controls the enabling of this feature |
1012 | by the kernel at boot-up. | | 1012 | by the kernel at boot-up. |
1013 | This feature can still be manipulated with the | | 1013 | This feature can still be manipulated with the |
1014 | .Xr sysctl 8 | | 1014 | .Xr sysctl 8 |
1015 | command regardless of the setting of this option. | | 1015 | command regardless of the setting of this option. |
1016 | .It Cd options NFSSERVER | | 1016 | .It Cd options NFSSERVER |
1017 | Include the server side of the | | 1017 | Include the server side of the |
1018 | .Em NFS | | 1018 | .Em NFS |
1019 | (Network File System) remote file sharing protocol. | | 1019 | (Network File System) remote file sharing protocol. |
1020 | Although the bulk of the code implementing | | 1020 | Although the bulk of the code implementing |
1021 | .Em NFS | | 1021 | .Em NFS |
1022 | is kernel based, several user level daemons are needed for it to | | 1022 | is kernel based, several user level daemons are needed for it to |
1023 | work. | | 1023 | work. |
1024 | See | | 1024 | See |
1025 | .Xr mountd 8 | | 1025 | .Xr mountd 8 |
1026 | and | | 1026 | and |
1027 | .Xr nfsd 8 | | 1027 | .Xr nfsd 8 |
1028 | for details. | | 1028 | for details. |
1029 | .It Cd options NVNODE=integer | | 1029 | .It Cd options NVNODE=integer |
1030 | This option sets the size of the cache used by the name-to-inode translation | | 1030 | This option sets the size of the cache used by the name-to-inode translation |
1031 | routines, (a.k.a. the | | 1031 | routines, (a.k.a. the |
1032 | .Fn namei | | 1032 | .Fn namei |
1033 | cache, though called by many other names in the kernel source). | | 1033 | cache, though called by many other names in the kernel source). |
1034 | By default, this cache has | | 1034 | By default, this cache has |
1035 | .Dv ( NPROC + NTEXT + 100 ) | | 1035 | .Dv ( NPROC + NTEXT + 100 ) |
1036 | entries (NPROC set as 20 + 16 * MAXUSERS and NTEXT as 80 + NPROC / 8). | | 1036 | entries (NPROC set as 20 + 16 * MAXUSERS and NTEXT as 80 + NPROC / 8). |
1037 | A reasonable way to derive a value of | | 1037 | A reasonable way to derive a value of |
1038 | .Dv NVNODE , | | 1038 | .Dv NVNODE , |
1039 | should you notice a large number of namei cache misses with a tool such as | | 1039 | should you notice a large number of namei cache misses with a tool such as |
1040 | .Xr systat 1 , | | 1040 | .Xr systat 1 , |
1041 | is to examine your system's current computed value with | | 1041 | is to examine your system's current computed value with |
1042 | .Xr sysctl 8 , | | 1042 | .Xr sysctl 8 , |
1043 | (which calls this parameter "kern.maxvnodes") and to increase this value | | 1043 | (which calls this parameter "kern.maxvnodes") and to increase this value |
1044 | until either the namei cache hit rate improves or it is determined that | | 1044 | until either the namei cache hit rate improves or it is determined that |
1045 | your system does not benefit substantially from an increase in the size of | | 1045 | your system does not benefit substantially from an increase in the size of |
1046 | the namei cache. | | 1046 | the namei cache. |
1047 | .It Cd options NAMECACHE_ENTER_REVERSE | | 1047 | .It Cd options NAMECACHE_ENTER_REVERSE |
1048 | Causes the namei cache to always enter a reverse mapping (vnode -> name) | | 1048 | Causes the namei cache to always enter a reverse mapping (vnode -> name) |
1049 | as well as a normal one. | | 1049 | as well as a normal one. |
1050 | Normally, this is already done for directory vnodes, to speed up the getcwd | | 1050 | Normally, this is already done for directory vnodes, to speed up the getcwd |
1051 | operation. | | 1051 | operation. |
1052 | This option will cause longer hash chains in the reverse cache, and thus | | 1052 | This option will cause longer hash chains in the reverse cache, and thus |
1053 | slow down getcwd somewhat. | | 1053 | slow down getcwd somewhat. |
1054 | However, it does make vnode -> path translations possible in some cases. | | 1054 | However, it does make vnode -> path translations possible in some cases. |
1055 | For now, only useful if strict | | 1055 | For now, only useful if strict |
1056 | .Pa /proc/#/maps | | 1056 | .Pa /proc/#/maps |
1057 | emulation for Linux binaries is required. | | 1057 | emulation for Linux binaries is required. |
1058 | .El | | 1058 | .El |
1059 | .Ss Options for FFS/UFS File Systems | | 1059 | .Ss Options for FFS/UFS File Systems |
1060 | .Bl -ohang | | 1060 | .Bl -ohang |
1061 | .It Cd options APPLE_UFS | | 1061 | .It Cd options APPLE_UFS |
1062 | Enable support for UFS file systems created on Mac OS X. | | 1062 | Enable support for UFS file systems created on Mac OS X. |
1063 | .It Cd options FFS_EI | | 1063 | .It Cd options FFS_EI |
1064 | Enable | | 1064 | Enable |
1065 | .Dq Endian-Independent | | 1065 | .Dq Endian-Independent |
1066 | FFS support. | | 1066 | FFS support. |
1067 | This allows a system to mount an FFS file system created for another | | 1067 | This allows a system to mount an FFS file system created for another |
1068 | architecture, at a small performance cost for all FFS file systems. | | 1068 | architecture, at a small performance cost for all FFS file systems. |
1069 | See also | | 1069 | See also |
1070 | .Xr newfs 8 , | | 1070 | .Xr newfs 8 , |
1071 | .Xr fsck_ffs 8 , | | 1071 | .Xr fsck_ffs 8 , |
1072 | .Xr dumpfs 8 | | 1072 | .Xr dumpfs 8 |
1073 | for file system byte order status and manipulation. | | 1073 | for file system byte order status and manipulation. |
1074 | .It Cd options FFS_NO_SNAPSHOT | | 1074 | .It Cd options FFS_NO_SNAPSHOT |
1075 | Disable support for the creation of file system internal snapshot | | 1075 | Disable support for the creation of file system internal snapshot |
1076 | of FFS file systems. | | 1076 | of FFS file systems. |
1077 | Maybe useful for install media kernels, small memory systems and | | 1077 | Maybe useful for install media kernels, small memory systems and |
1078 | embedded systems which don't require the snapshot support. | | 1078 | embedded systems which don't require the snapshot support. |
1079 | .It Cd options QUOTA | | 1079 | .It Cd options QUOTA |
1080 | Enables kernel support for traditional quotas in FFS. | | 1080 | Enables kernel support for traditional quotas in FFS. |
1081 | Traditional quotas store the quota information in external files and | | 1081 | Traditional quotas store the quota information in external files and |
1082 | require | | 1082 | require |
1083 | .Xr quotacheck 8 | | 1083 | .Xr quotacheck 8 |
1084 | and | | 1084 | and |
1085 | .Xr quotaon 8 | | 1085 | .Xr quotaon 8 |
1086 | at boot time. | | 1086 | at boot time. |
1087 | Traditional quotas are limited to 32-bit sizes and are at this point | | 1087 | Traditional quotas are limited to 32-bit sizes and are at this point |
1088 | considered a legacy feature. | | 1088 | considered a legacy feature. |
1089 | .It Cd options QUOTA2 | | 1089 | .It Cd options QUOTA2 |
1090 | Enables kernel support for in-volume quotas in FFS. | | 1090 | Enables kernel support for in-volume quotas in FFS. |
1091 | The quota information is file system metadata maintained by | | 1091 | The quota information is file system metadata maintained by |
1092 | .Xr fsck 8 | | 1092 | .Xr fsck 8 |
1093 | and/or WAPBL journaling. | | 1093 | and/or WAPBL journaling. |
1094 | MFS volumes can also use | | 1094 | MFS volumes can also use |
1095 | .Dv QUOTA2 | | 1095 | .Dv QUOTA2 |
1096 | quotas; see | | 1096 | quotas; see |
1097 | .Xr mount_mfs 8 | | 1097 | .Xr mount_mfs 8 |
1098 | for more information. | | 1098 | for more information. |
1099 | .It Cd options UFS_DIRHASH | | 1099 | .It Cd options UFS_DIRHASH |
1100 | Increase lookup performance by maintaining in-core hash tables | | 1100 | Increase lookup performance by maintaining in-core hash tables |
1101 | for large directories. | | 1101 | for large directories. |
1102 | .It Cd options UFS_EXTATTR | | 1102 | .It Cd options UFS_EXTATTR |
1103 | Enable extended attribute support for UFS1 file systems. | | 1103 | Enable extended attribute support for UFS1 file systems. |
1104 | .It Cd options WAPBL | | 1104 | .It Cd options WAPBL |
1105 | Enable | | 1105 | Enable |
1106 | .Dq Write Ahead Physical Block Logging file system journaling . | | 1106 | .Dq Write Ahead Physical Block Logging file system journaling . |
1107 | This provides rapid file system consistency checking after a system outage. | | 1107 | This provides rapid file system consistency checking after a system outage. |
1108 | It also provides better general use performance over regular FFS. | | 1108 | It also provides better general use performance over regular FFS. |
1109 | See also | | 1109 | See also |
1110 | .Xr wapbl 4 . | | 1110 | .Xr wapbl 4 . |
1111 | .El | | 1111 | .El |
1112 | .Ss Options for the LFS File System | | 1112 | .Ss Options for the LFS File System |
1113 | .Bl -ohang | | 1113 | .Bl -ohang |
1114 | .\" .It Cd options LFS_KERNEL_RFW | | 1114 | .\" .It Cd options LFS_KERNEL_RFW |
1115 | .\" There is no documentation for this. (XXX) | | 1115 | .\" There is no documentation for this. (XXX) |
1116 | .\" .It Cd options LFS_QUOTA | | 1116 | .\" .It Cd options LFS_QUOTA |
1117 | .\" Enable traditional quota support for LFS. | | 1117 | .\" Enable traditional quota support for LFS. |
1118 | .\" (It is not clear if this works.) | | 1118 | .\" (It is not clear if this works.) |
1119 | .\" .It Cd options LFS_QUOTA2 | | 1119 | .\" .It Cd options LFS_QUOTA2 |
1120 | .\" Enable modernized 64-bit quota support for LFS. | | 1120 | .\" Enable modernized 64-bit quota support for LFS. |
1121 | .\" (This does not work yet.) | | 1121 | .\" (This does not work yet.) |
1122 | .It Cd options LFS_EI | | 1122 | .It Cd options LFS_EI |
1123 | Enable | | 1123 | Enable |
1124 | .Dq Endian-Independent | | 1124 | .Dq Endian-Independent |
1125 | LFS support. | | 1125 | LFS support. |
1126 | This allows (at a small performance cost) mounting an LFS file system | | 1126 | This allows (at a small performance cost) mounting an LFS file system |
1127 | created for another architecture. | | 1127 | created for another architecture. |
1128 | .\" .It Cd options LFS_EXTATTR | | 1128 | .\" .It Cd options LFS_EXTATTR |
1129 | .\" Enable extended attribute support for LFS. | | 1129 | .\" Enable extended attribute support for LFS. |
1130 | .\" (It is not clear if this works.) | | 1130 | .\" (It is not clear if this works.) |
1131 | .It Cd options LFS_DIRHASH | | 1131 | .It Cd options LFS_DIRHASH |
1132 | Increase lookup performance by maintaining in-core hash tables | | 1132 | Increase lookup performance by maintaining in-core hash tables |
1133 | for large directories. | | 1133 | for large directories. |
1134 | .El | | 1134 | .El |
1135 | .Ss Options for the ext2fs File System | | 1135 | .Ss Options for the ext2fs File System |
1136 | .Bl -ohang | | 1136 | .Bl -ohang |
1137 | .It Cd options EXT2FS_SYSTEM_FLAGS | | 1137 | .It Cd options EXT2FS_SYSTEM_FLAGS |
1138 | This option changes the behavior of the APPEND and IMMUTABLE flags | | 1138 | This option changes the behavior of the APPEND and IMMUTABLE flags |
1139 | for a file on an | | 1139 | for a file on an |
1140 | .Em ext2 | | 1140 | .Em ext2 |
1141 | file system. | | 1141 | file system. |
1142 | Without this option, the superuser or owner of the file can | | 1142 | Without this option, the superuser or owner of the file can |
1143 | set and clear them. | | 1143 | set and clear them. |
1144 | With this option, only the superuser can set them, and | | 1144 | With this option, only the superuser can set them, and |
1145 | they can't be cleared if the securelevel is greater than 0. | | 1145 | they can't be cleared if the securelevel is greater than 0. |
1146 | See also | | 1146 | See also |
1147 | .Xr chflags 1 | | 1147 | .Xr chflags 1 |
1148 | and | | 1148 | and |
1149 | .Xr secmodel_securelevel 9 . | | 1149 | .Xr secmodel_securelevel 9 . |
1150 | .El | | 1150 | .El |
1151 | .Ss Options for the NFS File System | | 1151 | .Ss Options for the NFS File System |
1152 | .Bl -ohang | | 1152 | .Bl -ohang |
1153 | .It Cd options NFS_BOOT_BOOTP | | 1153 | .It Cd options NFS_BOOT_BOOTP |
1154 | Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration | | 1154 | Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration |
1155 | information if NFS is used to mount the root file system. | | 1155 | information if NFS is used to mount the root file system. |
1156 | See | | 1156 | See |
1157 | .Xr diskless 8 | | 1157 | .Xr diskless 8 |
1158 | for details. | | 1158 | for details. |
1159 | .It Cd options NFS_BOOT_BOOTSTATIC | | 1159 | .It Cd options NFS_BOOT_BOOTSTATIC |
1160 | Enable use of static values defined as | | 1160 | Enable use of static values defined as |
1161 | .Dq NFS_BOOTSTATIC_MYIP , | | 1161 | .Dq NFS_BOOTSTATIC_MYIP , |
1162 | .Dq NFS_BOOTSTATIC_GWIP , | | 1162 | .Dq NFS_BOOTSTATIC_GWIP , |
1163 | .Dq NFS_BOOTSTATIC_SERVADDR , | | 1163 | .Dq NFS_BOOTSTATIC_SERVADDR , |
1164 | and | | 1164 | and |
1165 | .Dq NFS_BOOTSTATIC_SERVER | | 1165 | .Dq NFS_BOOTSTATIC_SERVER |
1166 | in kernel options to get configuration information | | 1166 | in kernel options to get configuration information |
1167 | if NFS is used to mount the root file system. | | 1167 | if NFS is used to mount the root file system. |
1168 | .It Cd options NFS_BOOT_DHCP | | 1168 | .It Cd options NFS_BOOT_DHCP |
1169 | Same as | | 1169 | Same as |
1170 | .Dq NFS_BOOT_BOOTP , | | 1170 | .Dq NFS_BOOT_BOOTP , |
1171 | but use the DHCP extensions to the | | 1171 | but use the DHCP extensions to the |
1172 | BOOTP protocol (RFC 1541). | | 1172 | BOOTP protocol (RFC 1541). |
1173 | .It Cd options NFS_BOOT_BOOTP_REQFILE | | 1173 | .It Cd options NFS_BOOT_BOOTP_REQFILE |
1174 | Specifies the string sent in the bp_file field of the BOOTP/DHCP | | 1174 | Specifies the string sent in the bp_file field of the BOOTP/DHCP |
1175 | request packet. | | 1175 | request packet. |
1176 | .It Cd options NFS_BOOT_BOOTPARAM | | 1176 | .It Cd options NFS_BOOT_BOOTPARAM |
1177 | Enable use of the BOOTPARAM protocol, consisting of RARP and | | 1177 | Enable use of the BOOTPARAM protocol, consisting of RARP and |
1178 | BOOTPARAM RPC, to get configuration information if NFS | | 1178 | BOOTPARAM RPC, to get configuration information if NFS |
1179 | is used to mount the root file system. | | 1179 | is used to mount the root file system. |
1180 | See | | 1180 | See |
1181 | .Xr diskless 8 | | 1181 | .Xr diskless 8 |
1182 | for details. | | 1182 | for details. |
1183 | .It Cd options NFS_BOOT_RWSIZE=value | | 1183 | .It Cd options NFS_BOOT_RWSIZE=value |
1184 | Set the initial NFS read and write sizes for diskless-boot requests. | | 1184 | Set the initial NFS read and write sizes for diskless-boot requests. |
1185 | The normal default is 8Kbytes. | | 1185 | The normal default is 8Kbytes. |
1186 | This option provides a way to lower the value (e.g., to 1024 bytes) | | 1186 | This option provides a way to lower the value (e.g., to 1024 bytes) |
1187 | as a workaround for buggy network interface cards or boot PROMs. | | 1187 | as a workaround for buggy network interface cards or boot PROMs. |
1188 | Once booted, the read and write request sizes can be increased by | | 1188 | Once booted, the read and write request sizes can be increased by |
1189 | remounting the file system. | | 1189 | remounting the file system. |
1190 | See | | 1190 | See |
1191 | .Xr mount_nfs 8 | | 1191 | .Xr mount_nfs 8 |
1192 | for details. | | 1192 | for details. |
1193 | .It Cd options NFS_V2_ONLY | | 1193 | .It Cd options NFS_V2_ONLY |
1194 | Reduce the size of the NFS client code by omitting code that's only required | | 1194 | Reduce the size of the NFS client code by omitting code that's only required |
1195 | for NFSv3 and NQNFS support, leaving only that code required to use NFSv2 | | 1195 | for NFSv3 and NQNFS support, leaving only that code required to use NFSv2 |
1196 | servers. | | 1196 | servers. |
1197 | .It Cd options NFS_BOOT_TCP | | 1197 | .It Cd options NFS_BOOT_UDP |
1198 | Use NFS over TCP instead of the default UDP, for mounting root. | | 1198 | Use NFS over UDP instead of the default TCP, for mounting root. |
1199 | .El | | 1199 | .El |
1200 | .Ss Buffer queue strategy options | | 1200 | .Ss Buffer queue strategy options |
1201 | The following options enable alternative buffer queue strategies. | | 1201 | The following options enable alternative buffer queue strategies. |
1202 | .Bl -ohang | | 1202 | .Bl -ohang |
1203 | .It Cd options BUFQ_READPRIO | | 1203 | .It Cd options BUFQ_READPRIO |
1204 | Enable alternate buffer queue strategy for disk I/O. | | 1204 | Enable alternate buffer queue strategy for disk I/O. |
1205 | In the default strategy, outstanding disk requests are ordered by | | 1205 | In the default strategy, outstanding disk requests are ordered by |
1206 | sector number and sent to the disk, regardless of whether the | | 1206 | sector number and sent to the disk, regardless of whether the |
1207 | operation is a read or write; this option gives priority to issuing | | 1207 | operation is a read or write; this option gives priority to issuing |
1208 | read requests over write requests. | | 1208 | read requests over write requests. |
1209 | Although requests may therefore be issued out of sector-order, causing | | 1209 | Although requests may therefore be issued out of sector-order, causing |
1210 | more seeks and thus lower overall throughput, interactive system | | 1210 | more seeks and thus lower overall throughput, interactive system |
1211 | responsiveness under heavy disk I/O load may be improved, as processes | | 1211 | responsiveness under heavy disk I/O load may be improved, as processes |
1212 | blocking on disk reads are serviced sooner (file writes typically | | 1212 | blocking on disk reads are serviced sooner (file writes typically |
1213 | don't cause applications to block). | | 1213 | don't cause applications to block). |
1214 | The performance effect varies greatly depending on the hardware, drive | | 1214 | The performance effect varies greatly depending on the hardware, drive |
1215 | firmware, file system configuration, workload, and desired performance | | 1215 | firmware, file system configuration, workload, and desired performance |
1216 | trade-off. | | 1216 | trade-off. |
1217 | Systems using drive write-cache (most modern IDE disks, by default) | | 1217 | Systems using drive write-cache (most modern IDE disks, by default) |
1218 | are unlikely to benefit and may well suffer; such disks acknowledge | | 1218 | are unlikely to benefit and may well suffer; such disks acknowledge |
1219 | writes very quickly, and optimize them internally according to | | 1219 | writes very quickly, and optimize them internally according to |
1220 | physical layout. | | 1220 | physical layout. |
1221 | Giving these disks as many requests to work with as possible (the | | 1221 | Giving these disks as many requests to work with as possible (the |
1222 | standard strategy) will typically produce the best results, especially | | 1222 | standard strategy) will typically produce the best results, especially |
1223 | if the drive has a large cache; the drive will silently complete | | 1223 | if the drive has a large cache; the drive will silently complete |
1224 | writes from cache as it seeks for reads. | | 1224 | writes from cache as it seeks for reads. |
1225 | Disks that support a large number of concurrent tagged requests (SCSI | | 1225 | Disks that support a large number of concurrent tagged requests (SCSI |
1226 | disks and many hardware RAID controllers) expose this internal | | 1226 | disks and many hardware RAID controllers) expose this internal |
1227 | scheduling with tagged responses, and don't block for reads; such | | 1227 | scheduling with tagged responses, and don't block for reads; such |
1228 | disks may not see a noticeable difference with either strategy. | | 1228 | disks may not see a noticeable difference with either strategy. |
1229 | However, if IDE disks are run with write-cache disabled for safety, | | 1229 | However, if IDE disks are run with write-cache disabled for safety, |
1230 | writes are not acknowledged until actually completed, and only one | | 1230 | writes are not acknowledged until actually completed, and only one |
1231 | request can be outstanding; a large number of small writes in one | | 1231 | request can be outstanding; a large number of small writes in one |
1232 | locality can keep the disk busy, starving reads elsewhere on the disk. | | 1232 | locality can keep the disk busy, starving reads elsewhere on the disk. |
1233 | Such systems are likely to see the most benefit from this option. | | 1233 | Such systems are likely to see the most benefit from this option. |
1234 | Finally, the performance interaction of this option with ffs soft | | 1234 | Finally, the performance interaction of this option with ffs soft |
1235 | dependencies can be subtle, as that mechanism can drastically alter | | 1235 | dependencies can be subtle, as that mechanism can drastically alter |
1236 | the workload for file system metadata writes. | | 1236 | the workload for file system metadata writes. |
1237 | .It Cd options BUFQ_PRIOCSCAN | | 1237 | .It Cd options BUFQ_PRIOCSCAN |
1238 | Enable another buffer queue strategy for disk I/O, per-priority cyclical scan. | | 1238 | Enable another buffer queue strategy for disk I/O, per-priority cyclical scan. |
1239 | .It Cd options NEW_BUFQ_STRATEGY | | 1239 | .It Cd options NEW_BUFQ_STRATEGY |
1240 | Synonym of | | 1240 | Synonym of |
1241 | .Em BUFQ_READPRIO . | | 1241 | .Em BUFQ_READPRIO . |
1242 | .El | | 1242 | .El |
1243 | .Ss Miscellaneous Options | | 1243 | .Ss Miscellaneous Options |
1244 | .Bl -ohang | | 1244 | .Bl -ohang |
1245 | .It Cd options CPU_UCODE | | 1245 | .It Cd options CPU_UCODE |
1246 | Support cpu microcode loading via | | 1246 | Support cpu microcode loading via |
1247 | .Xr cpuctl 8 . | | 1247 | .Xr cpuctl 8 . |
1248 | .It Cd options MEMORY_DISK_DYNAMIC | | 1248 | .It Cd options MEMORY_DISK_DYNAMIC |
1249 | This option makes the | | 1249 | This option makes the |
1250 | .Xr md 4 | | 1250 | .Xr md 4 |
1251 | RAM disk size dynamically sized. | | 1251 | RAM disk size dynamically sized. |
1252 | It is incompatible with | | 1252 | It is incompatible with |
1253 | .Xr mdsetimage 8 . | | 1253 | .Xr mdsetimage 8 . |
1254 | .It Cd options MEMORY_DISK_HOOKS | | 1254 | .It Cd options MEMORY_DISK_HOOKS |
1255 | This option allows for some machine dependent functions to be called when | | 1255 | This option allows for some machine dependent functions to be called when |
1256 | the | | 1256 | the |
1257 | .Xr md 4 | | 1257 | .Xr md 4 |
1258 | RAM disk driver is configured. | | 1258 | RAM disk driver is configured. |
1259 | This can result in automatically loading a RAM disk from floppy on | | 1259 | This can result in automatically loading a RAM disk from floppy on |
1260 | open (among other things). | | 1260 | open (among other things). |
1261 | .It Cd options MEMORY_DISK_IS_ROOT | | 1261 | .It Cd options MEMORY_DISK_IS_ROOT |
1262 | Forces the | | 1262 | Forces the |
1263 | .Xr md 4 | | 1263 | .Xr md 4 |
1264 | RAM disk to be the root device. | | 1264 | RAM disk to be the root device. |
1265 | This can only be overridden when | | 1265 | This can only be overridden when |
1266 | the kernel is booted in the 'ask-for-root' mode. | | 1266 | the kernel is booted in the 'ask-for-root' mode. |
1267 | .It Cd options MEMORY_DISK_ROOT_SIZE=integer | | 1267 | .It Cd options MEMORY_DISK_ROOT_SIZE=integer |
1268 | Allocates the given number of 512 byte blocks as memory for the | | 1268 | Allocates the given number of 512 byte blocks as memory for the |
1269 | .Xr md 4 | | 1269 | .Xr md 4 |
1270 | RAM disk, to be populated with | | 1270 | RAM disk, to be populated with |
1271 | .Xr mdsetimage 8 . | | 1271 | .Xr mdsetimage 8 . |
1272 | .It Cd options MEMORY_DISK_SERVER=0 | | 1272 | .It Cd options MEMORY_DISK_SERVER=0 |
1273 | Do not include the interface to a userland memory disk server process. | | 1273 | Do not include the interface to a userland memory disk server process. |
1274 | Per default, this option is set to 1, including the support code. | | 1274 | Per default, this option is set to 1, including the support code. |
1275 | Useful for install media kernels. | | 1275 | Useful for install media kernels. |
1276 | .It Cd options MEMORY_DISK_RBFLAGS=value | | 1276 | .It Cd options MEMORY_DISK_RBFLAGS=value |
1277 | This option sets the | | 1277 | This option sets the |
1278 | .Xr reboot 2 | | 1278 | .Xr reboot 2 |
1279 | flags used when booting with a memory disk as root file system. | | 1279 | flags used when booting with a memory disk as root file system. |
1280 | Possible values include | | 1280 | Possible values include |
1281 | .Dv RB_AUTOBOOT | | 1281 | .Dv RB_AUTOBOOT |
1282 | (boot in the usual fashion - default value), and | | 1282 | (boot in the usual fashion - default value), and |
1283 | .Dv RB_SINGLE | | 1283 | .Dv RB_SINGLE |
1284 | (boot in single-user mode). | | 1284 | (boot in single-user mode). |
1285 | .It Cd options MODULAR | | 1285 | .It Cd options MODULAR |
1286 | Enables the framework for kernel modules (see | | 1286 | Enables the framework for kernel modules (see |
1287 | .Xr module 7 ) . | | 1287 | .Xr module 7 ) . |
1288 | .It Cd options MODULAR_DEFAULT_AUTOLOAD | | 1288 | .It Cd options MODULAR_DEFAULT_AUTOLOAD |
1289 | Enables the autoloading of kernel modules by default. | | 1289 | Enables the autoloading of kernel modules by default. |
1290 | This sets the default value of the | | 1290 | This sets the default value of the |
1291 | .Em kern.module.autoload | | 1291 | .Em kern.module.autoload |
1292 | .Xr sysctl 3 | | 1292 | .Xr sysctl 3 |
1293 | variable which may be changed at run time. | | 1293 | variable which may be changed at run time. |
1294 | .It Cd options VND_COMPRESSION | | 1294 | .It Cd options VND_COMPRESSION |
1295 | Enables the | | 1295 | Enables the |
1296 | .Xr vnd 4 | | 1296 | .Xr vnd 4 |
1297 | driver to also handle compressed images. | | 1297 | driver to also handle compressed images. |
1298 | See | | 1298 | See |
1299 | .Xr vndcompress 1 , | | 1299 | .Xr vndcompress 1 , |
1300 | .Xr vnd 4 | | 1300 | .Xr vnd 4 |
1301 | and | | 1301 | and |
1302 | .Xr vnconfig 8 | | 1302 | .Xr vnconfig 8 |
1303 | for more information. | | 1303 | for more information. |
1304 | .It Cd options SPLDEBUG | | 1304 | .It Cd options SPLDEBUG |
1305 | Help the kernel programmer find bugs related to the interrupt priority | | 1305 | Help the kernel programmer find bugs related to the interrupt priority |
1306 | level. | | 1306 | level. |
1307 | When | | 1307 | When |
1308 | .Fn spllower | | 1308 | .Fn spllower |
1309 | or | | 1309 | or |
1310 | .Fn splraise | | 1310 | .Fn splraise |
1311 | changes the current CPU's interrupt priority level to or from | | 1311 | changes the current CPU's interrupt priority level to or from |
1312 | .Dv IPL_HIGH , | | 1312 | .Dv IPL_HIGH , |
1313 | record a backtrace. | | 1313 | record a backtrace. |
1314 | Read | | 1314 | Read |
1315 | .Xr i386/return_address 9 | | 1315 | .Xr i386/return_address 9 |
1316 | for caveats about collecting backtraces. | | 1316 | for caveats about collecting backtraces. |
1317 | This feature is experimental, and it is only available on i386. | | 1317 | This feature is experimental, and it is only available on i386. |
1318 | See | | 1318 | See |
1319 | .Pa sys/kern/subr_spldebug.c . | | 1319 | .Pa sys/kern/subr_spldebug.c . |
1320 | .It Cd options TFTPROOT | | 1320 | .It Cd options TFTPROOT |
1321 | Download the root memory disk through TFTP at root mount time. | | 1321 | Download the root memory disk through TFTP at root mount time. |
1322 | This enables the use of a root RAM disk without requiring it to be | | 1322 | This enables the use of a root RAM disk without requiring it to be |
1323 | embedded in the kernel using | | 1323 | embedded in the kernel using |
1324 | .Xr mdsetimage 8 . | | 1324 | .Xr mdsetimage 8 . |
1325 | The RAM disk name is obtained using DHCP's filename parameter. | | 1325 | The RAM disk name is obtained using DHCP's filename parameter. |
1326 | This option requires | | 1326 | This option requires |
1327 | .Em MEMORY_DISK_HOOKS | | 1327 | .Em MEMORY_DISK_HOOKS |
1328 | and | | 1328 | and |
1329 | .Em MEMORY_DISK_DYNAMIC . | | 1329 | .Em MEMORY_DISK_DYNAMIC . |
1330 | It is incompatible with | | 1330 | It is incompatible with |
1331 | .Em MEMORY_DISK_ROOT_SIZE . | | 1331 | .Em MEMORY_DISK_ROOT_SIZE . |
1332 | .It Cd options HZ=integer | | 1332 | .It Cd options HZ=integer |
1333 | On ports that support it, set the system clock frequency (see | | 1333 | On ports that support it, set the system clock frequency (see |
1334 | .Xr hz 9 ) | | 1334 | .Xr hz 9 ) |
1335 | to the supplied value. | | 1335 | to the supplied value. |
1336 | Handle with care. | | 1336 | Handle with care. |
1337 | .It Cd options NTP | | 1337 | .It Cd options NTP |
1338 | Turns on in-kernel precision timekeeping support used by software | | 1338 | Turns on in-kernel precision timekeeping support used by software |
1339 | implementing | | 1339 | implementing |
1340 | .Em NTP | | 1340 | .Em NTP |
1341 | (Network Time Protocol, RFC 1305). | | 1341 | (Network Time Protocol, RFC 1305). |
1342 | The | | 1342 | The |
1343 | .Em NTP | | 1343 | .Em NTP |
1344 | option adds an in-kernel Phase-Locked Loop (PLL) for normal | | 1344 | option adds an in-kernel Phase-Locked Loop (PLL) for normal |
1345 | .Em NTP | | 1345 | .Em NTP |
1346 | operation, and a Frequency-Locked Loop (FLL) for intermittently-connected | | 1346 | operation, and a Frequency-Locked Loop (FLL) for intermittently-connected |
1347 | operation. | | 1347 | operation. |
1348 | .Xr ntpd 8 | | 1348 | .Xr ntpd 8 |
1349 | will employ a user-level PLL when kernel support is unavailable, | | 1349 | will employ a user-level PLL when kernel support is unavailable, |
1350 | but the in-kernel version has lower latency and more precision, and | | 1350 | but the in-kernel version has lower latency and more precision, and |
1351 | so typically keeps much better time. | | 1351 | so typically keeps much better time. |
1352 | .Pp | | 1352 | .Pp |
1353 | The interface to the kernel | | 1353 | The interface to the kernel |
1354 | .Em NTP | | 1354 | .Em NTP |
1355 | support is provided by the | | 1355 | support is provided by the |
1356 | .Xr ntp_adjtime 2 | | 1356 | .Xr ntp_adjtime 2 |
1357 | and | | 1357 | and |
1358 | .Xr ntp_gettime 2 | | 1358 | .Xr ntp_gettime 2 |
1359 | system calls, which are intended for use by | | 1359 | system calls, which are intended for use by |
1360 | .Xr ntpd 8 | | 1360 | .Xr ntpd 8 |
1361 | and are enabled by the option. | | 1361 | and are enabled by the option. |
1362 | On systems with sub-microsecond resolution timers, or where (HZ/100000) | | 1362 | On systems with sub-microsecond resolution timers, or where (HZ/100000) |
1363 | is not an integer, the | | 1363 | is not an integer, the |
1364 | .Em NTP | | 1364 | .Em NTP |
1365 | option also enables extended-precision arithmetic to keep track of | | 1365 | option also enables extended-precision arithmetic to keep track of |
1366 | fractional clock ticks at NTP time-format precision. | | 1366 | fractional clock ticks at NTP time-format precision. |
1367 | .It Cd options PPS_SYNC | | 1367 | .It Cd options PPS_SYNC |
1368 | This option enables a kernel serial line discipline for receiving time | | 1368 | This option enables a kernel serial line discipline for receiving time |
1369 | phase signals from an external reference clock such as a radio clock. | | 1369 | phase signals from an external reference clock such as a radio clock. |
1370 | .Po | | 1370 | .Po |
1371 | The | | 1371 | The |
1372 | .Em NTP | | 1372 | .Em NTP |
1373 | option (which see) must be on if the | | 1373 | option (which see) must be on if the |
1374 | .Em PPS_SYNC | | 1374 | .Em PPS_SYNC |
1375 | option is used | | 1375 | option is used |
1376 | .Pc . | | 1376 | .Pc . |
1377 | Some reference clocks generate a Pulse Per Second (PPS) signal in | | 1377 | Some reference clocks generate a Pulse Per Second (PPS) signal in |
1378 | phase with their time source. | | 1378 | phase with their time source. |
1379 | The | | 1379 | The |
1380 | .Em PPS | | 1380 | .Em PPS |
1381 | line discipline receives this signal on either the data leads | | 1381 | line discipline receives this signal on either the data leads |
1382 | or the DCD control lead of a serial port. | | 1382 | or the DCD control lead of a serial port. |
1383 | .Pp | | 1383 | .Pp |
1384 | .Em NTP | | 1384 | .Em NTP |
1385 | uses the PPS signal to discipline the local clock oscillator to a high | | 1385 | uses the PPS signal to discipline the local clock oscillator to a high |
1386 | degree of precision (typically less than 50 microseconds in time and | | 1386 | degree of precision (typically less than 50 microseconds in time and |
1387 | 0.1 ppm in accuracy). | | 1387 | 0.1 ppm in accuracy). |
1388 | .Em PPS | | 1388 | .Em PPS |
1389 | can also generate a serial output pulse when the system receives a PPS | | 1389 | can also generate a serial output pulse when the system receives a PPS |
1390 | interrupt. | | 1390 | interrupt. |
1391 | This can be used to measure the system interrupt latency and thus calibrate | | 1391 | This can be used to measure the system interrupt latency and thus calibrate |
1392 | .Em NTP | | 1392 | .Em NTP |
1393 | to account for it. | | 1393 | to account for it. |
1394 | Using | | 1394 | Using |
1395 | .Em PPS | | 1395 | .Em PPS |
1396 | usually requires a gadget box | | 1396 | usually requires a gadget box |
1397 | to convert from TTL to RS-232 signal levels. | | 1397 | to convert from TTL to RS-232 signal levels. |
1398 | The gadget box and PPS are described in more detail in the HTML documentation | | 1398 | The gadget box and PPS are described in more detail in the HTML documentation |
1399 | for | | 1399 | for |
1400 | .Xr ntpd 8 | | 1400 | .Xr ntpd 8 |
1401 | in | | 1401 | in |
1402 | .Pa /usr/share/doc/html/ntp . | | 1402 | .Pa /usr/share/doc/html/ntp . |
1403 | .Pp | | 1403 | .Pp |
1404 | .Nx | | 1404 | .Nx |
1405 | currently supports this option in | | 1405 | currently supports this option in |
1406 | .Xr com 4 | | 1406 | .Xr com 4 |
1407 | and | | 1407 | and |
1408 | .Xr zsc 4 . | | 1408 | .Xr zsc 4 . |
1409 | .It Cd options SETUIDSCRIPTS | | 1409 | .It Cd options SETUIDSCRIPTS |
1410 | Allows scripts with the setuid bit set to execute as the effective | | 1410 | Allows scripts with the setuid bit set to execute as the effective |
1411 | user rather than the real user, just like binary executables. | | 1411 | user rather than the real user, just like binary executables. |
1412 | .Pp | | 1412 | .Pp |
1413 | .Em NOTE : | | 1413 | .Em NOTE : |
1414 | Using this option will also enable | | 1414 | Using this option will also enable |
1415 | .Em options FDSCRIPTS | | 1415 | .Em options FDSCRIPTS |
1416 | .It Cd options FDSCRIPTS | | 1416 | .It Cd options FDSCRIPTS |
1417 | Allows execution of scripts with the execute bit set, but not the | | 1417 | Allows execution of scripts with the execute bit set, but not the |
1418 | read bit, by opening the file and passing the file descriptor to | | 1418 | read bit, by opening the file and passing the file descriptor to |
1419 | the shell, rather than the filename. | | 1419 | the shell, rather than the filename. |
1420 | .Pp | | 1420 | .Pp |
1421 | .Em NOTE : | | 1421 | .Em NOTE : |
1422 | Execute only (non-readable) scripts will have | | 1422 | Execute only (non-readable) scripts will have |
1423 | .Va argv[0] | | 1423 | .Va argv[0] |
1424 | set to | | 1424 | set to |
1425 | .Pa /dev/fd/* . | | 1425 | .Pa /dev/fd/* . |
1426 | What this option allows as far as security is | | 1426 | What this option allows as far as security is |
1427 | concerned, is the ability to safely ensure that the correct script | | 1427 | concerned, is the ability to safely ensure that the correct script |
1428 | is run by the interpreter, as it is passed as an already open file. | | 1428 | is run by the interpreter, as it is passed as an already open file. |
1429 | .It Cd options RTC_OFFSET=integer | | 1429 | .It Cd options RTC_OFFSET=integer |
1430 | The kernel (and typically the hardware battery backed-up clock on | | 1430 | The kernel (and typically the hardware battery backed-up clock on |
1431 | those machines that have one) keeps time in | | 1431 | those machines that have one) keeps time in |
1432 | .Em UTC | | 1432 | .Em UTC |
1433 | (Universal Coordinated Time, once known as | | 1433 | (Universal Coordinated Time, once known as |
1434 | .Em GMT , | | 1434 | .Em GMT , |
1435 | or Greenwich Mean Time) | | 1435 | or Greenwich Mean Time) |
1436 | and not in the time of the local time zone. | | 1436 | and not in the time of the local time zone. |
1437 | The | | 1437 | The |
1438 | .Em RTC_OFFSET | | 1438 | .Em RTC_OFFSET |
1439 | option is used on some ports (such as the i386) to tell the kernel | | 1439 | option is used on some ports (such as the i386) to tell the kernel |
1440 | that the hardware clock is offset from | | 1440 | that the hardware clock is offset from |
1441 | .Em UTC | | 1441 | .Em UTC |
1442 | by the specified number of minutes. | | 1442 | by the specified number of minutes. |
1443 | This is typically used when a machine boots several operating | | 1443 | This is typically used when a machine boots several operating |
1444 | systems and one of them wants the hardware clock to run in the | | 1444 | systems and one of them wants the hardware clock to run in the |
1445 | local time zone and not in | | 1445 | local time zone and not in |
1446 | .Em UTC , | | 1446 | .Em UTC , |
1447 | e.g. | | 1447 | e.g. |
1448 | .Em RTC_OFFSET=300 | | 1448 | .Em RTC_OFFSET=300 |
1449 | means | | 1449 | means |
1450 | the hardware clock is set to US Eastern Time (300 minutes behind | | 1450 | the hardware clock is set to US Eastern Time (300 minutes behind |
1451 | .Em UTC ) , | | 1451 | .Em UTC ) , |
1452 | and not | | 1452 | and not |
1453 | .Em UTC . | | 1453 | .Em UTC . |
1454 | (Note: | | 1454 | (Note: |
1455 | .Em RTC_OFFSET | | 1455 | .Em RTC_OFFSET |
1456 | is used to initialize a kernel variable named | | 1456 | is used to initialize a kernel variable named |
1457 | .Va rtc_offset | | 1457 | .Va rtc_offset |
1458 | which is the source actually used to determine the clock offset, and | | 1458 | which is the source actually used to determine the clock offset, and |
1459 | which may be accessed via the kern.rtc_offset sysctl variable. | | 1459 | which may be accessed via the kern.rtc_offset sysctl variable. |
1460 | See | | 1460 | See |
1461 | .Xr sysctl 8 | | 1461 | .Xr sysctl 8 |
1462 | and | | 1462 | and |
1463 | .Xr sysctl 3 | | 1463 | .Xr sysctl 3 |
1464 | for details. | | 1464 | for details. |
1465 | Since the kernel clock is initialized from the hardware clock very | | 1465 | Since the kernel clock is initialized from the hardware clock very |
1466 | early in the boot process, it is not possible to meaningfully change | | 1466 | early in the boot process, it is not possible to meaningfully change |
1467 | .Va rtc_offset | | 1467 | .Va rtc_offset |
1468 | in system initialization scripts. | | 1468 | in system initialization scripts. |
1469 | Changing this value currently may only be done at kernel compile | | 1469 | Changing this value currently may only be done at kernel compile |
1470 | time or by patching the kernel and rebooting). | | 1470 | time or by patching the kernel and rebooting). |
1471 | .Pp | | 1471 | .Pp |
1472 | .Em NOTE : | | 1472 | .Em NOTE : |
1473 | Unfortunately, in many cases where the hardware clock | | 1473 | Unfortunately, in many cases where the hardware clock |
1474 | is kept in local time, it is adjusted for Daylight Savings | | 1474 | is kept in local time, it is adjusted for Daylight Savings |
1475 | Time; this means that attempting to use | | 1475 | Time; this means that attempting to use |
1476 | .Em RTC_OFFSET | | 1476 | .Em RTC_OFFSET |
1477 | to let | | 1477 | to let |
1478 | .Nx | | 1478 | .Nx |
1479 | coexist with such an operating system, like Windows, | | 1479 | coexist with such an operating system, like Windows, |
1480 | would necessitate changing | | 1480 | would necessitate changing |
1481 | .Em RTC_OFFSET | | 1481 | .Em RTC_OFFSET |
1482 | twice a year. | | 1482 | twice a year. |
1483 | As such, this solution is imperfect. | | 1483 | As such, this solution is imperfect. |
1484 | .It Cd options MAXUPRC=integer | | 1484 | .It Cd options MAXUPRC=integer |
1485 | Sets the soft | | 1485 | Sets the soft |
1486 | .Dv RLIMIT_NPROC | | 1486 | .Dv RLIMIT_NPROC |
1487 | resource limit, which specifies the maximum number of simultaneous | | 1487 | resource limit, which specifies the maximum number of simultaneous |
1488 | processes a user is permitted to run, for process 0; | | 1488 | processes a user is permitted to run, for process 0; |
1489 | this value is inherited by its child processes. | | 1489 | this value is inherited by its child processes. |
1490 | It defaults to | | 1490 | It defaults to |
1491 | .Em CHILD_MAX , | | 1491 | .Em CHILD_MAX , |
1492 | which is currently defined to be 160. | | 1492 | which is currently defined to be 160. |
1493 | Setting | | 1493 | Setting |
1494 | .Em MAXUPRC | | 1494 | .Em MAXUPRC |
1495 | to a value less than | | 1495 | to a value less than |
1496 | .Em CHILD_MAX | | 1496 | .Em CHILD_MAX |
1497 | is not permitted, as this would result in a violation of the semantics of | | 1497 | is not permitted, as this would result in a violation of the semantics of |
1498 | .St -p1003.1-90 . | | 1498 | .St -p1003.1-90 . |
1499 | .It Cd options NOFILE=integer | | 1499 | .It Cd options NOFILE=integer |
1500 | Sets the soft | | 1500 | Sets the soft |
1501 | .Dv RLIMIT_NOFILE | | 1501 | .Dv RLIMIT_NOFILE |
1502 | resource limit, which specifies the maximum number of open | | 1502 | resource limit, which specifies the maximum number of open |
1503 | file descriptors for each process; | | 1503 | file descriptors for each process; |
1504 | this value is inherited by its child processes. | | 1504 | this value is inherited by its child processes. |
1505 | It defaults to | | 1505 | It defaults to |
1506 | .Em OPEN_MAX , | | 1506 | .Em OPEN_MAX , |
1507 | which is currently defined to be 128. | | 1507 | which is currently defined to be 128. |
1508 | .It Cd options MAXFILES=integer | | 1508 | .It Cd options MAXFILES=integer |
1509 | Sets the default value of the | | 1509 | Sets the default value of the |
1510 | .Em kern.maxfiles | | 1510 | .Em kern.maxfiles |
1511 | sysctl variable, which indicates the maximum number of files that may | | 1511 | sysctl variable, which indicates the maximum number of files that may |
1512 | be open in the system. | | 1512 | be open in the system. |
1513 | .It Cd options DEFCORENAME=string | | 1513 | .It Cd options DEFCORENAME=string |
1514 | Sets the default value of the | | 1514 | Sets the default value of the |
1515 | .Em kern.defcorename | | 1515 | .Em kern.defcorename |
1516 | sysctl variable, otherwise it is set to | | 1516 | sysctl variable, otherwise it is set to |
1517 | .Nm %n.core . | | 1517 | .Nm %n.core . |
1518 | See | | 1518 | See |
1519 | .Xr sysctl 8 | | 1519 | .Xr sysctl 8 |
1520 | and | | 1520 | and |
1521 | .Xr sysctl 3 | | 1521 | .Xr sysctl 3 |
1522 | for details. | | 1522 | for details. |
1523 | .It Cd options RASOPS_CLIPPING | | 1523 | .It Cd options RASOPS_CLIPPING |
1524 | Enables clipping within the | | 1524 | Enables clipping within the |
1525 | .Nm rasops | | 1525 | .Nm rasops |
1526 | raster-console output system. | | 1526 | raster-console output system. |
1527 | .Em NOTE : | | 1527 | .Em NOTE : |
1528 | only available on architectures that use | | 1528 | only available on architectures that use |
1529 | .Nm rasops | | 1529 | .Nm rasops |
1530 | for console output. | | 1530 | for console output. |
1531 | .It Cd options RASOPS_SMALL | | 1531 | .It Cd options RASOPS_SMALL |
1532 | Removes optimized character writing code from the | | 1532 | Removes optimized character writing code from the |
1533 | .Nm rasops | | 1533 | .Nm rasops |
1534 | raster-console output system. | | 1534 | raster-console output system. |
1535 | .Em NOTE : | | 1535 | .Em NOTE : |
1536 | only available on architectures that use | | 1536 | only available on architectures that use |
1537 | .Nm rasops | | 1537 | .Nm rasops |
1538 | for console output. | | 1538 | for console output. |
1539 | .It Cd options INCLUDE_CONFIG_FILE | | 1539 | .It Cd options INCLUDE_CONFIG_FILE |
1540 | Embeds the kernel config file used to define the kernel in the kernel | | 1540 | Embeds the kernel config file used to define the kernel in the kernel |
1541 | binary itself. | | 1541 | binary itself. |
1542 | The embedded data also includes any files directly included by the config | | 1542 | The embedded data also includes any files directly included by the config |
1543 | file itself, e.g. | | 1543 | file itself, e.g. |
1544 | .Pa GENERIC.local | | 1544 | .Pa GENERIC.local |
1545 | or | | 1545 | or |
1546 | .Pa std.$MACHINE . | | 1546 | .Pa std.$MACHINE . |
1547 | The embedded config file can be extracted from the resulting kernel with | | 1547 | The embedded config file can be extracted from the resulting kernel with |
1548 | .Xr config 1 | | 1548 | .Xr config 1 |
1549 | .Fl x , | | 1549 | .Fl x , |
1550 | or by the following command: | | 1550 | or by the following command: |
1551 | .Bd -literal -offset indent | | 1551 | .Bd -literal -offset indent |
1552 | strings netbsd | sed -n 's/^_CFG_//p' | unvis | | 1552 | strings netbsd | sed -n 's/^_CFG_//p' | unvis |
1553 | .Ed | | 1553 | .Ed |
1554 | .It Cd options INCLUDE_JUST_CONFIG | | 1554 | .It Cd options INCLUDE_JUST_CONFIG |
1555 | Similar to the above option, but includes just the actual config file, | | 1555 | Similar to the above option, but includes just the actual config file, |
1556 | not any included files. | | 1556 | not any included files. |
1557 | .It Cd options PIPE_SOCKETPAIR | | 1557 | .It Cd options PIPE_SOCKETPAIR |
1558 | Use slower, but smaller socketpair(2)-based pipe implementation instead | | 1558 | Use slower, but smaller socketpair(2)-based pipe implementation instead |
1559 | of default faster, but bigger one. | | 1559 | of default faster, but bigger one. |
1560 | Primarily useful for installation kernels. | | 1560 | Primarily useful for installation kernels. |
1561 | .It Cd options USERCONF | | 1561 | .It Cd options USERCONF |
1562 | Compiles in the in-kernel device configuration manager. | | 1562 | Compiles in the in-kernel device configuration manager. |
1563 | See | | 1563 | See |
1564 | .Xr userconf 4 | | 1564 | .Xr userconf 4 |
1565 | for details. | | 1565 | for details. |
1566 | .It Cd options SCDEBUG_DEFAULT | | 1566 | .It Cd options SCDEBUG_DEFAULT |
1567 | Used with the | | 1567 | Used with the |
1568 | .Cd options SYSCALL_DEBUG | | 1568 | .Cd options SYSCALL_DEBUG |
1569 | described below to choose which types of events are displayed. | | 1569 | described below to choose which types of events are displayed. |
1570 | .Pp | | 1570 | .Pp |
1571 | .Bl -tag -width "SCDEBUG_KERNHIST" -compact -offset indent | | 1571 | .Bl -tag -width "SCDEBUG_KERNHIST" -compact -offset indent |
1572 | .It Dv SCDEBUG_CALLS | | 1572 | .It Dv SCDEBUG_CALLS |
1573 | Show system call entry points. | | 1573 | Show system call entry points. |
1574 | .It Dv SCDEBUG_RETURNS | | 1574 | .It Dv SCDEBUG_RETURNS |
1575 | Show system call exit points. | | 1575 | Show system call exit points. |
1576 | .It Dv SCDEBUG_ALL | | 1576 | .It Dv SCDEBUG_ALL |
1577 | Show all system call requests, including unimplemented calls. | | 1577 | Show all system call requests, including unimplemented calls. |
1578 | .It Dv SCDEBUG_SHOWARGS | | 1578 | .It Dv SCDEBUG_SHOWARGS |
1579 | Show the arguments provided. | | 1579 | Show the arguments provided. |
1580 | .It Dv SCDEBUG_KERNHIST | | 1580 | .It Dv SCDEBUG_KERNHIST |
1581 | Store a restricted form of the system call debug in a kernel history | | 1581 | Store a restricted form of the system call debug in a kernel history |
1582 | instead of printing it to the console. | | 1582 | instead of printing it to the console. |
1583 | This option relies upon | | 1583 | This option relies upon |
1584 | .Cd options KERNHIST . | | 1584 | .Cd options KERNHIST . |
1585 | .El | | 1585 | .El |
1586 | .Pp | | 1586 | .Pp |
1587 | The default value is | | 1587 | The default value is |
1588 | .Dv (SCDEBUG_CALLS|SCDEBUG_RETURNS|SCDEBUG_SHOWARGS) . | | 1588 | .Dv (SCDEBUG_CALLS|SCDEBUG_RETURNS|SCDEBUG_SHOWARGS) . |
1589 | .It Cd options SYSCALL_DEBUG | | 1589 | .It Cd options SYSCALL_DEBUG |
1590 | Useful for debugging system call issues, usually in early single user bringup. | | 1590 | Useful for debugging system call issues, usually in early single user bringup. |
1591 | By default, writes entries to the system console for most system call events. | | 1591 | By default, writes entries to the system console for most system call events. |
1592 | Can be configured with the | | 1592 | Can be configured with the |
1593 | .Cd options SCDEBUG_DEFAULT | | 1593 | .Cd options SCDEBUG_DEFAULT |
1594 | option to to use the | | 1594 | option to to use the |
1595 | .Cd options KERNHIST | | 1595 | .Cd options KERNHIST |
1596 | facility instead. | | 1596 | facility instead. |
1597 | .It Cd options SYSCALL_STATS | | 1597 | .It Cd options SYSCALL_STATS |
1598 | Count the number of times each system call number is called. | | 1598 | Count the number of times each system call number is called. |
1599 | The values can be read through the sysctl interface and displayed using | | 1599 | The values can be read through the sysctl interface and displayed using |
1600 | .Xr systat 1 . | | 1600 | .Xr systat 1 . |
1601 | .Em NOTE : | | 1601 | .Em NOTE : |
1602 | not yet available on all architectures. | | 1602 | not yet available on all architectures. |
1603 | .It Cd options SYSCALL_TIMES | | 1603 | .It Cd options SYSCALL_TIMES |
1604 | Count the time spent (using | | 1604 | Count the time spent (using |
1605 | .Fn cpu_counter32 ) | | 1605 | .Fn cpu_counter32 ) |
1606 | in each system call. | | 1606 | in each system call. |
1607 | .Em NOTE : | | 1607 | .Em NOTE : |
1608 | Using this option will also enable | | 1608 | Using this option will also enable |
1609 | .Cd options SYSCALL_STATS . | | 1609 | .Cd options SYSCALL_STATS . |
1610 | .It Cd options SYSCALL_TIMES_HASCOUNTER | | 1610 | .It Cd options SYSCALL_TIMES_HASCOUNTER |
1611 | Force use of | | 1611 | Force use of |
1612 | .Fn cpu_counter32 | | 1612 | .Fn cpu_counter32 |
1613 | even if | | 1613 | even if |
1614 | .Fn cpu_hascounter | | 1614 | .Fn cpu_hascounter |
1615 | reports false. | | 1615 | reports false. |
1616 | Useful for systems where the cycle counter doesn't run at a constant rate | | 1616 | Useful for systems where the cycle counter doesn't run at a constant rate |
1617 | (e.g. Soekris boxes). | | 1617 | (e.g. Soekris boxes). |
1618 | .It Cd options XSERVER_DDB | | 1618 | .It Cd options XSERVER_DDB |
1619 | A supplement to XSERVER that adds support for entering | | 1619 | A supplement to XSERVER that adds support for entering |
1620 | .Xr ddb 4 | | 1620 | .Xr ddb 4 |
1621 | while in X11. | | 1621 | while in X11. |
1622 | .It Cd options FILEASSOC | | 1622 | .It Cd options FILEASSOC |
1623 | Support for | | 1623 | Support for |
1624 | .Xr fileassoc 9 . | | 1624 | .Xr fileassoc 9 . |
1625 | Required for | | 1625 | Required for |
1626 | .Cd options PAX_SEGVGUARD | | 1626 | .Cd options PAX_SEGVGUARD |
1627 | and | | 1627 | and |
1628 | .Cd pseudo-device veriexec . | | 1628 | .Cd pseudo-device veriexec . |
1629 | .It Cd options FILEASSOC_NHOOKS=integer | | 1629 | .It Cd options FILEASSOC_NHOOKS=integer |
1630 | Number of storage slots per file for | | 1630 | Number of storage slots per file for |
1631 | .Xr fileassoc 9 . | | 1631 | .Xr fileassoc 9 . |
1632 | Default is 4. | | 1632 | Default is 4. |
1633 | .El | | 1633 | .El |
1634 | .Ss Networking Options | | 1634 | .Ss Networking Options |
1635 | .Bl -ohang | | 1635 | .Bl -ohang |
1636 | .It Cd options GATEWAY | | 1636 | .It Cd options GATEWAY |
1637 | Enables | | 1637 | Enables |
1638 | .Em IPFORWARDING | | 1638 | .Em IPFORWARDING |
1639 | and (on most ports) increases the size of | | 1639 | and (on most ports) increases the size of |
1640 | .Em NMBCLUSTERS . | | 1640 | .Em NMBCLUSTERS . |
1641 | In general, | | 1641 | In general, |
1642 | .Em GATEWAY | | 1642 | .Em GATEWAY |
1643 | is used to indicate that a system should act as a router, and | | 1643 | is used to indicate that a system should act as a router, and |
1644 | .Em IPFORWARDING | | 1644 | .Em IPFORWARDING |
1645 | is not invoked directly. | | 1645 | is not invoked directly. |
1646 | (Note that | | 1646 | (Note that |
1647 | .Em GATEWAY | | 1647 | .Em GATEWAY |
1648 | has no impact on protocols other than IP). | | 1648 | has no impact on protocols other than IP). |
1649 | .Em GATEWAY | | 1649 | .Em GATEWAY |
1650 | option also compiles IPv4 and IPv6 fast forwarding code into the kernel. | | 1650 | option also compiles IPv4 and IPv6 fast forwarding code into the kernel. |
1651 | .It Cd options IPFORWARDING=value | | 1651 | .It Cd options IPFORWARDING=value |
1652 | If | | 1652 | If |
1653 | .Em value | | 1653 | .Em value |
1654 | is 1 this enables IP routing behavior. | | 1654 | is 1 this enables IP routing behavior. |
1655 | If | | 1655 | If |
1656 | .Em value | | 1656 | .Em value |
1657 | is 0 (the default), it disables it. | | 1657 | is 0 (the default), it disables it. |
1658 | The | | 1658 | The |
1659 | .Em GATEWAY | | 1659 | .Em GATEWAY |
1660 | option sets this to 1 automatically. | | 1660 | option sets this to 1 automatically. |
1661 | With this option enabled, the machine will forward IP datagrams destined | | 1661 | With this option enabled, the machine will forward IP datagrams destined |
1662 | for other machines between its interfaces. | | 1662 | for other machines between its interfaces. |
1663 | Note that even without this option, the kernel will | | 1663 | Note that even without this option, the kernel will |
1664 | still forward some packets (such as source routed packets) \(em removing | | 1664 | still forward some packets (such as source routed packets) \(em removing |
1665 | .Em GATEWAY | | 1665 | .Em GATEWAY |
1666 | and | | 1666 | and |
1667 | .Em IPFORWARDING | | 1667 | .Em IPFORWARDING |
1668 | is insufficient to stop all routing through a bastion host on a | | 1668 | is insufficient to stop all routing through a bastion host on a |
1669 | firewall \(em source routing is controlled independently. | | 1669 | firewall \(em source routing is controlled independently. |
1670 | Note that IP forwarding may be turned on and off independently of the | | 1670 | Note that IP forwarding may be turned on and off independently of the |
1671 | setting of the | | 1671 | setting of the |
1672 | .Em IPFORWARDING | | 1672 | .Em IPFORWARDING |
1673 | option through the use of the | | 1673 | option through the use of the |
1674 | .Em net.inet.ip.forwarding | | 1674 | .Em net.inet.ip.forwarding |
1675 | sysctl variable. | | 1675 | sysctl variable. |
1676 | If | | 1676 | If |
1677 | .Em net.inet.ip.forwarding | | 1677 | .Em net.inet.ip.forwarding |
1678 | is 1, IP forwarding is on. | | 1678 | is 1, IP forwarding is on. |
1679 | See | | 1679 | See |
1680 | .Xr sysctl 8 | | 1680 | .Xr sysctl 8 |
1681 | and | | 1681 | and |
1682 | .Xr sysctl 3 | | 1682 | .Xr sysctl 3 |
1683 | for details. | | 1683 | for details. |
1684 | .It Cd options IFA_STATS | | 1684 | .It Cd options IFA_STATS |
1685 | Tells the kernel to maintain per-address statistics on bytes sent | | 1685 | Tells the kernel to maintain per-address statistics on bytes sent |
1686 | and received over (currently) Internet and AppleTalk addresses. | | 1686 | and received over (currently) Internet and AppleTalk addresses. |
1687 | .\"This can be a fairly expensive operation, so you probably want to | | 1687 | .\"This can be a fairly expensive operation, so you probably want to |
1688 | .\"keep this disabled. | | 1688 | .\"keep this disabled. |
1689 | The option is not recommended as it degrades system stability. | | 1689 | The option is not recommended as it degrades system stability. |
1690 | .It Cd options IFQ_MAXLEN=value | | 1690 | .It Cd options IFQ_MAXLEN=value |
1691 | Increases the allowed size of the network interface packet queues. | | 1691 | Increases the allowed size of the network interface packet queues. |
1692 | The default queue size is 50 packets, and you do not normally need | | 1692 | The default queue size is 50 packets, and you do not normally need |
1693 | to increase it. | | 1693 | to increase it. |
1694 | .It Cd options IPSELSRC | | 1694 | .It Cd options IPSELSRC |
1695 | Includes support for source-address selection policies. | | 1695 | Includes support for source-address selection policies. |
1696 | See | | 1696 | See |
1697 | .Xr in_getifa 9 . | | 1697 | .Xr in_getifa 9 . |
1698 | .It Cd options MROUTING | | 1698 | .It Cd options MROUTING |
1699 | Includes support for IP multicast routers. | | 1699 | Includes support for IP multicast routers. |
1700 | You certainly want | | 1700 | You certainly want |
1701 | .Em INET | | 1701 | .Em INET |
1702 | with this. | | 1702 | with this. |
1703 | Multicast routing is controlled by the | | 1703 | Multicast routing is controlled by the |
1704 | .Xr mrouted 8 | | 1704 | .Xr mrouted 8 |
1705 | daemon. | | 1705 | daemon. |
1706 | See also option | | 1706 | See also option |
1707 | .Cd PIM . | | 1707 | .Cd PIM . |
1708 | .It Cd options PIM | | 1708 | .It Cd options PIM |
1709 | Includes support for Protocol Independent Multicast (PIM) routing. | | 1709 | Includes support for Protocol Independent Multicast (PIM) routing. |
1710 | You need | | 1710 | You need |
1711 | .Em MROUTING | | 1711 | .Em MROUTING |
1712 | and | | 1712 | and |
1713 | .Em INET | | 1713 | .Em INET |
1714 | with this. | | 1714 | with this. |
1715 | Software using this can be found e.g. in | | 1715 | Software using this can be found e.g. in |
1716 | .Pa pkgsrc/net/xorp . | | 1716 | .Pa pkgsrc/net/xorp . |
1717 | .It Cd options INET | | 1717 | .It Cd options INET |
1718 | Includes support for the TCP/IP protocol stack. | | 1718 | Includes support for the TCP/IP protocol stack. |
1719 | You almost certainly want this. | | 1719 | You almost certainly want this. |
1720 | See | | 1720 | See |
1721 | .Xr inet 4 | | 1721 | .Xr inet 4 |
1722 | for details. | | 1722 | for details. |
1723 | .It Cd options INET6 | | 1723 | .It Cd options INET6 |
1724 | Includes support for the IPv6 protocol stack. | | 1724 | Includes support for the IPv6 protocol stack. |
1725 | See | | 1725 | See |
1726 | .Xr inet6 4 | | 1726 | .Xr inet6 4 |
1727 | for details. | | 1727 | for details. |
1728 | Unlike | | 1728 | Unlike |
1729 | .Em INET , | | 1729 | .Em INET , |
1730 | .Em INET6 | | 1730 | .Em INET6 |
1731 | enables multicast routing code as well. | | 1731 | enables multicast routing code as well. |
1732 | This option requires | | 1732 | This option requires |
1733 | .Em INET | | 1733 | .Em INET |
1734 | at this moment, but it should not. | | 1734 | at this moment, but it should not. |
1735 | .It Cd options ND6_DEBUG | | 1735 | .It Cd options ND6_DEBUG |
1736 | The option sets the default value of net.inet6.icmp6.nd6_debug to 1, | | 1736 | The option sets the default value of net.inet6.icmp6.nd6_debug to 1, |
1737 | for debugging IPv6 neighbor discovery protocol handling. | | 1737 | for debugging IPv6 neighbor discovery protocol handling. |
1738 | See | | 1738 | See |
1739 | .Xr sysctl 3 | | 1739 | .Xr sysctl 3 |
1740 | for details. | | 1740 | for details. |
1741 | .It Cd options IPSEC | | 1741 | .It Cd options IPSEC |
1742 | Includes support for the IPsec protocol, using the implementation derived from | | 1742 | Includes support for the IPsec protocol, using the implementation derived from |
1743 | .Ox , | | 1743 | .Ox , |
1744 | relying on | | 1744 | relying on |
1745 | .Xr opencrypto 9 | | 1745 | .Xr opencrypto 9 |
1746 | to carry out cryptographic operations. | | 1746 | to carry out cryptographic operations. |
1747 | See | | 1747 | See |
1748 | .Xr ipsec 4 | | 1748 | .Xr ipsec 4 |
1749 | for details. | | 1749 | for details. |
1750 | .It Cd options IPSEC_DEBUG | | 1750 | .It Cd options IPSEC_DEBUG |
1751 | Enables debugging code in IPsec stack. | | 1751 | Enables debugging code in IPsec stack. |
1752 | See | | 1752 | See |
1753 | .Xr ipsec 4 | | 1753 | .Xr ipsec 4 |
1754 | for details. | | 1754 | for details. |
1755 | The | | 1755 | The |
1756 | .Cd IPSEC | | 1756 | .Cd IPSEC |
1757 | option includes support for IPsec Network Address Translator traversal | | 1757 | option includes support for IPsec Network Address Translator traversal |
1758 | (NAT-T), as described in RFCs 3947 and 3948. | | 1758 | (NAT-T), as described in RFCs 3947 and 3948. |
1759 | This feature might be patent-encumbered in some countries. | | 1759 | This feature might be patent-encumbered in some countries. |
1760 | .It Cd options ALTQ | | 1760 | .It Cd options ALTQ |
1761 | Enabled ALTQ (Alternate Queueing). | | 1761 | Enabled ALTQ (Alternate Queueing). |
1762 | For simple rate-limiting, use | | 1762 | For simple rate-limiting, use |
1763 | .Xr tbrconfig 8 | | 1763 | .Xr tbrconfig 8 |
1764 | to set up the interface transmission rate. | | 1764 | to set up the interface transmission rate. |
1765 | To use queueing disciplines, their appropriate kernel options should also | | 1765 | To use queueing disciplines, their appropriate kernel options should also |
1766 | be defined (documented below). | | 1766 | be defined (documented below). |
1767 | Queueing disciplines are managed by | | 1767 | Queueing disciplines are managed by |
1768 | .Xr altqd 8 . | | 1768 | .Xr altqd 8 . |
1769 | See | | 1769 | See |
1770 | .Xr altq 9 | | 1770 | .Xr altq 9 |
1771 | for details. | | 1771 | for details. |
1772 | .It Cd options ALTQ_HFSC | | 1772 | .It Cd options ALTQ_HFSC |
1773 | Include support for ALTQ-implemented HFSC (Hierarchical Fair Service Curve) | | 1773 | Include support for ALTQ-implemented HFSC (Hierarchical Fair Service Curve) |
1774 | module. | | 1774 | module. |
1775 | HFSC supports both link-sharing and guaranteed real-time services. | | 1775 | HFSC supports both link-sharing and guaranteed real-time services. |
1776 | HFSC employs a service curve based QoS model, and its unique feature | | 1776 | HFSC employs a service curve based QoS model, and its unique feature |
1777 | is an ability to decouple delay and bandwidth allocation. | | 1777 | is an ability to decouple delay and bandwidth allocation. |
1778 | Requires | | 1778 | Requires |
1779 | .Em ALTQ_RED | | 1779 | .Em ALTQ_RED |
1780 | to use the RED queueing discipline on HFSC classes, or | | 1780 | to use the RED queueing discipline on HFSC classes, or |
1781 | .Em ALTQ_RIO | | 1781 | .Em ALTQ_RIO |
1782 | to use the RIO queueing discipline on HFSC classes. | | 1782 | to use the RIO queueing discipline on HFSC classes. |
1783 | This option assumes | | 1783 | This option assumes |
1784 | .Em ALTQ . | | 1784 | .Em ALTQ . |
1785 | .It Cd options ALTQ_PRIQ | | 1785 | .It Cd options ALTQ_PRIQ |
1786 | Include support for ALTQ-implemented PRIQ (Priority Queueing). | | 1786 | Include support for ALTQ-implemented PRIQ (Priority Queueing). |
1787 | PRIQ implements a simple priority-based queueing discipline. | | 1787 | PRIQ implements a simple priority-based queueing discipline. |
1788 | A higher priority class is always served first. | | 1788 | A higher priority class is always served first. |
1789 | Requires | | 1789 | Requires |
1790 | .Em ALTQ_RED | | 1790 | .Em ALTQ_RED |
1791 | to use the RED queueing discipline on HFSC classes, or | | 1791 | to use the RED queueing discipline on HFSC classes, or |
1792 | .Em ALTQ_RIO | | 1792 | .Em ALTQ_RIO |
1793 | to use the RIO queueing discipline on HFSC classes. | | 1793 | to use the RIO queueing discipline on HFSC classes. |
1794 | This option assumes | | 1794 | This option assumes |
1795 | .Em ALTQ . | | 1795 | .Em ALTQ . |
1796 | .It Cd options ALTQ_WFQ | | 1796 | .It Cd options ALTQ_WFQ |
1797 | Include support for ALTQ-implemented WFQ (Weighted Fair Queueing). | | 1797 | Include support for ALTQ-implemented WFQ (Weighted Fair Queueing). |
1798 | WFQ implements a weighted-round robin scheduler for a set of queues. | | 1798 | WFQ implements a weighted-round robin scheduler for a set of queues. |
1799 | A weight can be assigned to each queue to give a different proportion | | 1799 | A weight can be assigned to each queue to give a different proportion |
1800 | of the link capacity. | | 1800 | of the link capacity. |
1801 | A hash function is used to map a flow to one of a set of queues. | | 1801 | A hash function is used to map a flow to one of a set of queues. |
1802 | This option assumes | | 1802 | This option assumes |
1803 | .Em ALTQ . | | 1803 | .Em ALTQ . |
1804 | .It Cd options ALTQ_FIFOQ | | 1804 | .It Cd options ALTQ_FIFOQ |
1805 | Include support for ALTQ-implemented FIFO queueing. | | 1805 | Include support for ALTQ-implemented FIFO queueing. |
1806 | FIFOQ is a simple drop-tail FIFO (First In, First Out) queueing discipline. | | 1806 | FIFOQ is a simple drop-tail FIFO (First In, First Out) queueing discipline. |
1807 | This option assumes | | 1807 | This option assumes |
1808 | .Em ALTQ . | | 1808 | .Em ALTQ . |
1809 | .It Cd options ALTQ_RIO | | 1809 | .It Cd options ALTQ_RIO |
1810 | Include support for ALTQ-implemented RIO (RED with In/Out). | | 1810 | Include support for ALTQ-implemented RIO (RED with In/Out). |
1811 | The original RIO has 2 sets of RED parameters; one for in-profile | | 1811 | The original RIO has 2 sets of RED parameters; one for in-profile |
1812 | packets and the other for out-of-profile packets. | | 1812 | packets and the other for out-of-profile packets. |
1813 | At the ingress of the network, profile meters tag packets as IN or | | 1813 | At the ingress of the network, profile meters tag packets as IN or |
1814 | OUT based on contracted profiles for customers. | | 1814 | OUT based on contracted profiles for customers. |
1815 | Inside the network, IN packets receive preferential treatment by | | 1815 | Inside the network, IN packets receive preferential treatment by |
1816 | the RIO dropper. | | 1816 | the RIO dropper. |
1817 | ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding | | 1817 | ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding |
1818 | PHB of DiffServ (RFC 2597). | | 1818 | PHB of DiffServ (RFC 2597). |
1819 | This option assumes | | 1819 | This option assumes |
1820 | .Em ALTQ . | | 1820 | .Em ALTQ . |
1821 | .It Cd options ALTQ_BLUE | | 1821 | .It Cd options ALTQ_BLUE |
1822 | Include support for ALTQ-implemented Blue buffer management. | | 1822 | Include support for ALTQ-implemented Blue buffer management. |
1823 | Blue is another active buffer management mechanism. | | 1823 | Blue is another active buffer management mechanism. |
1824 | This option assumes | | 1824 | This option assumes |
1825 | .Em ALTQ . | | 1825 | .Em ALTQ . |
1826 | .It Cd options ALTQ_FLOWVALVE | | 1826 | .It Cd options ALTQ_FLOWVALVE |
1827 | Include support for ALTQ-implemented Flowvalve. | | 1827 | Include support for ALTQ-implemented Flowvalve. |
1828 | Flowvalve is a simple implementation of a RED penalty box that identifies | | 1828 | Flowvalve is a simple implementation of a RED penalty box that identifies |
1829 | and punishes misbehaving flows. | | 1829 | and punishes misbehaving flows. |
1830 | This option requires | | 1830 | This option requires |
1831 | .Em ALTQ_RED | | 1831 | .Em ALTQ_RED |
1832 | and assumes | | 1832 | and assumes |
1833 | .Em ALTQ . | | 1833 | .Em ALTQ . |
1834 | .It Cd options ALTQ_CDNR | | 1834 | .It Cd options ALTQ_CDNR |
1835 | Include support for ALTQ-implemented CDNR (diffserv traffic conditioner) | | 1835 | Include support for ALTQ-implemented CDNR (diffserv traffic conditioner) |
1836 | packet marking/manipulation. | | 1836 | packet marking/manipulation. |
1837 | Traffic conditioners are components to meter, mark, or drop incoming | | 1837 | Traffic conditioners are components to meter, mark, or drop incoming |
1838 | packets according to some rules. | | 1838 | packets according to some rules. |
1839 | As opposed to queueing disciplines, traffic conditioners handle incoming | | 1839 | As opposed to queueing disciplines, traffic conditioners handle incoming |
1840 | packets at an input interface. | | 1840 | packets at an input interface. |
1841 | This option assumes | | 1841 | This option assumes |
1842 | .Em ALTQ . | | 1842 | .Em ALTQ . |
1843 | .It Cd options ALTQ_NOPCC | | 1843 | .It Cd options ALTQ_NOPCC |
1844 | Disables use of processor cycle counter to measure time in ALTQ. | | 1844 | Disables use of processor cycle counter to measure time in ALTQ. |
1845 | This option should be defined for a non-Pentium i386 CPU which does not | | 1845 | This option should be defined for a non-Pentium i386 CPU which does not |
1846 | have TSC, SMP (per-CPU counters are not in sync), or power management | | 1846 | have TSC, SMP (per-CPU counters are not in sync), or power management |
1847 | which affects processor cycle counter. | | 1847 | which affects processor cycle counter. |
1848 | This option assumes | | 1848 | This option assumes |
1849 | .Em ALTQ . | | 1849 | .Em ALTQ . |
1850 | .It Cd options ALTQ_IPSEC | | 1850 | .It Cd options ALTQ_IPSEC |
1851 | Include support for IPsec in IPv4 ALTQ. | | 1851 | Include support for IPsec in IPv4 ALTQ. |
1852 | This option assumes | | 1852 | This option assumes |
1853 | .Em ALTQ . | | 1853 | .Em ALTQ . |
1854 | .It Cd options ALTQ_JOBS | | 1854 | .It Cd options ALTQ_JOBS |
1855 | Include support for ALTQ-implemented JoBS (Joint Buffer Management | | 1855 | Include support for ALTQ-implemented JoBS (Joint Buffer Management |
1856 | and Scheduling). | | 1856 | and Scheduling). |
1857 | This option assumes | | 1857 | This option assumes |
1858 | .Em ALTQ . | | 1858 | .Em ALTQ . |
1859 | .It Cd options ALTQ_AFMAP | | 1859 | .It Cd options ALTQ_AFMAP |
1860 | Include support for an undocumented ALTQ feature that is used to map an IP | | 1860 | Include support for an undocumented ALTQ feature that is used to map an IP |
1861 | flow to an ATM VC (Virtual Circuit). | | 1861 | flow to an ATM VC (Virtual Circuit). |
1862 | This option assumes | | 1862 | This option assumes |
1863 | .Em ALTQ . | | 1863 | .Em ALTQ . |
1864 | .It Cd options ALTQ_LOCALQ | | 1864 | .It Cd options ALTQ_LOCALQ |
1865 | Include support for ALTQ-implemented local queues. | | 1865 | Include support for ALTQ-implemented local queues. |
1866 | Its practical use is undefined. | | 1866 | Its practical use is undefined. |
1867 | Assumes | | 1867 | Assumes |
1868 | .Em ALTQ . | | 1868 | .Em ALTQ . |
1869 | .It Cd options SUBNETSARELOCAL | | 1869 | .It Cd options SUBNETSARELOCAL |
1870 | Sets default value for net.inet.ip.subnetsarelocal variable, which | | 1870 | Sets default value for net.inet.ip.subnetsarelocal variable, which |
1871 | controls whether non-directly-connected subnets of connected networks | | 1871 | controls whether non-directly-connected subnets of connected networks |
1872 | are considered "local" for purposes of choosing the MSS for a TCP | | 1872 | are considered "local" for purposes of choosing the MSS for a TCP |
1873 | connection. | | 1873 | connection. |
1874 | This is mostly present for historic reasons and completely irrelevant if | | 1874 | This is mostly present for historic reasons and completely irrelevant if |
1875 | you enable Path MTU discovery. | | 1875 | you enable Path MTU discovery. |
1876 | .It Cd options HOSTZEROBROADCAST | | 1876 | .It Cd options HOSTZEROBROADCAST |
1877 | Sets default value for net.inet.ip.hostzerobroadcast variable, which | | 1877 | Sets default value for net.inet.ip.hostzerobroadcast variable, which |
1878 | controls whether the zeroth host address of each connected subnet is | | 1878 | controls whether the zeroth host address of each connected subnet is |
1879 | also considered a broadcast address. | | 1879 | also considered a broadcast address. |
1880 | Default value is "1", for compatibility with old systems; if this is | | 1880 | Default value is "1", for compatibility with old systems; if this is |
1881 | set to zero on all hosts on a subnet, you should be able to fit an extra | | 1881 | set to zero on all hosts on a subnet, you should be able to fit an extra |
1882 | host per subnet on the | | 1882 | host per subnet on the |
1883 | ".0" address. | | 1883 | ".0" address. |
1884 | .It Cd options MCLSHIFT=value | | 1884 | .It Cd options MCLSHIFT=value |
1885 | This option is the base-2 logarithm of the size of mbuf clusters. | | 1885 | This option is the base-2 logarithm of the size of mbuf clusters. |
1886 | The | | 1886 | The |
1887 | .Bx | | 1887 | .Bx |
1888 | networking stack keeps network packets in a linked | | 1888 | networking stack keeps network packets in a linked |
1889 | list, or chain, of kernel buffer objects called mbufs. | | 1889 | list, or chain, of kernel buffer objects called mbufs. |
1890 | The system provides larger mbuf clusters as an optimization for | | 1890 | The system provides larger mbuf clusters as an optimization for |
1891 | large packets, instead of using long chains for large packets. | | 1891 | large packets, instead of using long chains for large packets. |
1892 | The mbuf cluster size, | | 1892 | The mbuf cluster size, |
1893 | or | | 1893 | or |
1894 | .Em MCLBYTES , | | 1894 | .Em MCLBYTES , |
1895 | must be a power of two, and is computed as two raised to the power | | 1895 | must be a power of two, and is computed as two raised to the power |
1896 | .Em MCLSHIFT . | | 1896 | .Em MCLSHIFT . |
1897 | On systems with Ethernet network adapters, | | 1897 | On systems with Ethernet network adapters, |
1898 | .Em MCLSHIFT | | 1898 | .Em MCLSHIFT |
1899 | is often set to 11, giving 2048-byte mbuf clusters, large enough to | | 1899 | is often set to 11, giving 2048-byte mbuf clusters, large enough to |
1900 | hold a 1500-byte Ethernet frame in a single cluster. | | 1900 | hold a 1500-byte Ethernet frame in a single cluster. |
1901 | Systems with network interfaces supporting larger frame sizes like | | 1901 | Systems with network interfaces supporting larger frame sizes like |
1902 | ATM, FDDI, or HIPPI may perform better with | | 1902 | ATM, FDDI, or HIPPI may perform better with |
1903 | .Em MCLSHIFT | | 1903 | .Em MCLSHIFT |
1904 | set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes, | | 1904 | set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes, |
1905 | respectively. | | 1905 | respectively. |
1906 | .It Cd options NETATALK | | 1906 | .It Cd options NETATALK |
1907 | Include support for the AppleTalk protocol stack. | | 1907 | Include support for the AppleTalk protocol stack. |
1908 | The kernel provides provision for the | | 1908 | The kernel provides provision for the |
1909 | .Em Datagram Delivery Protocol | | 1909 | .Em Datagram Delivery Protocol |
1910 | (DDP), providing SOCK_DGRAM support and AppleTalk routing. | | 1910 | (DDP), providing SOCK_DGRAM support and AppleTalk routing. |
1911 | This stack is used by the | | 1911 | This stack is used by the |
1912 | .Em NETATALK | | 1912 | .Em NETATALK |
1913 | package, which adds support for AppleTalk server services via user | | 1913 | package, which adds support for AppleTalk server services via user |
1914 | libraries and applications. | | 1914 | libraries and applications. |
1915 | .It Cd options BLUETOOTH | | 1915 | .It Cd options BLUETOOTH |
1916 | Include support for the Bluetooth protocol stack. | | 1916 | Include support for the Bluetooth protocol stack. |
1917 | See | | 1917 | See |
1918 | .Xr bluetooth 4 | | 1918 | .Xr bluetooth 4 |
1919 | for details. | | 1919 | for details. |
1920 | .It Cd options IPNOPRIVPORTS | | 1920 | .It Cd options IPNOPRIVPORTS |
1921 | Normally, only root can bind a socket descriptor to a so-called | | 1921 | Normally, only root can bind a socket descriptor to a so-called |
1922 | .Dq privileged | | 1922 | .Dq privileged |
1923 | TCP port, that is, a port number in the range 0-1023. | | 1923 | TCP port, that is, a port number in the range 0-1023. |
1924 | This option eliminates those checks from the kernel. | | 1924 | This option eliminates those checks from the kernel. |
1925 | This can be useful if there is a desire to allow daemons without | | 1925 | This can be useful if there is a desire to allow daemons without |
1926 | privileges to bind those ports, e.g., on firewalls. | | 1926 | privileges to bind those ports, e.g., on firewalls. |
1927 | The security tradeoffs in doing this are subtle. | | 1927 | The security tradeoffs in doing this are subtle. |
1928 | This option should only be used by experts. | | 1928 | This option should only be used by experts. |
1929 | .It Cd options TCP_DEBUG | | 1929 | .It Cd options TCP_DEBUG |
1930 | Record the last | | 1930 | Record the last |
1931 | .Em TCP_NDEBUG | | 1931 | .Em TCP_NDEBUG |
1932 | TCP packets with SO_DEBUG set, and decode to the console if | | 1932 | TCP packets with SO_DEBUG set, and decode to the console if |
1933 | .Em tcpconsdebug | | 1933 | .Em tcpconsdebug |
1934 | is set. | | 1934 | is set. |
1935 | .It Cd options TCP_NDEBUG | | 1935 | .It Cd options TCP_NDEBUG |
1936 | Number of packets to record for | | 1936 | Number of packets to record for |
1937 | .Em TCP_DEBUG . | | 1937 | .Em TCP_DEBUG . |
1938 | Defaults to 100. | | 1938 | Defaults to 100. |
1939 | .It Cd options TCP_SENDSPACE=value | | 1939 | .It Cd options TCP_SENDSPACE=value |
1940 | .It Cd options TCP_RECVSPACE=value | | 1940 | .It Cd options TCP_RECVSPACE=value |
1941 | These options set the max TCP window size to other sizes than the default. | | 1941 | These options set the max TCP window size to other sizes than the default. |
1942 | The TCP window sizes can be altered via | | 1942 | The TCP window sizes can be altered via |
1943 | .Xr sysctl 8 | | 1943 | .Xr sysctl 8 |
1944 | as well. | | 1944 | as well. |
1945 | .It Cd options TCP_INIT_WIN=value | | 1945 | .It Cd options TCP_INIT_WIN=value |
1946 | This option sets the initial TCP window size for non-local connections, | | 1946 | This option sets the initial TCP window size for non-local connections, |
1947 | which is used when the transmission starts. | | 1947 | which is used when the transmission starts. |
1948 | The default size is 1, but if the machine should act more aggressively, | | 1948 | The default size is 1, but if the machine should act more aggressively, |
1949 | the initial size can be set to some other value. | | 1949 | the initial size can be set to some other value. |
1950 | The initial TCP window size can be set via | | 1950 | The initial TCP window size can be set via |
1951 | .Xr sysctl 8 | | 1951 | .Xr sysctl 8 |
1952 | as well. | | 1952 | as well. |
1953 | .It Cd options TCP_SIGNATURE | | 1953 | .It Cd options TCP_SIGNATURE |
1954 | Enable MD5 TCP signatures (RFC 2385) to protect BGP sessions. | | 1954 | Enable MD5 TCP signatures (RFC 2385) to protect BGP sessions. |
1955 | .It Cd options IPFILTER_LOG | | 1955 | .It Cd options IPFILTER_LOG |
1956 | This option, in conjunction with | | 1956 | This option, in conjunction with |
1957 | .Em pseudo-device ipfilter , | | 1957 | .Em pseudo-device ipfilter , |
1958 | enables logging of IP packets using IP-Filter. | | 1958 | enables logging of IP packets using IP-Filter. |
1959 | .It Cd options IPFILTER_LOOKUP | | 1959 | .It Cd options IPFILTER_LOOKUP |
1960 | This option enables the | | 1960 | This option enables the |
1961 | IP-Filter | | 1961 | IP-Filter |
1962 | .Xr ippool 8 | | 1962 | .Xr ippool 8 |
1963 | functionality to be enabled. | | 1963 | functionality to be enabled. |
1964 | .It Cd options IPFILTER_COMPAT | | 1964 | .It Cd options IPFILTER_COMPAT |
1965 | This option enables older IP-Filter binaries to work. | | 1965 | This option enables older IP-Filter binaries to work. |
1966 | .It Cd options IPFILTER_DEFAULT_BLOCK | | 1966 | .It Cd options IPFILTER_DEFAULT_BLOCK |
1967 | This option sets the default policy of IP-Filter. | | 1967 | This option sets the default policy of IP-Filter. |
1968 | If it is set, IP-Filter will block packets by default. | | 1968 | If it is set, IP-Filter will block packets by default. |
1969 | .It Cd options MBUFTRACE | | 1969 | .It Cd options MBUFTRACE |
1970 | This option can help track down mbuf leaks. | | 1970 | This option can help track down mbuf leaks. |
1971 | When enabled, mbufs are tagged with the devices and protocols using them. | | 1971 | When enabled, mbufs are tagged with the devices and protocols using them. |
1972 | This can significantly decrease network performance, particularly | | 1972 | This can significantly decrease network performance, particularly |
1973 | on MP systems. | | 1973 | on MP systems. |
1974 | This additional information can be viewed with | | 1974 | This additional information can be viewed with |
1975 | .Xr netstat 1 : | | 1975 | .Xr netstat 1 : |
1976 | .Dl Ic netstat Fl mssv | | 1976 | .Dl Ic netstat Fl mssv |
1977 | Not all devices or protocols support this option. | | 1977 | Not all devices or protocols support this option. |
1978 | .El | | 1978 | .El |
1979 | .Ss Sysctl Related Options | | 1979 | .Ss Sysctl Related Options |
1980 | .Bl -ohang | | 1980 | .Bl -ohang |
1981 | .It Cd options SYSCTL_DISALLOW_CREATE | | 1981 | .It Cd options SYSCTL_DISALLOW_CREATE |
1982 | Disallows the creation or deletion of nodes from the sysctl tree, as | | 1982 | Disallows the creation or deletion of nodes from the sysctl tree, as |
1983 | well as the assigning of descriptions to nodes that lack them, by any | | 1983 | well as the assigning of descriptions to nodes that lack them, by any |
1984 | process. | | 1984 | process. |
1985 | These operations are still available to kernel sub-systems, including | | 1985 | These operations are still available to kernel sub-systems, including |
1986 | loadable kernel modules. | | 1986 | loadable kernel modules. |
1987 | .It Cd options SYSCTL_DISALLOW_KWRITE | | 1987 | .It Cd options SYSCTL_DISALLOW_KWRITE |
1988 | Prevents processes from adding nodes to the sysctl tree that make | | 1988 | Prevents processes from adding nodes to the sysctl tree that make |
1989 | existing kernel memory areas writable. | | 1989 | existing kernel memory areas writable. |
1990 | Sections of kernel memory can still be read and new nodes that own | | 1990 | Sections of kernel memory can still be read and new nodes that own |
1991 | their own data may still be writable. | | 1991 | their own data may still be writable. |
1992 | .It Cd options SYSCTL_DEBUG_SETUP | | 1992 | .It Cd options SYSCTL_DEBUG_SETUP |
1993 | Causes the SYSCTL_SETUP routines to print a brief message when they | | 1993 | Causes the SYSCTL_SETUP routines to print a brief message when they |
1994 | are invoked. | | 1994 | are invoked. |
1995 | This is merely meant as an aid in determining the order in which | | 1995 | This is merely meant as an aid in determining the order in which |
1996 | sections of the tree are created. | | 1996 | sections of the tree are created. |
1997 | .It Cd options SYSCTL_DEBUG_CREATE | | 1997 | .It Cd options SYSCTL_DEBUG_CREATE |
1998 | Prints a message each time | | 1998 | Prints a message each time |
1999 | .Fn sysctl_create , | | 1999 | .Fn sysctl_create , |
2000 | the function that adds nodes to the tree, is called. | | 2000 | the function that adds nodes to the tree, is called. |
2001 | .It Cd options SYSCTL_INCLUDE_DESCR | | 2001 | .It Cd options SYSCTL_INCLUDE_DESCR |
2002 | Causes the kernel to include short, human readable descriptions for | | 2002 | Causes the kernel to include short, human readable descriptions for |
2003 | nodes in the sysctl tree. | | 2003 | nodes in the sysctl tree. |
2004 | The descriptions can be retrieved programmatically (see | | 2004 | The descriptions can be retrieved programmatically (see |
2005 | .Xr sysctl 3 ) , | | 2005 | .Xr sysctl 3 ) , |
2006 | or by the sysctl binary itself (see | | 2006 | or by the sysctl binary itself (see |
2007 | .Xr sysctl 8 ) . | | 2007 | .Xr sysctl 8 ) . |
2008 | The descriptions are meant to give an indication of the purpose and/or | | 2008 | The descriptions are meant to give an indication of the purpose and/or |
2009 | effects of a given node's value, not replace the documentation for the | | 2009 | effects of a given node's value, not replace the documentation for the |
2010 | given subsystem as a whole. | | 2010 | given subsystem as a whole. |
2011 | .El | | 2011 | .El |
2012 | .Ss System V IPC Options | | 2012 | .Ss System V IPC Options |
2013 | .Bl -ohang | | 2013 | .Bl -ohang |
2014 | .It Cd options SYSVMSG | | 2014 | .It Cd options SYSVMSG |
2015 | Includes support for | | 2015 | Includes support for |
2016 | .At V | | 2016 | .At V |
2017 | style message queues. | | 2017 | style message queues. |
2018 | See | | 2018 | See |
2019 | .Xr msgctl 2 , | | 2019 | .Xr msgctl 2 , |
2020 | .Xr msgget 2 , | | 2020 | .Xr msgget 2 , |
2021 | .Xr msgrcv 2 , | | 2021 | .Xr msgrcv 2 , |
2022 | .Xr msgsnd 2 . | | 2022 | .Xr msgsnd 2 . |
2023 | .It Cd options SYSVSEM | | 2023 | .It Cd options SYSVSEM |
2024 | Includes support for | | 2024 | Includes support for |
2025 | .At V | | 2025 | .At V |
2026 | style semaphores. | | 2026 | style semaphores. |
2027 | See | | 2027 | See |
2028 | .Xr semctl 2 , | | 2028 | .Xr semctl 2 , |
2029 | .Xr semget 2 , | | 2029 | .Xr semget 2 , |
2030 | .Xr semop 2 . | | 2030 | .Xr semop 2 . |
2031 | .It Cd options SEMMNI=value | | 2031 | .It Cd options SEMMNI=value |
2032 | Sets the number of | | 2032 | Sets the number of |
2033 | .At V | | 2033 | .At V |
2034 | style semaphore identifiers. | | 2034 | style semaphore identifiers. |
2035 | The GENERIC config file for your port will have the default. | | 2035 | The GENERIC config file for your port will have the default. |
2036 | .It Cd options SEMMNS=value | | 2036 | .It Cd options SEMMNS=value |
2037 | Sets the number of | | 2037 | Sets the number of |
2038 | .At V | | 2038 | .At V |
2039 | style semaphores in the system. | | 2039 | style semaphores in the system. |
2040 | The GENERIC config file for your port will have the default. | | 2040 | The GENERIC config file for your port will have the default. |
2041 | .It Cd options SEMUME=value | | 2041 | .It Cd options SEMUME=value |
2042 | Sets the maximum number of undo entries per process for | | 2042 | Sets the maximum number of undo entries per process for |
2043 | .At V | | 2043 | .At V |
2044 | style semaphores. | | 2044 | style semaphores. |
2045 | The GENERIC config file for your port will have the default. | | 2045 | The GENERIC config file for your port will have the default. |
2046 | .It Cd options SEMMNU=value | | 2046 | .It Cd options SEMMNU=value |
2047 | Sets the number of undo structures in the system for | | 2047 | Sets the number of undo structures in the system for |
2048 | .At V | | 2048 | .At V |
2049 | style semaphores. | | 2049 | style semaphores. |
2050 | The GENERIC config file for your port will have the default. | | 2050 | The GENERIC config file for your port will have the default. |
2051 | .It Cd options SYSVSHM | | 2051 | .It Cd options SYSVSHM |
2052 | Includes support for | | 2052 | Includes support for |
2053 | .At V | | 2053 | .At V |
2054 | style shared memory. | | 2054 | style shared memory. |
2055 | See | | 2055 | See |
2056 | .Xr shmat 2 , | | 2056 | .Xr shmat 2 , |
2057 | .Xr shmctl 2 , | | 2057 | .Xr shmctl 2 , |
2058 | .Xr shmdt 2 , | | 2058 | .Xr shmdt 2 , |
2059 | .Xr shmget 2 . | | 2059 | .Xr shmget 2 . |
2060 | .It Cd options SHMMAXPGS=value | | 2060 | .It Cd options SHMMAXPGS=value |
2061 | Sets the maximum number of | | 2061 | Sets the maximum number of |
2062 | .At V | | 2062 | .At V |
2063 | style shared memory pages that are available through the | | 2063 | style shared memory pages that are available through the |
2064 | .Xr shmget 2 | | 2064 | .Xr shmget 2 |
2065 | system call. | | 2065 | system call. |
2066 | Default value is 1024 on most ports. | | 2066 | Default value is 1024 on most ports. |
2067 | See | | 2067 | See |
2068 | .Pa /usr/include/machine/vmparam.h | | 2068 | .Pa /usr/include/machine/vmparam.h |
2069 | for the default. | | 2069 | for the default. |
2070 | .El | | 2070 | .El |
2071 | .Ss VM Related Options | | 2071 | .Ss VM Related Options |
2072 | .Bl -ohang | | 2072 | .Bl -ohang |
2073 | .It Cd options NMBCLUSTERS=value | | 2073 | .It Cd options NMBCLUSTERS=value |
2074 | The number of mbuf clusters the kernel supports. | | 2074 | The number of mbuf clusters the kernel supports. |
2075 | Mbuf clusters are MCLBYTES in size (usually 2k). | | 2075 | Mbuf clusters are MCLBYTES in size (usually 2k). |
2076 | This is used to compute the size of the kernel VM map | | 2076 | This is used to compute the size of the kernel VM map |
2077 | .Em mb_map , | | 2077 | .Em mb_map , |
2078 | which maps mbuf clusters. | | 2078 | which maps mbuf clusters. |
2079 | Default on most ports is 1024 (2048 with | | 2079 | Default on most ports is 1024 (2048 with |
2080 | .Dq options GATEWAY | | 2080 | .Dq options GATEWAY |
2081 | ). | | 2081 | ). |
2082 | See | | 2082 | See |
2083 | .Pa /usr/include/machine/param.h | | 2083 | .Pa /usr/include/machine/param.h |
2084 | for exact default information. | | 2084 | for exact default information. |
2085 | Increase this value if you get | | 2085 | Increase this value if you get |
2086 | .Dq mclpool limit reached | | 2086 | .Dq mclpool limit reached |
2087 | messages. | | 2087 | messages. |
2088 | .It Cd options NKMEMPAGES=value | | 2088 | .It Cd options NKMEMPAGES=value |
2089 | .It Cd options NKMEMPAGES_MIN=value | | 2089 | .It Cd options NKMEMPAGES_MIN=value |
2090 | .It Cd options NKMEMPAGES_MAX=value | | 2090 | .It Cd options NKMEMPAGES_MAX=value |
2091 | Size of kernel VM map | | 2091 | Size of kernel VM map |
2092 | .Em kmem_map , | | 2092 | .Em kmem_map , |
2093 | in PAGE_SIZE-sized chunks (the VM page size; this value may be read | | 2093 | in PAGE_SIZE-sized chunks (the VM page size; this value may be read |
2094 | from the | | 2094 | from the |
2095 | .Xr sysctl 8 | | 2095 | .Xr sysctl 8 |
2096 | variable | | 2096 | variable |
2097 | .Em hw.pagesize | | 2097 | .Em hw.pagesize |
2098 | ). | | 2098 | ). |
2099 | This VM map is used to map the kernel malloc arena. | | 2099 | This VM map is used to map the kernel malloc arena. |
2100 | The kernel attempts to auto-size this map based on the amount of | | 2100 | The kernel attempts to auto-size this map based on the amount of |
2101 | physical memory in the system. | | 2101 | physical memory in the system. |
2102 | Platform-specific code may place bounds on this computed size, | | 2102 | Platform-specific code may place bounds on this computed size, |
2103 | which may be viewed with the | | 2103 | which may be viewed with the |
2104 | .Xr sysctl 8 | | 2104 | .Xr sysctl 8 |
2105 | variable | | 2105 | variable |
2106 | .Em vm.nkmempages . | | 2106 | .Em vm.nkmempages . |
2107 | See | | 2107 | See |
2108 | .Pa /usr/include/machine/param.h | | 2108 | .Pa /usr/include/machine/param.h |
2109 | for the default upper and lower bounds. | | 2109 | for the default upper and lower bounds. |
2110 | The related options | | 2110 | The related options |
2111 | .Sq NKMEMPAGES_MIN | | 2111 | .Sq NKMEMPAGES_MIN |
2112 | and | | 2112 | and |
2113 | .Sq NKMEMPAGES_MAX | | 2113 | .Sq NKMEMPAGES_MAX |
2114 | allow the bounds to be overridden in the kernel configuration file. | | 2114 | allow the bounds to be overridden in the kernel configuration file. |
2115 | These options are provided in the event the computed value is | | 2115 | These options are provided in the event the computed value is |
2116 | insufficient resulting in an | | 2116 | insufficient resulting in an |
2117 | .Dq out of space in kmem_map | | 2117 | .Dq out of space in kmem_map |
2118 | panic. | | 2118 | panic. |
2119 | .It Cd options SB_MAX=value | | 2119 | .It Cd options SB_MAX=value |
2120 | Sets the max size in bytes that a socket buffer is allowed to occupy. | | 2120 | Sets the max size in bytes that a socket buffer is allowed to occupy. |
2121 | The default is 256k, but sometimes it needs to be increased, for example | | 2121 | The default is 256k, but sometimes it needs to be increased, for example |
2122 | when using large TCP windows. | | 2122 | when using large TCP windows. |
2123 | This option can be changed via | | 2123 | This option can be changed via |
2124 | .Xr sysctl 8 | | 2124 | .Xr sysctl 8 |
2125 | as well. | | 2125 | as well. |
2126 | .It Cd options SOMAXKVA=value | | 2126 | .It Cd options SOMAXKVA=value |
2127 | Sets the maximum size of kernel virtual memory that the socket buffers | | 2127 | Sets the maximum size of kernel virtual memory that the socket buffers |
2128 | are allowed to use. | | 2128 | are allowed to use. |
2129 | The default is 16MB, but in situations where for example large TCP | | 2129 | The default is 16MB, but in situations where for example large TCP |
2130 | windows are used this value must also be increased. | | 2130 | windows are used this value must also be increased. |
2131 | This option can be changed via | | 2131 | This option can be changed via |
2132 | .Xr sysctl 8 | | 2132 | .Xr sysctl 8 |
2133 | as well. | | 2133 | as well. |
2134 | .It Cd options BUFCACHE=value | | 2134 | .It Cd options BUFCACHE=value |
2135 | Size of the buffer cache as a percentage of total available RAM. | | 2135 | Size of the buffer cache as a percentage of total available RAM. |
2136 | Ignored if BUFPAGES is also specified. | | 2136 | Ignored if BUFPAGES is also specified. |
2137 | .It Cd options NBUF=value | | 2137 | .It Cd options NBUF=value |
2138 | Sets the number of buffer headers available, i.e., the number of | | 2138 | Sets the number of buffer headers available, i.e., the number of |
2139 | open files that may have a buffer cache entry. | | 2139 | open files that may have a buffer cache entry. |
2140 | Each buffer header | | 2140 | Each buffer header |
2141 | requires MAXBSIZE (machine dependent, but usually 65536) bytes. | | 2141 | requires MAXBSIZE (machine dependent, but usually 65536) bytes. |
2142 | The default value is machine dependent, but is usually equal to the | | 2142 | The default value is machine dependent, but is usually equal to the |
2143 | value of BUFPAGES. | | 2143 | value of BUFPAGES. |
2144 | .It Cd options BUFPAGES=value | | 2144 | .It Cd options BUFPAGES=value |
2145 | These options set the number of pages available for the buffer cache. | | 2145 | These options set the number of pages available for the buffer cache. |
2146 | Their default value is a machine dependent value, often calculated as | | 2146 | Their default value is a machine dependent value, often calculated as |
2147 | between 5% and 10% of total available RAM. | | 2147 | between 5% and 10% of total available RAM. |
2148 | .It Cd options MAXTSIZ=bytes | | 2148 | .It Cd options MAXTSIZ=bytes |
2149 | Sets the maximum size limit of a process' text segment. | | 2149 | Sets the maximum size limit of a process' text segment. |
2150 | See | | 2150 | See |
2151 | .Pa /usr/include/machine/vmparam.h | | 2151 | .Pa /usr/include/machine/vmparam.h |
2152 | for the port-specific default. | | 2152 | for the port-specific default. |
2153 | .It Cd options DFLDSIZ=bytes | | 2153 | .It Cd options DFLDSIZ=bytes |
2154 | Sets the default size limit of a process' data segment, the value that | | 2154 | Sets the default size limit of a process' data segment, the value that |
2155 | will be returned as the soft limit for | | 2155 | will be returned as the soft limit for |
2156 | .Dv RLIMIT_DATA | | 2156 | .Dv RLIMIT_DATA |
2157 | (as returned by | | 2157 | (as returned by |
2158 | .Xr getrlimit 2 ) . | | 2158 | .Xr getrlimit 2 ) . |
2159 | See | | 2159 | See |
2160 | .Pa /usr/include/machine/vmparam.h | | 2160 | .Pa /usr/include/machine/vmparam.h |
2161 | for the port-specific default. | | 2161 | for the port-specific default. |
2162 | .It Cd options MAXDSIZ=bytes | | 2162 | .It Cd options MAXDSIZ=bytes |
2163 | Sets the maximum size limit of a process' data segment, the value that | | 2163 | Sets the maximum size limit of a process' data segment, the value that |
2164 | will be returned as the hard limit for | | 2164 | will be returned as the hard limit for |
2165 | .Dv RLIMIT_DATA | | 2165 | .Dv RLIMIT_DATA |
2166 | (as returned by | | 2166 | (as returned by |
2167 | .Xr getrlimit 2 ) . | | 2167 | .Xr getrlimit 2 ) . |
2168 | See | | 2168 | See |
2169 | .Pa /usr/include/machine/vmparam.h | | 2169 | .Pa /usr/include/machine/vmparam.h |
2170 | for the port-specific default. | | 2170 | for the port-specific default. |
2171 | .It Cd options DFLSSIZ=bytes | | 2171 | .It Cd options DFLSSIZ=bytes |
2172 | Sets the default size limit of a process' stack segment, the value that | | 2172 | Sets the default size limit of a process' stack segment, the value that |
2173 | will be returned as the soft limit for | | 2173 | will be returned as the soft limit for |
2174 | .Dv RLIMIT_STACK | | 2174 | .Dv RLIMIT_STACK |
2175 | (as returned by | | 2175 | (as returned by |
2176 | .Xr getrlimit 2 ) . | | 2176 | .Xr getrlimit 2 ) . |
2177 | See | | 2177 | See |
2178 | .Pa /usr/include/machine/vmparam.h | | 2178 | .Pa /usr/include/machine/vmparam.h |
2179 | for the port-specific default. | | 2179 | for the port-specific default. |
2180 | .It Cd options MAXSSIZ=bytes | | 2180 | .It Cd options MAXSSIZ=bytes |
2181 | Sets the maximum size limit of a process' stack segment, the value that | | 2181 | Sets the maximum size limit of a process' stack segment, the value that |
2182 | will be returned as the hard limit for | | 2182 | will be returned as the hard limit for |
2183 | .Dv RLIMIT_STACK | | 2183 | .Dv RLIMIT_STACK |
2184 | (as returned by | | 2184 | (as returned by |
2185 | .Xr getrlimit 2 ) . | | 2185 | .Xr getrlimit 2 ) . |
2186 | See | | 2186 | See |
2187 | .Pa /usr/include/machine/vmparam.h | | 2187 | .Pa /usr/include/machine/vmparam.h |
2188 | for the port-specific default. | | 2188 | for the port-specific default. |
2189 | .It Cd options DUMP_ON_PANIC=integer | | 2189 | .It Cd options DUMP_ON_PANIC=integer |
2190 | Defaults to one. | | 2190 | Defaults to one. |
2191 | If set to zero, the kernel will not dump to the dump device when | | 2191 | If set to zero, the kernel will not dump to the dump device when |
2192 | it panics, though dumps can still be forced via | | 2192 | it panics, though dumps can still be forced via |
2193 | .Xr ddb 4 | | 2193 | .Xr ddb 4 |
2194 | with the | | 2194 | with the |
2195 | .Dq sync | | 2195 | .Dq sync |
2196 | command. | | 2196 | command. |
2197 | Note that this sets the value of the | | 2197 | Note that this sets the value of the |