2334 lines
66 KiB
Groff
2334 lines
66 KiB
Groff
.\" $NetBSD: options.4,v 1.224 2003/09/22 21:08:49 wiz Exp $
|
|
.\"
|
|
.\" Copyright (c) 1996
|
|
.\" Perry E. Metzger. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgment:
|
|
.\" This product includes software developed for the NetBSD Project
|
|
.\" by Perry E. Metzger.
|
|
.\" 4. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\"
|
|
.Dd September 22, 2003
|
|
.Os
|
|
.Dt OPTIONS 4
|
|
.Sh NAME
|
|
.Nm options
|
|
.Nd Miscellaneous kernel configuration options
|
|
.Sh SYNOPSIS
|
|
.Cd cinclude ...
|
|
.Cd config ...
|
|
.Cd [no] file-system ...
|
|
.Cd ident ...
|
|
.Cd include ...
|
|
.Cd [no] makeoptions ...
|
|
.Cd maxusers ...
|
|
.Cd [no] options ...
|
|
.Cd [no] pseudo-device ...
|
|
.Sh DESCRIPTION
|
|
This manual page describes a number of miscellaneous kernel
|
|
configuration options that may be specified in a kernel config
|
|
file.
|
|
See
|
|
.Xr config 8
|
|
for information on how to configure and build kernels.
|
|
.Pp
|
|
The
|
|
.Ar no
|
|
form removes a previously specified option.
|
|
.Ss Keywords
|
|
The following keywords are recognized in a kernel configuration file:
|
|
.Bl -ohang
|
|
.It Sy cinclude Xo
|
|
.Qq Ar filename
|
|
.Xc
|
|
Conditionally includes another kernel configuration file whose name is
|
|
.Ar filename ,
|
|
which may be double-quoted and may be an explicit path or relative to
|
|
the kernel source directory.
|
|
Failure to open the named file is ignored.
|
|
.It Sy config Xo
|
|
.Ar exec_name
|
|
.No root on
|
|
.Ar rootdev
|
|
.Op type Ar fstype
|
|
.Op dumps on Ar dumpdev
|
|
.Xc
|
|
Defines a configuration whose kernel executable is named
|
|
.Ar exec_name ,
|
|
normally
|
|
.Dq netbsd ,
|
|
with its root file system of type
|
|
.Ar fstype
|
|
on the device
|
|
.Ar rootdev ,
|
|
and optionally specifying the location of kernel core dumps on the device
|
|
.Ar dumpdev .
|
|
.Ar dev
|
|
or
|
|
.Ar dumpdev
|
|
and
|
|
.Ar fstype
|
|
may be specified as
|
|
.Dq \&? ,
|
|
which is a wild card.
|
|
The root
|
|
.Ar fstype
|
|
and
|
|
.Ar dumpdev
|
|
are optional and assumed to be wild carded if they are not specified.
|
|
.It Ar device_instance Xo
|
|
at
|
|
.Ar attachment
|
|
.Op Ar locators value Op ...
|
|
.Op flags Ar value
|
|
.Xc
|
|
Define an instance of the device driver
|
|
.Ar device_instance
|
|
that attaches to the bus or device named
|
|
.Ar attachment .
|
|
An
|
|
.Ar attachment
|
|
may require additional information on where the device can be found, such
|
|
as an address, channel, function, offset, and/or slot, referred to as
|
|
.Ar locators ,
|
|
whose
|
|
.Ar value
|
|
often may be a wild card,
|
|
.Dq \&? .
|
|
Some device drivers have one or more
|
|
.Ar flags
|
|
that can be adjusted to affect the way they operate.
|
|
.It Sy file-system Xo
|
|
.Ar fs_name Op , Ar fs_name Op ...
|
|
.Xc
|
|
Include support for the file-system
|
|
.Ar fs_name .
|
|
.It Sy ident Xo
|
|
.Qq Ar string
|
|
.Xc
|
|
Sets the kernel identification string to
|
|
.Ar string .
|
|
.It Sy include Xo
|
|
.Qq Ar filename
|
|
.Xc
|
|
Functions the same as
|
|
.Ar cinclude ,
|
|
except failure to open
|
|
.Ar filename
|
|
produces a fatal error.
|
|
.It Sy options Xo
|
|
.Ar option_name Op , Ar option_name=value Op ...
|
|
.Xc
|
|
Specifies (or sets) the option, or comma-separated list of options,
|
|
.Ar option_name .
|
|
Some options expect to be assigned a value, which may be an integer,
|
|
a double-quoted word, a bare word, or an empty string
|
|
.Pq Qq .
|
|
.Pp
|
|
.Em Note :
|
|
Options that are not defined by device definition files are passed to
|
|
the compile process as
|
|
.Fl D
|
|
flags to the C compiler.
|
|
.It Sy makeoptions Xo
|
|
.Ar name=value
|
|
.Xc
|
|
Defines a
|
|
.Xr make 1
|
|
macro
|
|
.Ar name
|
|
with the value
|
|
.Ar value
|
|
in the kernel Makefile.
|
|
.It Sy maxusers Xo
|
|
.Ar integer
|
|
.Xc
|
|
Set the maxusers variable in the kernel.
|
|
.It Sy no Xo
|
|
.Ar keyword Ar name Op Ar arguments Op ...
|
|
.Xc
|
|
For the
|
|
.Xr config 8
|
|
.Ar keywords
|
|
file-system, makeoptions, options, and pseudo-device,
|
|
.Ar no
|
|
removes the file-system, makeoption, options, or pseudo-device,
|
|
.Ar name .
|
|
This is useful when a kernel configuration file includes another which
|
|
has undesired options.
|
|
.Pp
|
|
For example, a local configuration file that wanted the kitchen sink, but
|
|
not COMPAT_09 or bridging, might be:
|
|
.Bd -literal -offset indent
|
|
include "arch/i386/conf/GENERIC"
|
|
no options COMPAT_09
|
|
no pseudo-device bridge
|
|
.Ed
|
|
.It Sy pseudo-device Xo
|
|
.Ar name
|
|
.Op Ar N
|
|
.Xc
|
|
Includes support for the pseudo-device
|
|
.Ar name .
|
|
Some pseudo-devices can have multiple or
|
|
.Ar N
|
|
instances.
|
|
.El
|
|
.Ss Compatibility Options
|
|
.Bl -ohang
|
|
.It Cd options COMPAT_09
|
|
Enable binary compatibility with
|
|
.Nx 0.9 .
|
|
This enables support for
|
|
16-bit user, group, and process IDs (following revisions support
|
|
32-bit identifiers),
|
|
It also allows the use of the deprecated
|
|
.Xr getdomainname 3 ,
|
|
.Xr setdomainname 3 ,
|
|
and
|
|
.Xr uname 3
|
|
syscalls.
|
|
This option also allows using numeric file system identifiers rather
|
|
than strings.
|
|
Post
|
|
.Nx 0.9
|
|
versions use string identifiers.
|
|
.It Cd options COMPAT_10
|
|
Enable binary compatibility with
|
|
.Nx 1.0 .
|
|
This option allows the use of the file system name of
|
|
.Dq ufs
|
|
as an alias for
|
|
.Dq ffs .
|
|
The name
|
|
.Dq ffs
|
|
should be used post 1.0 in
|
|
.Pa /etc/fstab
|
|
and other files.
|
|
It also adds old syscalls for the
|
|
.At V
|
|
shared memory interface.
|
|
This was changed post 1.0 to work on 64-bit architectures.
|
|
This option also enables
|
|
.Dq sgtty
|
|
compatibility, without which programs using the old interface produce
|
|
an
|
|
.Dq inappropriate ioctl
|
|
error, and
|
|
.Pa /dev/io
|
|
only works when this option is set in the kernel,
|
|
see
|
|
.Xr io 4
|
|
on ports that support it.
|
|
.It Cd options COMPAT_11
|
|
Enable binary compatibility with
|
|
.Nx 1.1 .
|
|
This allows binaries running on the i386 port to gain direct access to
|
|
the io ports by opening
|
|
.Pa /dev/io
|
|
read/write.
|
|
This functionality was replaced by
|
|
.Xr i386_iopl 2
|
|
post 1.1.
|
|
On the
|
|
.Tn Atari
|
|
port, the location of the disk label was moved after 1.1.
|
|
When the
|
|
.Em COMPAT_11
|
|
option is set, the kernel will read (pre) 1.1 style disk labels as a
|
|
last resort.
|
|
When a disklabel is re-written, the old style label will be replaced
|
|
with a post 1.1 style label.
|
|
This also enables the
|
|
.Em EXEC_ELF_NOTELESS
|
|
option.
|
|
.It Cd options COMPAT_12
|
|
Enable binary compatibility with
|
|
.Nx 1.2 .
|
|
This allows the use of old syscalls for
|
|
.Fn reboot
|
|
and
|
|
.Fn swapon .
|
|
The syscall numbers were changed post 1.2 to add functionality to the
|
|
.Xr reboot 2
|
|
syscall, and the new
|
|
.Xr swapctl 2
|
|
interface was introduced.
|
|
This also enables the
|
|
.Em EXEC_ELF_NOTELESS
|
|
option.
|
|
.It Cd options COMPAT_13
|
|
Enable binary compatibility with
|
|
.Nx 1.3 .
|
|
This allows the use of old syscalls for
|
|
.Fn sigaltstack ,
|
|
and also enables the old
|
|
.Xr swapctl 2
|
|
command
|
|
.Dv SWAP_STATS
|
|
(now called
|
|
.Dv SWAP_OSTATS ) ,
|
|
which does not include the
|
|
.Fa se_path
|
|
member of
|
|
.Va struct swapent .
|
|
.It Cd options COMPAT_14
|
|
Enable binary compatibility with
|
|
.Nx 1.4 .
|
|
This allows some old
|
|
.Xr ioctl 2
|
|
on
|
|
.Xr wscons 4
|
|
to be performed, and allows the
|
|
.Dv NFSSVC_BIOD
|
|
mode of the
|
|
.Xr nfssvc 2
|
|
system call to be used for compatibility with the deprecated nfsiod program.
|
|
.It Cd options COMPAT_16
|
|
Enable binary compatibility with
|
|
.Nx 1.6 .
|
|
This allows the use of old signal trampoline code which has been deprecated
|
|
with the addition of
|
|
.Xr siginfo 5 .
|
|
.It Cd options COMPAT_43
|
|
Enables compatibility with
|
|
.Bx 4.3 .
|
|
This adds an old syscall for
|
|
.Xr lseek 2 .
|
|
It also adds the ioctls for
|
|
.Dv TIOCGETP
|
|
and
|
|
.Dv TIOCSETP .
|
|
The return values for
|
|
.Xr getpid 2 ,
|
|
.Xr getgid 2 ,
|
|
and
|
|
.Xr getuid 2
|
|
syscalls are modified as well, to return the parent's PID and
|
|
UID as well as the current process's.
|
|
It also enables the deprecated
|
|
.Dv NTTYDISC
|
|
terminal line discipline.
|
|
It also provides backwards compatibility with
|
|
.Dq old
|
|
SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
|
|
binary compatibility with code written before the introduction of the
|
|
sa_len field in sockaddrs.
|
|
It also enables
|
|
support for some older pre
|
|
.Bx 4.4
|
|
socket calls.
|
|
.It Cd options COMPAT_SVR4
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.At V.4
|
|
applications built for the same architecture.
|
|
This currently includes the i386, m68k, and sparc ports.
|
|
.It Cd options COMPAT_LINUX
|
|
On those architectures that support it, this enables binary
|
|
compatibility with Linux ELF and
|
|
.Xr a.out 5
|
|
applications built for the same architecture.
|
|
This currently includes the alpha, arm, i386, m68k, mips, and powerpc
|
|
ports.
|
|
.It Cd options COMPAT_SUNOS
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.Tn SunOS 4.1
|
|
applications built for the same architecture.
|
|
This currently includes the sparc, sparc64 and most or all m68k ports.
|
|
Note that the sparc64 requires the
|
|
.Em COMPAT_NETBSD32
|
|
option for 64-bit kernels, in addition to this option.
|
|
.It Cd options COMPAT_ULTRIX
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.Tn ULTRIX
|
|
applications built for the same architecture.
|
|
This currently is limited to the pmax.
|
|
The functionality of this option is unknown.
|
|
.It Cd options COMPAT_DARWIN
|
|
On those architectures that support it, this enables binary compatibility with
|
|
.Tn Darwin
|
|
applications built for the same architecture.
|
|
This feature is highly experimental, it requires COMPAT_MACH and
|
|
EXEC_MACHO and it is currently limited to i386 and powerpc ports of
|
|
.Nx .
|
|
.It Cd options COMPAT_FREEBSD
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.Fx
|
|
applications built for the same architecture.
|
|
At the moment this is limited to the i386 port.
|
|
.It Cd options COMPAT_HPUX
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.Tn HP/UX
|
|
applications built for the same architecture.
|
|
This is limited to the hp300 port, and has some known bugs.
|
|
A limited set of programs do work.
|
|
.It Cd options COMPAT_IBCS2
|
|
On those architectures that support it, this enables binary
|
|
compatibility with iBCS2 or SVR3 applications built for the same architecture.
|
|
This is currently limited to the i386 and vax ports.
|
|
.It Cd options COMPAT_IRIX
|
|
On those architectures that support it, this enables binary
|
|
compatibility with IRIX o32 binaries built for the same architecture.
|
|
This feature is experimental, and it is currently limited to
|
|
the sgimips port of
|
|
.Nx .
|
|
.It Cd options COMPAT_MACH
|
|
On those architectures that support it, this enables the emulation of
|
|
Mach kernel traps for binaries built for the same architecture.
|
|
This features is highly experimental and it is currently
|
|
limited to i386 and powerpc ports of
|
|
.Nx .
|
|
.It Cd options COMPAT_OSF1
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.Tn Digital
|
|
.Ux
|
|
.Po
|
|
formerly
|
|
.Tn OSF/1
|
|
.Pc
|
|
applications built for the same architecture.
|
|
This is currently limited to the alpha port.
|
|
.It Cd options COMPAT_NOMID
|
|
Enable compatibility with
|
|
.Xr a.out 5
|
|
executables that lack a machine ID.
|
|
This includes
|
|
.Nx 0.8 Ns 's
|
|
ZMAGIC format, and 386BSD and BSDI's
|
|
QMAGIC, NMAGIC, and OMAGIC
|
|
.Xr a.out 5
|
|
formats.
|
|
.It Cd options COMPAT_NETBSD32
|
|
On those architectures that support it, this enables binary
|
|
compatibility with 32-bit applications built for the same architecture.
|
|
This is currently limited to the sparc64 port, and only applicable for
|
|
64-bit kernels.
|
|
.It Cd options COMPAT_SVR4_32
|
|
On those architectures that support it, this enables binary
|
|
compatibility with 32-bit SVR4 applications built for the same architecture.
|
|
This is currently limited to the sparc64 port, and only applicable for
|
|
64-bit kernels.
|
|
.It Cd options COMPAT_AOUT_M68K
|
|
On m68k architectures which have switched to ELF,
|
|
this enable binary compatibility with
|
|
.Nx Ns Tn /m68k
|
|
.Xr a.out 5
|
|
executables on
|
|
.Nx Ns Tn /m68k
|
|
ELF kernel.
|
|
This handles alignment incompatibility of m68k ABI between
|
|
a.out and ELF which causes the structure padding differences.
|
|
Currently only some system calls which use
|
|
.Va struct stat
|
|
are adjusted and some binaries which use
|
|
.Xr sysctl 3
|
|
to retrieve network details would not work properly.
|
|
.It Cd options EXEC_MACHO
|
|
On those architectures that support it, this adds support for running
|
|
Mach-O executables.
|
|
This is currently limited to the i386 and powerpc ports of
|
|
.Nx .
|
|
.It Cd options EXEC_ELF_NOTELESS
|
|
Run unidentified ELF binaries as
|
|
.Nx
|
|
binaries.
|
|
This might be needed for very old
|
|
.Nx
|
|
ELF binaries on some archs.
|
|
These old binaries didn't contain an appropriate
|
|
.Li .note.netbsd.ident
|
|
section, and thus can't be identified by the kernel as
|
|
.Nx
|
|
binaries otherwise.
|
|
Beware - if this option is on, the kernel would run
|
|
.Em any
|
|
unknown ELF binaries as if they were
|
|
.Nx
|
|
binaries.
|
|
.El
|
|
.Ss Debugging Options
|
|
.Bl -ohang
|
|
.It Cd options DDB
|
|
Compiles in a kernel debugger for diagnosing kernel problems.
|
|
See
|
|
.Xr ddb 4
|
|
for details.
|
|
.Em NOTE :
|
|
not available on all architectures.
|
|
.It Cd options DDB_FROMCONSOLE=integer
|
|
If set to non-zero, DDB may be entered by sending a break on a serial
|
|
console or by a special key sequence on a graphics console.
|
|
A value of "0" ignores console breaks or key sequences.
|
|
If not explicitly specified, the default value is "1".
|
|
Note that this sets the value of the
|
|
.Em ddb.fromconsole
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time -- see
|
|
.Xr sysctl 8
|
|
for details.
|
|
.It Cd options DDB_HISTORY_SIZE=integer
|
|
If this is non-zero, enable history editing in the kernel debugger
|
|
and set the size of the history to this value.
|
|
.It Cd options DDB_ONPANIC
|
|
If set to non-zero, DDB will be entered upon kernel panic.
|
|
The default if not specified is "1".
|
|
Note that this sets the value of the
|
|
.Em ddb.onpanic
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time -- see
|
|
.Xr sysctl 8
|
|
for details.
|
|
.It Cd options DDB_BREAK_CHAR=integer
|
|
This option overrides the using break to enter the kernel debugger
|
|
on the serial console.
|
|
The value given will is the ascii value to be used instead.
|
|
This is currently only supported by the com driver.
|
|
.It Cd options KGDB
|
|
Compiles in a remote kernel debugger stub for diagnosing kernel problems
|
|
using the
|
|
.Dq remote target
|
|
feature of gdb.
|
|
See
|
|
.Xr gdb 1
|
|
for details.
|
|
.Em NOTE :
|
|
not available on all architectures.
|
|
.It Cd options KGDB_DEV
|
|
Device number
|
|
.Po
|
|
as a
|
|
.Dv dev_t
|
|
.Pc
|
|
of kgdb device.
|
|
.It Cd options KGDB_DEVADDR
|
|
Memory address of kgdb device.
|
|
.It Cd options KGDB_DEVMODE
|
|
Permissions of kgdb device.
|
|
.It Cd options KGDB_DEVNAME
|
|
Device name of kgdb device.
|
|
.It Cd options KGDB_DEVRATE
|
|
Baud rate of kgdb device.
|
|
.It Cd makeoptions DEBUG="-g"
|
|
The -g flag causes
|
|
.Pa netbsd.gdb
|
|
to be built in addition to
|
|
.Pa netbsd .
|
|
.Pa netbsd.gdb
|
|
is useful for debugging kernel crash dumps with gdb.
|
|
See
|
|
.Xr gdb 1
|
|
for details.
|
|
This also turns on
|
|
.Em options DEBUG
|
|
(which see).
|
|
.It Cd options DEBUG
|
|
Turns on miscellaneous kernel debugging.
|
|
Since options are turned into preprocessor defines (see above),
|
|
.Em options DEBUG
|
|
is equivalent to doing a
|
|
.Em #define DEBUG
|
|
throughout the kernel.
|
|
Much of the kernel has
|
|
.Em #ifdef DEBUG
|
|
conditionalized debugging code.
|
|
Note that many parts of the kernel (typically device drivers) include their own
|
|
.Em #ifdef XXX_DEBUG
|
|
conditionals instead.
|
|
This option also turns on certain other options,
|
|
which may decrease system performance.
|
|
.It Cd options DIAGNOSTIC
|
|
Adds code to the kernel that does internal consistency checks.
|
|
This code will cause the kernel to panic if corruption of internal data
|
|
structures is detected.
|
|
These checks can decrease performance up to 15%.
|
|
.It Cd options KSTACK_CHECK_MAGIC
|
|
Check kernel stack usage and panic if stack overflow is detected.
|
|
This check is performance sensitive because it scans stack on each context
|
|
switch.
|
|
.It Cd options KTRACE
|
|
Add hooks for the system call tracing facility, which allows users to
|
|
watch the system call invocation behavior of processes.
|
|
See
|
|
.Xr ktrace 1
|
|
for details.
|
|
.It Cd options MSGBUFSIZE=integer
|
|
This option sets the size of the kernel message buffer.
|
|
This buffer holds the kernel output of
|
|
.Fn printf
|
|
when not (yet) read by
|
|
.Xr syslogd 8 .
|
|
This is particularly useful when the system has crashed and you wish to lookup
|
|
the kernel output from just before the crash.
|
|
Also, since the autoconfig output becomes more and more verbose,
|
|
it sometimes happens that the message buffer overflows before
|
|
.Xr syslogd 8
|
|
was able to read it.
|
|
Note that not all systems are capable of obtaining a variable sized message
|
|
buffer.
|
|
There are also some systems on which memory contents are not preserved
|
|
across reboots.
|
|
.It Cd options MALLOCLOG
|
|
Enables an event log for
|
|
.Xr malloc 9 .
|
|
Useful for tracking down
|
|
.Dq Data modified on freelist
|
|
and
|
|
.Dq multiple free
|
|
problems.
|
|
.It Cd options MALLOCLOGSIZE=integer
|
|
Defines the number of entries in the malloc log.
|
|
Default is 100000 entries.
|
|
.It Cd options SYSTRACE
|
|
Add hooks for the system call policy facility.
|
|
See
|
|
.Xr systrace 1
|
|
for details.
|
|
.It Cd options UVMHIST
|
|
Enables the UVM history logs, which create in-memory traces of
|
|
various UVM activities.
|
|
These logs can be displayed be calling
|
|
.Fn uvmhist_dump
|
|
or
|
|
.Fn uvm_hist
|
|
with appropriate arguments from DDB.
|
|
See the kernel source file sys/uvm/uvm_stat.c for details.
|
|
.It Cd options UVMHIST_PRINT
|
|
Prints the UVM history logs on the system console as entries are added.
|
|
Note that the output is
|
|
.Em extremely
|
|
voluminous, so this option is really only useful for debugging
|
|
the very earliest parts of kernel initialization.
|
|
.El
|
|
.Ss File Systems
|
|
.Bl -ohang
|
|
.It Cd file-system FFS
|
|
Includes code implementing the Berkeley Fast File System
|
|
.Em ( FFS ) .
|
|
Most machines need this if they are not running diskless.
|
|
.It Cd file-system EXT2FS
|
|
Includes code implementing the Second Extended File System
|
|
.Em ( EXT2FS ) ,
|
|
revision 0 and revision 1 with the
|
|
.Em filetype
|
|
and
|
|
.Em sparse_super
|
|
options.
|
|
This is the most commonly used file system on the Linux operating system,
|
|
and is provided here for compatibility.
|
|
Some of the specific features of
|
|
.Em EXT2FS
|
|
like the "behavior on errors" are not implemented.
|
|
This file system can't be used with UID or GID greater than 65535.
|
|
See
|
|
.Xr mount_ext2fs 8
|
|
for details.
|
|
.It Cd file-system LFS
|
|
.Em [EXPERIMENTAL]
|
|
Include the Log-structured File System
|
|
.Em ( LFS ) .
|
|
See
|
|
.Xr mount_lfs 8
|
|
and
|
|
.Xr newfs_lfs 8
|
|
for details.
|
|
.It Cd file-system MFS
|
|
Include the Memory File System
|
|
.Em ( MFS ) .
|
|
This file system stores files in swappable memory, and produces
|
|
notable performance improvements when it is used as the file store
|
|
for
|
|
.Pa /tmp
|
|
and similar file systems.
|
|
See
|
|
.Xr mount_mfs 8
|
|
for details.
|
|
.It Cd file-system NFS
|
|
Include the client side of the Network File System
|
|
.Pq Tn NFS
|
|
remote file sharing protocol.
|
|
Although the bulk of the code implementing
|
|
.Tn NFS
|
|
is kernel based, several user level daemons are needed for it to work.
|
|
See
|
|
.Xr mount_nfs 8
|
|
for details.
|
|
.It Cd file-system CD9660
|
|
Includes code for the
|
|
.Tn ISO
|
|
9660 + Rock Ridge file system, which is the standard file system on many
|
|
.Tn CD-ROM
|
|
discs.
|
|
Useful primarily if you have a
|
|
.Tn CD-ROM
|
|
drive.
|
|
See
|
|
.Xr mount_cd9660 8
|
|
for details.
|
|
.It Cd file-system MSDOSFS
|
|
Includes the
|
|
.Tn MS-DOS
|
|
FAT file system, which is reportedly still used
|
|
by unfortunate people who have not heard about
|
|
.Nx .
|
|
Also implements the
|
|
.Tn Windows 95
|
|
extensions to the same, which permit the use of longer, mixed case
|
|
file names.
|
|
See
|
|
.Xr mount_msdos 8
|
|
and
|
|
.Xr fsck_msdos 8
|
|
for details.
|
|
.It Cd file-system NTFS
|
|
.Em [EXPERIMENTAL]
|
|
Includes code for the
|
|
.Tn Microsoft Windows NT
|
|
file system.
|
|
See
|
|
.Xr mount_ntfs 8
|
|
for details.
|
|
.It Cd file-system FDESC
|
|
Includes code for a file system, conventionally mounted on
|
|
.Pa /dev/fd ,
|
|
which permits access to the per-process file descriptor space via
|
|
special files in the file system.
|
|
See
|
|
.Xr mount_fdesc 8
|
|
for details.
|
|
Note that this facility is redundant, and thus unneeded on most
|
|
.Nx
|
|
systems, since the
|
|
.Xr fd 4
|
|
pseudo-device driver already provides identical functionality.
|
|
On most
|
|
.Nx
|
|
systems, instances of
|
|
.Xr fd 4
|
|
are mknoded under
|
|
.Pa /dev/fd/
|
|
and on
|
|
.Pa /dev/stdin ,
|
|
.Pa /dev/stdout ,
|
|
and
|
|
.Pa /dev/stderr .
|
|
.It Cd file-system KERNFS
|
|
Includes code which permits the mounting of a special file system
|
|
(normally mounted on
|
|
.Pa /kern )
|
|
in which files representing various kernel variables and parameters
|
|
may be found.
|
|
See
|
|
.Xr mount_kernfs 8
|
|
for details.
|
|
.It Cd file-system NULLFS
|
|
Includes code for a loopback file system.
|
|
This permits portions of the file hierarchy to be re-mounted in other places.
|
|
The code really exists to provide an example of a stackable file system layer.
|
|
See
|
|
.Xr mount_null 8
|
|
for details.
|
|
.It Cd file-system OVERLAY
|
|
Includes code for a file system filter.
|
|
This permits the overlay file system to intercept all access to an underlying
|
|
file system.
|
|
This file system is intended to serve as an example of a stacking file
|
|
system which has a need to interpose itself between an underlying file
|
|
system and all other access.
|
|
See
|
|
.Xr mount_overlay 8
|
|
for details.
|
|
.It Cd file-system PORTAL
|
|
.Em [EXPERIMENTAL]
|
|
Includes the portal file system.
|
|
This permits interesting tricks like opening
|
|
.Tn TCP
|
|
sockets by opening files in the file system.
|
|
The portal file system is conventionally mounted on
|
|
.Pa /p
|
|
and is partially implemented by a special daemon.
|
|
See
|
|
.Xr mount_portal 8
|
|
for details.
|
|
.It Cd file-system PROCFS
|
|
Includes code for a special file system (conventionally mounted on
|
|
.Pa /proc )
|
|
in which the process space becomes visible in the file system.
|
|
Among
|
|
other things, the memory spaces of processes running on the system are
|
|
visible as files, and signals may be sent to processes by writing to
|
|
.Pa ctl
|
|
files in the procfs namespace.
|
|
See
|
|
.Xr mount_procfs 8
|
|
for details.
|
|
.It Cd file-system UMAPFS
|
|
Includes a loopback file system in which user and group IDs may be
|
|
remapped -- this can be useful when mounting alien file systems with
|
|
different UIDs and GIDs than the local system.
|
|
See
|
|
.Xr mount_umap 8
|
|
for details.
|
|
.It Cd file-system UNION
|
|
.Em [EXPERIMENTAL]
|
|
Includes code for the union file system, which permits directories to
|
|
be mounted on top of each other in such a way that both file systems
|
|
remain visible -- this permits tricks like allowing writing (and the
|
|
deleting of files) on a read-only file system like a
|
|
.Tn CD-ROM
|
|
by mounting a local writable file system on top of the read-only file system.
|
|
See
|
|
.Xr mount_union 8
|
|
for details.
|
|
.It Cd file-system CODA
|
|
.Em [EXPERIMENTAL]
|
|
Includes code for the Coda file system.
|
|
Coda is a distributed file system like NFS and AFS.
|
|
It is freely available, like NFS, but it functions much like AFS in being a
|
|
.Dq stateful
|
|
file system.
|
|
Both Coda and AFS cache files on your local machine to improve performance.
|
|
Then Coda goes a step further than AFS by letting you access the cached
|
|
files when there is no available network, viz. disconnected laptops and
|
|
network outages.
|
|
In Coda, both the client and server are outside the kernel which makes
|
|
them easier to experiment with.
|
|
Coda is available for several UNIX and non-UNIX platforms.
|
|
See http://www.coda.cs.cmu.edu for more details.
|
|
NOTE: You also need to enable the pseudo-device, vcoda, for the Coda
|
|
file system to work.
|
|
.El
|
|
.Ss File System Options
|
|
.Bl -ohang
|
|
.It Cd options NFSSERVER
|
|
Include the server side of the
|
|
.Em NFS
|
|
(Network File System) remote file sharing protocol.
|
|
Although the bulk of the code implementing
|
|
.Em NFS
|
|
is kernel based, several user level daemons are needed for it to
|
|
work.
|
|
See
|
|
.Xr mountd 8
|
|
and
|
|
.Xr nfsd 8
|
|
for details.
|
|
.It Cd options QUOTA
|
|
Enables kernel support for file system quotas.
|
|
See
|
|
.Xr quotaon 8 ,
|
|
.Xr edquota 8 ,
|
|
and
|
|
.Xr quota 1
|
|
for details.
|
|
Note that quotas only work on
|
|
.Dq ffs
|
|
file systems, although
|
|
.Xr rpc.rquotad 8
|
|
permits them to be accessed over
|
|
.Em NFS .
|
|
.It Cd options FFS_EI
|
|
Enable ``Endian-Independent'' FFS support.
|
|
This allows a system to mount an FFS file system created for another
|
|
architecture, at a small performance cost for all FFS file systems.
|
|
See also
|
|
.Xr newfs 8 ,
|
|
.Xr fsck_ffs 8 ,
|
|
.Xr dumpfs 8
|
|
for file system byte order status and manipulation.
|
|
.It Cd options NVNODE=integer
|
|
This option sets the size of the cache used by the name-to-inode translation
|
|
routines, (a.k.a. the
|
|
.Fn namei
|
|
cache, though called by many other names in the kernel source).
|
|
By default, this cache has
|
|
.Dv NPROC
|
|
(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries.
|
|
A reasonable way to derive a value of
|
|
.Dv NVNODE ,
|
|
should you notice a large number of namei cache misses with a tool such as
|
|
.Xr systat 1 ,
|
|
is to examine your system's current computed value with
|
|
.Xr sysctl 8 ,
|
|
(which calls this parameter "kern.maxvnodes") and to increase this value
|
|
until either the namei cache hit rate improves or it is determined that
|
|
your system does not benefit substantially from an increase in the size of
|
|
the namei cache.
|
|
.It Cd options NAMECACHE_ENTER_REVERSE
|
|
Causes the namei cache to always enter a reverse mapping (vnode -\*[Gt] name)
|
|
as well as a normal one.
|
|
Normally, this is already done for directory vnodes, to speed up the getcwd
|
|
operation.
|
|
This option will cause longer hash chains in the reverse cache, and thus
|
|
slow down getcwd somewhat.
|
|
However, it does make vnode -\*[Gt] path translations possible in some cases.
|
|
For now, only useful if strict /proc/#/maps emulation for Linux binaries is
|
|
required.
|
|
.It Cd options EXT2FS_SYSTEM_FLAGS
|
|
This option changes the behavior of the APPEND and IMMUTABLE flags
|
|
for a file on an
|
|
.Em EXT2FS
|
|
file system.
|
|
Without this option, the superuser or owner of the file can
|
|
set and clear them.
|
|
With this option, only the superuser can set them, and
|
|
they can't be cleared if the securelevel is greater than 0.
|
|
See also
|
|
.Xr chflags 1 .
|
|
.It Cd options NFS_BOOT_BOOTP
|
|
Enable use of the BOOTP protocol (RFCs 951 and 1048) to get configuration
|
|
information if NFS is used to mount the root file system.
|
|
See
|
|
.Xr diskless 8
|
|
for details.
|
|
.It Cd options NFS_BOOT_DHCP
|
|
Same as
|
|
.Dq NFS_BOOT_BOOTP ,
|
|
but use the DHCP extensions to the
|
|
BOOTP protocol (RFC 1541).
|
|
.It Cd options NFS_BOOT_BOOTP_REQFILE
|
|
Specifies the string sent in the bp_file field of the BOOTP / DHCP
|
|
request packet.
|
|
.It Cd options NFS_BOOT_BOOTPARAM
|
|
Enable use of the BOOTPARAM protocol, consisting of RARP and
|
|
BOOTPARAM RPC, to get configuration information if NFS
|
|
is used to mount the root file system.
|
|
See
|
|
.Xr diskless 8
|
|
for details.
|
|
.It Cd options NFS_BOOT_RWSIZE=value
|
|
Set the initial NFS read and write sizes for diskless-boot requests.
|
|
The normal default is 8Kbytes.
|
|
This option provides a way to lower the value (e.g., to 1024 bytes)
|
|
as a workaround for buggy network interface cards or boot PROMs.
|
|
Once booted, the read and write request sizes can be increased by
|
|
remounting the file system.
|
|
See
|
|
.Xr mount_nfs 8
|
|
for details.
|
|
.It Cd options NFS_V2_ONLY
|
|
Reduce the size of the NFS client code by omitting code that's only required
|
|
for NFSv3 and NQNFS support, leaving only that code required to use NFSv2
|
|
servers.
|
|
.El
|
|
.Ss Miscellaneous Options
|
|
.Bl -ohang
|
|
.It Cd options NEW_BUFQ_STRATEGY
|
|
Enable experimental buffer queue strategy for disk I/O.
|
|
It gives higher priority to read requests over write requests, and thereby
|
|
improves the overall system responsiveness considerably under heavy disk
|
|
I/O load.
|
|
.Em NOTE :
|
|
It's not yet proven to be stable, so use it at your own risk.
|
|
.It Cd options LKM
|
|
Enable loadable kernel modules.
|
|
See
|
|
.Xr lkm 4
|
|
for details.
|
|
.Em NOTE :
|
|
not available on all architectures.
|
|
.It Cd options INSECURE
|
|
Hardwires the kernel security level at -1.
|
|
This means that the system
|
|
always runs in secure level 0 mode, even when running multiuser.
|
|
See the manual page for
|
|
.Xr init 8
|
|
for details on the implications of this.
|
|
The kernel secure level may manipulated by the superuser by altering the
|
|
.Em kern.securelevel
|
|
.Xr sysctl 3
|
|
variable (the secure level may only be lowered by a call from process ID 1,
|
|
i.e.
|
|
.Xr init 8 ) .
|
|
See also
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3 .
|
|
.It Cd options MEMORY_DISK_HOOKS
|
|
This option allows for some machine dependent functions to be called when
|
|
the
|
|
.Xr md 4
|
|
.Tn RAM
|
|
disk driver is configured.
|
|
This can result in automatically loading a
|
|
.Tn RAM
|
|
disk from floppy on open (among other things).
|
|
.It Cd options MEMORY_DISK_IS_ROOT
|
|
Forces the
|
|
.Xr md 4
|
|
.Tn RAM
|
|
disk to be the root device.
|
|
This can only be overridden when
|
|
the kernel is booted in the 'ask-for-root' mode.
|
|
.It Cd options MEMORY_DISK_ROOT_SIZE=integer
|
|
Allocates the given number of 512 byte blocks as memory for the
|
|
.Xr md 4
|
|
.Tn RAM
|
|
disk, to be populated with
|
|
.Xr mdsetimage 8 .
|
|
.It Cd options VNODE_OP_NOINLINE
|
|
Do not inline the
|
|
.Fn VOP_*
|
|
calls in the kernel.
|
|
On i386 GENERIC, this saves 36k of kernel text.
|
|
Useful for install media kernels, small memory systems and embedded systems.
|
|
.It Cd options MALLOC_NOINLINE
|
|
Time critical fixed size memory allocation is performed with
|
|
.Fn MALLOC
|
|
and
|
|
.Fn FREE .
|
|
Normally these expand to inline code, but with
|
|
.Em MALLOC_NOINLINE
|
|
these call the normal
|
|
.Fn malloc
|
|
and
|
|
.Fn free
|
|
functions.
|
|
Useful for install media kernels, small memory systems and embedded systems.
|
|
.It Cd options HZ=integer
|
|
On ports that support it, set the system clock frequency (see
|
|
.Xr hz 9 )
|
|
to the supplied value.
|
|
Handle with care.
|
|
.It Cd options NTP
|
|
Turns on in-kernel precision timekeeping support used by software
|
|
implementing
|
|
.Em NTP
|
|
(Network Time Protocol, RFC 1305).
|
|
The
|
|
.Em NTP
|
|
option adds an in-kernel Phase-Locked Loop (PLL) for normal
|
|
.Em NTP
|
|
operation, and a Frequency-Locked Loop (FLL) for intermittently-connected
|
|
operation.
|
|
.Xr ntpd 8
|
|
will employ a user-level PLL when kernel support is unavailable,
|
|
but the in-kernel version has lower latency and more precision, and
|
|
so typically keeps much better time.
|
|
The interface to the kernel
|
|
.Em NTP
|
|
support is provided by the
|
|
.Xr ntp_adjtime 2
|
|
and
|
|
.Xr ntp_gettime 2
|
|
system calls, which are intended for use by
|
|
.Xr ntpd 8
|
|
and are enabled by the option.
|
|
On systems with sub-microsecond resolution timers, or where (HZ / 100000)
|
|
is not an integer, the
|
|
.Em NTP
|
|
option also enables extended-precision arithmetic to keep track of
|
|
fractional clock ticks at NTP time-format precision.
|
|
.It Cd options PPS_SYNC
|
|
This option enables a kernel serial line discipline for receiving time
|
|
phase signals from an external reference clock such as a radio clock.
|
|
(The
|
|
.Em NTP
|
|
option (which see) must be on if the
|
|
.Em PPS_SYNC
|
|
option is used.)
|
|
Some reference clocks generate a Pulse Per Second (PPS) signal in
|
|
phase with their time source.
|
|
The
|
|
.Em PPS
|
|
line discipline receives this signal on either the data leads
|
|
or the DCD control lead of a serial port.
|
|
.Em NTP
|
|
uses the PPS signal to discipline the local clock oscillator to a high
|
|
degree of precision (typically less than 50 microseconds in time and
|
|
0.1 ppm in accuracy).
|
|
.Em PPS
|
|
can also generate a serial output pulse when the system receives a PPS
|
|
interrupt.
|
|
This can be used to measure the system interrupt latency and thus calibrate
|
|
.Em NTP
|
|
to account for it.
|
|
Using
|
|
.Em PPS
|
|
usually requires a
|
|
gadget box
|
|
to convert from TTL to RS-232 signal levels.
|
|
The gadget box and PPS are described in more detail in the HTML documentation
|
|
for
|
|
.Xr ntpd 8
|
|
in
|
|
.Pa /usr/share/doc/html/ntp .
|
|
.It Cd options SETUIDSCRIPTS
|
|
Allows scripts with the setuid bit set to execute as the effective
|
|
user rather than the real user, just like binary executables.
|
|
.Pp
|
|
.Em NOTE :
|
|
Using this option will also enable
|
|
.Em options FDSCRIPTS
|
|
.It Cd options FDSCRIPTS
|
|
Allows execution of scripts with the execute bit set, but not the
|
|
read bit, by opening the file and passing the file descriptor to
|
|
the shell, rather than the filename.
|
|
.Pp
|
|
.Em NOTE :
|
|
Execute only (non-readable) scripts will have
|
|
.Va argv[0]
|
|
set to
|
|
.Pa /dev/fd/* .
|
|
What this option allows as far as security is
|
|
concerned, is the ability to safely ensure that the correct script
|
|
is run by the interpreter, as it is passed as an already open file.
|
|
.It Cd options PUCCN
|
|
Enables treating serial ports found on PCI boards
|
|
.Xr puc 4
|
|
as potential console devices.
|
|
The method for choosing such a console device is port dependent.
|
|
.It Cd options RTC_OFFSET=integer
|
|
The kernel (and typically the hardware battery backed-up clock on
|
|
those machines that have one) keeps time in
|
|
.Em UTC
|
|
(Universal Coordinated Time, once known as
|
|
.Em GMT ,
|
|
or Greenwich Mean Time)
|
|
and not in the time of the local time zone.
|
|
The
|
|
.Em RTC_OFFSET
|
|
option is used on some ports (such as the i386) to tell the kernel
|
|
that the hardware clock is offset from
|
|
.Em UTC
|
|
by the specified number of minutes.
|
|
This is typically used when a machine boots several operating
|
|
systems and one of them wants the hardware clock to run in the
|
|
local time zone and not in
|
|
.Em UTC ,
|
|
e.g.
|
|
.Em RTC_OFFSET=300
|
|
means
|
|
the hardware clock is set to US Eastern Time (300 minutes behind
|
|
.Em UTC ) ,
|
|
and not
|
|
.Em UTC .
|
|
(Note:
|
|
.Em RTC_OFFSET
|
|
is used to initialize a kernel variable named
|
|
.Va rtc_offset
|
|
which is the source actually used to determine the clock offset, and
|
|
which may be accessed via the kern.rtc_offset sysctl variable.
|
|
See
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3
|
|
for details.
|
|
Since the kernel clock is initialized from the hardware clock very
|
|
early in the boot process, it is not possible to meaningfully change
|
|
.Va rtc_offset
|
|
in system initialization scripts.
|
|
Changing this value currently may only be done at kernel compile
|
|
time or by patching the kernel and rebooting).
|
|
.Pp
|
|
.Em NOTE :
|
|
Unfortunately, in many cases where the hardware clock
|
|
is kept in local time, it is adjusted for Daylight Savings
|
|
Time; this means that attempting to use
|
|
.Em RTC_OFFSET
|
|
to let
|
|
.Nx
|
|
coexist with such an operating system, like Windows,
|
|
would necessitate changing
|
|
.Em RTC_OFFSET
|
|
twice a year.
|
|
As such, this solution is imperfect.
|
|
.It Cd options KMEMSTATS
|
|
The kernel memory allocator,
|
|
.Xr malloc 9 ,
|
|
will keep statistics on its performance if this option is enabled.
|
|
Unfortunately, this option therefore essentially disables the
|
|
.Fn MALLOC
|
|
and
|
|
.Fn FREE
|
|
forms of the memory allocator, which are used to enhance the performance
|
|
of certain critical sections of code in the kernel.
|
|
This option therefore can lead to a significant decrease in the
|
|
performance of certain code in the kernel if enabled.
|
|
Examples of such code include the
|
|
.Fn namei
|
|
routine, the
|
|
.Xr ccd 4
|
|
driver,
|
|
the
|
|
.Xr ncr 4
|
|
driver,
|
|
and much of the networking code.
|
|
.It Cd options MAXUPRC=integer
|
|
Sets the soft
|
|
.Dv RLIMIT_NPROC
|
|
resource limit, which specifies the maximum number of simultaneous
|
|
processes a user is permitted to run, for process 0;
|
|
this value is inherited by its child processes.
|
|
It defaults to
|
|
.Em CHILD_MAX ,
|
|
which is currently defined to be 160.
|
|
Setting
|
|
.Em MAXUPRC
|
|
to a value less than
|
|
.Em CHILD_MAX
|
|
is not permitted, as this would result in a violation of the semantics of
|
|
.St -p1003.1-90 .
|
|
.It Cd options NOFILE=integer
|
|
Sets the soft
|
|
.Dv RLIMIT_NOFILE
|
|
resource limit, which specifies the maximum number of open
|
|
file descriptors for each process;
|
|
this value is inherited by its child processes.
|
|
It defaults to
|
|
.Em OPEN_MAX ,
|
|
which is currently defined to be 64.
|
|
.It Cd options DEFCORENAME=string
|
|
Sets the default value of the
|
|
.Em kern.defcorename
|
|
sysctl variable, otherwise it is set to
|
|
.Nm %n.core .
|
|
See
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3
|
|
for details.
|
|
.It Cd options RASOPS_CLIPPING
|
|
Enables clipping within the
|
|
.Nm rasops
|
|
raster-console output system.
|
|
.Em NOTE :
|
|
only available on architectures that use
|
|
.Nm rasops
|
|
for console output.
|
|
.It Cd options RASOPS_SMALL
|
|
Removes optimized character writing code from the
|
|
.Nm rasops
|
|
raster-console output system.
|
|
.Em NOTE :
|
|
only available on architectures that use
|
|
.Nm rasops
|
|
for console output.
|
|
.It Cd options INCLUDE_CONFIG_FILE
|
|
Embeds the kernel config file used to define the kernel in the kernel
|
|
binary itself.
|
|
The embedded data also includes any files directly included by the config
|
|
file itself, e.g.
|
|
.Pa GENERIC.local
|
|
or
|
|
.Pa std.$MACHINE .
|
|
The embedded config file can be extracted from the resulting kernel by
|
|
the following command:
|
|
.Bd -literal -offset indent
|
|
strings netbsd | sed -n 's/^_CFG_//p' | unvis
|
|
.Ed
|
|
.It Cd options INCLUDE_JUST_CONFIG
|
|
Similar to the above option, but includes just the actual config file,
|
|
not any included files.
|
|
.It Cd options PIPE_SOCKETPAIR
|
|
Use slower, but smaller socketpair(2)-based pipe implementation instead
|
|
of default faster, but bigger one.
|
|
Primarily useful for installation kernels.
|
|
.It Cd options USERCONF
|
|
Compiles in the in-kernel device configuration manager.
|
|
See
|
|
.Xr userconf 4
|
|
for details.
|
|
.It Cd options PERFCTRS
|
|
Compiles in kernel support for CPU performance-monitoring counters.
|
|
See
|
|
.Xr pmc 1
|
|
for details.
|
|
.Em NOTE :
|
|
not available on all architectures.
|
|
.El
|
|
.Ss Networking Options
|
|
.Bl -ohang
|
|
.It Cd options GATEWAY
|
|
Enables
|
|
.Em IPFORWARDING
|
|
(which see)
|
|
and (on most ports) increases the size of
|
|
.Em NMBCLUSTERS
|
|
(which see).
|
|
In general,
|
|
.Em GATEWAY
|
|
is used to indicate that a system should act as a router, and
|
|
.Em IPFORWARDING
|
|
is not invoked directly.
|
|
(Note that
|
|
.Em GATEWAY
|
|
has no impact on protocols other than
|
|
.Tn IP ,
|
|
such as
|
|
.Tn CLNP
|
|
or
|
|
.Tn XNS ) .
|
|
.Em GATEWAY
|
|
option also compiles IPv4 fast forwarding code into the kernel.
|
|
.It Cd options IPFORWARDING=value
|
|
If
|
|
.Em value
|
|
is 1 this enables IP routing behavior.
|
|
If
|
|
.Em value
|
|
is 0 (the default), it disables it.
|
|
The
|
|
.Em GATEWAY
|
|
option sets this to 1 automatically.
|
|
With this option enabled, the machine will forward IP datagrams destined
|
|
for other machines between its interfaces.
|
|
Note that even without this option, the kernel will
|
|
still forward some packets (such as source routed packets) -- removing
|
|
.Em GATEWAY
|
|
and
|
|
.Em IPFORWARDING
|
|
is insufficient to stop all routing through a bastion host on a
|
|
firewall -- source routing is controlled independently.
|
|
To turn off source routing, use
|
|
.Em options IPFORWSRCRT=0
|
|
(which see).
|
|
Note that IP forwarding may be turned on and off independently of the
|
|
setting of the
|
|
.Em IPFORWARDING
|
|
option through the use of the
|
|
.Em net.inet.ip.forwarding
|
|
sysctl variable.
|
|
If
|
|
.Em net.inet.ip.forwarding
|
|
is 1, IP forwarding is on.
|
|
See
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3
|
|
for details.
|
|
.It Cd options IPFORWSRCRT=value
|
|
If
|
|
.Em value
|
|
is set to zero, source routing of IP datagrams is turned off.
|
|
If
|
|
.Em value
|
|
is set to one (the default) or the option is absent, source routed IP
|
|
datagrams are forwarded by the machine.
|
|
Note that source routing of IP packets may be turned on and off
|
|
independently of the setting of the
|
|
.Em IPFORWSRCRT
|
|
option through the use of the
|
|
.Em net.inet.ip.forwsrcrt
|
|
sysctl variable.
|
|
If
|
|
.Em net.inet.ip.forwsrcrt
|
|
is 1, forwarding of source routed IP datagrams is on.
|
|
See
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3
|
|
for details.
|
|
.It Cd options IFA_STATS
|
|
Tells the kernel to maintain per-address statistics on bytes sent
|
|
and received over (currently) internet and appletalk addresses.
|
|
.\"This can be a fairly expensive operation, so you probably want to
|
|
.\"keep this disabled.
|
|
The option is not recommended as it degrades system stability.
|
|
.It Cd options IFQ_MAXLEN=value
|
|
Increases the allowed size of the network interface packet queues.
|
|
The default queue size is 50 packets, and you do not normally need
|
|
to increase it.
|
|
.It Cd options MROUTING
|
|
Includes support for IP multicast routers.
|
|
You certainly want
|
|
.Em INET
|
|
with this.
|
|
Multicast routing is controlled by the
|
|
.Xr mrouted 8
|
|
daemon.
|
|
.It Cd options INET
|
|
Includes support for the
|
|
.Tn TCP/IP
|
|
protocol stack.
|
|
You almost certainly want this.
|
|
See
|
|
.Xr inet 4
|
|
for details.
|
|
This option is currently required.
|
|
.It Cd options INET6
|
|
Includes support for the
|
|
.Tn IPv6
|
|
protocol stack.
|
|
See
|
|
.Xr inet6 4
|
|
for details.
|
|
Unlike
|
|
.Em INET ,
|
|
.Em INET6
|
|
enables multicast routing code as well.
|
|
This option requires
|
|
.Em INET
|
|
at this moment, but it should not.
|
|
.It Cd options ND6_DEBUG
|
|
The option sets the default value of net.inet6.icmp6.nd6_debug to 1,
|
|
for debugging IPv6 neighbor discovery protocol handling.
|
|
See
|
|
.Xr sysctl 3
|
|
for details.
|
|
.It Cd options IPSEC
|
|
Includes support for the
|
|
.Tn IPsec
|
|
protocol.
|
|
See
|
|
.Xr ipsec 4
|
|
for details.
|
|
.It Cd options IPSEC_DEBUG
|
|
Enables debugging code in
|
|
.Tn IPsec
|
|
stack.
|
|
See
|
|
.Xr ipsec 4
|
|
for details.
|
|
.It Cd options IPSEC_ESP
|
|
Includes support for
|
|
.Tn IPsec
|
|
.Tn ESP
|
|
protocol.
|
|
See
|
|
.Xr ipsec 4
|
|
for details.
|
|
.It Cd options ALTQ
|
|
Enabled ALTQ (Alternate Queueing).
|
|
For simple rate-limiting, use
|
|
.Xr tbrconfig 8
|
|
to set up the interface transmission rate.
|
|
To use queueing disciplines, their appropriate kernel options should also
|
|
be defined (documented below).
|
|
Queueing disciplines are managed by
|
|
.Xr altqd 8 .
|
|
See
|
|
.Xr altq 9
|
|
for details.
|
|
.It Cd options ALTQ_HFSC
|
|
Include support for ALTQ-implemented HFSC (Hierarchical Fair Service Curve)
|
|
module.
|
|
HFSC supports both link-sharing and guaranteed real-time services.
|
|
H-FSC employs a service curve based QoS model, and its unique feature
|
|
is an ability to decouple delay and bandwidth allocation.
|
|
Requires
|
|
.Em ALTQ_RED
|
|
to use the RED queueing discipline on HFSC classes, or
|
|
.Em ALTQ_RIO
|
|
to use the RIO queueing discipline on HFSC classes.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_PRIQ
|
|
Include support for ALTQ-implemented PRIQ (Priority Queueing).
|
|
PRIQ implements a simple priority-based queueing discipline.
|
|
A higher priority class is always served first.
|
|
Requires
|
|
.Em ALTQ_RED
|
|
to use the RED queueing discipline on HFSC classes, or
|
|
.Em ALTQ_RIO
|
|
to use the RIO queueing discipline on HFSC classes.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_WFQ
|
|
Include support for ALTQ-implemented WFQ (Weighted Fair Queueing).
|
|
WFQ implements a weighted-round robin scheduler for a set of queues.
|
|
A weight can be assigned to each queue to give a different proportion
|
|
of the link capacity.
|
|
A hash function is used to map a flow to one of a set of queues.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_FIFOQ
|
|
Include support for ALTQ-implemented FIFO queueing.
|
|
FIFOQ is a simple drop-tail FIFO (First In, First Out) queueing discipline.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_RIO
|
|
Include support for ALTQ-implemented RIO (RED with In/Out).
|
|
The original RIO has 2 sets of RED parameters; one for in-profile
|
|
packets and the other for out-of-profile packets.
|
|
At the ingress of the network, profile meters tag packets as IN or
|
|
OUT based on contracted profiles for customers.
|
|
Inside the network, IN packets receive preferential treatment by
|
|
the RIO dropper.
|
|
ALTQ/RIO has 3 drop precedence levels defined for the Assured Forwarding
|
|
PHB of DiffServ (RFC 2597).
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_BLUE
|
|
Include support for ALTQ-implemented Blue buffer management.
|
|
Blue is another active buffer management mechanism.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_FLOWVALVE
|
|
Include support for ALTQ-implemented Flowvalve.
|
|
Flowvalve is a simple implementation of a RED penalty box that identifies
|
|
and punishes misbehaving flows.
|
|
This option requires
|
|
.Em ALTQ_RED
|
|
and assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_CDNR
|
|
Include support for ALTQ-implemented CDNR (diffserv traffic conditioner)
|
|
packet marking/manipulation.
|
|
Traffic conditioners are components to meter, mark, or drop incoming
|
|
packets according to some rules.
|
|
As opposed to queueing disciplines, traffic conditioners handle incoming
|
|
packets at an input interface.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_NOPCC
|
|
Disables use of processor cycle counter to measure time in ALTQ.
|
|
This option should be defined for a non-Pentium i386 CPU which does not
|
|
have TSC, SMP (per-CPU counters are not in sync), or power management
|
|
which affects processor cycle counter.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_IPSEC
|
|
Include support for IPsec in IPv4 ALTQ.
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_JOBS
|
|
Undocumented at this time.
|
|
.It Cd options ALTQ_AFMAP
|
|
Include support for an undocumented ALTQ feature that is used to map an IP
|
|
flow to an ATM VC (Virtual Circuit).
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.It Cd options ALTQ_LOCALQ
|
|
Include support for ALTQ-implemented local queues.
|
|
Its practical use is undefined.
|
|
Assumes
|
|
.Em ALTQ .
|
|
.It Cd options SUBNETSARELOCAL
|
|
Sets default value for net.inet.ip.subnetsarelocal variable, which
|
|
controls whether non-directly-connected subnets of connected networks
|
|
are considered "local" for purposes of choosing the MSS for a TCP
|
|
connection.
|
|
This is mostly present for historic reasons and completely irrelevant if
|
|
you enable Path MTU discovery.
|
|
.It Cd options HOSTZEROBROADCAST
|
|
Sets default value for net.inet.ip.hostzerobroadcast variable, which
|
|
controls whether the zeroth host address of each connected subnet is
|
|
also considered a broadcast address.
|
|
Default value is "1", for compatibility with old systems; if this is
|
|
set to zero on all hosts on a subnet, you should be able to fit an extra
|
|
host per subnet on the
|
|
".0" address.
|
|
.It Cd options MCLSHIFT=value
|
|
This option is the base-2 logarithm of the size of mbuf clusters.
|
|
The
|
|
.Bx
|
|
networking stack keeps network packets in a linked
|
|
list, or chain, of kernel buffer objects called mbufs.
|
|
The system provides larger mbuf clusters as an optimization for
|
|
large packets, instead of using long chains for large packets.
|
|
The mbuf cluster size,
|
|
or
|
|
.Em MCLBYTES ,
|
|
must be a power of two, and is computed as two raised to the power
|
|
.Em MCLSHIFT .
|
|
On systems with Ethernet network adaptors,
|
|
.Em MCLSHIFT
|
|
is often set to 11, giving 2048-byte mbuf clusters, large enough to
|
|
hold a 1500-byte
|
|
.Tn Ethernet
|
|
frame in a single cluster.
|
|
Systems with network interfaces supporting larger frame sizes like
|
|
.Tn ATM ,
|
|
.Tn FDDI ,
|
|
or
|
|
.Tn HIPPI
|
|
may perform better with
|
|
.Em MCLSHIFT
|
|
set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes,
|
|
respectively.
|
|
.It Cd options NS
|
|
Include support for the
|
|
.Tn Xerox
|
|
.Tn XNS
|
|
protocol stack.
|
|
See
|
|
.Xr ns 4
|
|
for details.
|
|
.It Cd options ISO,TPIP
|
|
Include support for the ubiquitous
|
|
.Tn OSI
|
|
protocol stack.
|
|
See
|
|
.Xr iso 4
|
|
for details.
|
|
This option assumes
|
|
.Em INET .
|
|
.It Cd options EON
|
|
Include support for tunneling
|
|
.Tn OSI
|
|
protocols over
|
|
.Tn IP .
|
|
Known to be broken, or at least very fragile, and undocumented.
|
|
.It Cd options CCITT,LLC,HDLC
|
|
Include support for the
|
|
.Tn CCITT
|
|
(nee
|
|
.Tn ITU-TSS )
|
|
.Tn X.25
|
|
protocol stack.
|
|
The state of this code is currently unknown, and probably contains bugs.
|
|
This option assumes
|
|
.Em INET .
|
|
.It Cd options NETATALK
|
|
Include support for the
|
|
.Tn AppleTalk
|
|
protocol stack.
|
|
The kernel provides provision for the
|
|
.Em Datagram Delivery Protocol
|
|
(DDP), providing SOCK_DGRAM support and
|
|
.Tn AppleTalk
|
|
routing.
|
|
This stack is used by the
|
|
.Em NETATALK
|
|
package, which adds support for
|
|
.Tn AppleTalk
|
|
server services via user libraries and applications.
|
|
.It Cd options IPNOPRIVPORTS
|
|
Normally, only root can bind a socket descriptor to a so-called
|
|
.Dq privileged
|
|
.Tn TCP
|
|
port, that is, a port number in the range 0-1023.
|
|
This option eliminates those checks from the kernel.
|
|
This can be useful if there is a desire to allow daemons without
|
|
privileges to bind those ports, e.g., on firewalls.
|
|
The security tradeoffs in doing this are subtle.
|
|
This option should only be used by experts.
|
|
.It Cd options TCP_COMPAT_42
|
|
.Tn TCP
|
|
bug compatibility with
|
|
.Bx 4.2 .
|
|
In
|
|
.Bx 4.2 ,
|
|
.Tn TCP
|
|
sequence numbers were 32-bit signed values.
|
|
Modern implementations of TCP use unsigned values.
|
|
This option clamps the initial sequence number to start in
|
|
the range 2^31 rather than the full unsigned range of 2^32.
|
|
Also, under
|
|
.Bx 4.2 ,
|
|
keepalive packets must contain at least one byte or else
|
|
the remote end would not respond.
|
|
.It Cd options TCP_DEBUG
|
|
Record the last
|
|
.Em TCP_NDEBUG
|
|
TCP packets with SO_DEBUG set, and decode to the console if
|
|
.Em tcpconsdebug
|
|
is set.
|
|
.It Cd options TCP_NDEBUG
|
|
Number of packets to record for
|
|
.Em TCP_DEBUG .
|
|
Defaults to 100.
|
|
.It Cd options TCP_SENDSPACE=value
|
|
.It Cd options TCP_RECVSPACE=value
|
|
These options set the max TCP window size to other sizes than the default.
|
|
The TCP window sizes can be altered via
|
|
.Xr sysctl 8
|
|
as well.
|
|
.It Cd options TCP_INIT_WIN=value
|
|
This option sets the initial TCP window size for non-local connections,
|
|
which is used when the transmission starts.
|
|
The default size is 1, but if the machine should act more aggressively,
|
|
the initial size can be set to some other value.
|
|
The initial TCP window size can be set via
|
|
.Xr sysctl 8
|
|
as well.
|
|
.It Cd options PFIL_HOOKS
|
|
This option turns on the packet filter interface hooks.
|
|
See
|
|
.Xr pfil 9
|
|
for details.
|
|
This option assumes
|
|
.Em INET .
|
|
.It Cd options IPFILTER_LOG
|
|
This option, in conjunction with
|
|
.Em pseudo-device ipfilter ,
|
|
enables logging of IP packets using ip-filter.
|
|
.It Cd options IPFILTER_DEFAULT_BLOCK
|
|
This option sets the default policy of ip-filter.
|
|
If it is set, ip-filter will block packets by default.
|
|
.It Cd options BRIDGE_IPF
|
|
This option causes
|
|
.Em bridge
|
|
devices to use the IP and/or IPv6 filtering hooks, forming
|
|
a link-layer filter that uses protocol-layer rules.
|
|
This option assumes the presence of
|
|
.Em pseudo-device ipfilter .
|
|
.It Cd options MBUFTRACE
|
|
This option can help track down mbuf leaks.
|
|
When enabled, mbufs are tagged with the devices and protocols using them,
|
|
which slightly decreases network performance.
|
|
This additional information can be viewed with
|
|
.Xr netstat 1 :
|
|
.Dl Ic netstat Fl mssv
|
|
Not all devices or protocols support this option.
|
|
.El
|
|
.Ss System V IPC Options
|
|
.Bl -ohang
|
|
.It Cd options SYSVMSG
|
|
Includes support for
|
|
.At V
|
|
style message queues.
|
|
See
|
|
.Xr msgctl 2 ,
|
|
.Xr msgget 2 ,
|
|
.Xr msgrcv 2 ,
|
|
.Xr msgsnd 2 .
|
|
.It Cd options SYSVSEM
|
|
Includes support for
|
|
.At V
|
|
style semaphores.
|
|
See
|
|
.Xr semctl 2 ,
|
|
.Xr semget 2 ,
|
|
.Xr semop 2 .
|
|
.It Cd options SEMMNI=value
|
|
Sets the number of
|
|
.At V
|
|
style semaphore identifiers.
|
|
The GENERIC config file for your port will have the default.
|
|
.It Cd options SEMMNS=value
|
|
Sets the number of
|
|
.At V
|
|
style semaphores in the system.
|
|
The GENERIC config file for your port will have the default.
|
|
.It Cd options SEMUME=value
|
|
Sets the maximum number of undo entries per process for
|
|
.At V
|
|
style semaphores.
|
|
The GENERIC config file for your port will have the default.
|
|
.It Cd options SEMMNU=value
|
|
Sets the number of undo structures in the system for
|
|
.At V
|
|
style semaphores.
|
|
The GENERIC config file for your port will have the default.
|
|
.It Cd options SYSVSHM
|
|
Includes support for
|
|
.At V
|
|
style shared memory.
|
|
See
|
|
.Xr shmat 2 ,
|
|
.Xr shmctl 2 ,
|
|
.Xr shmdt 2 ,
|
|
.Xr shmget 2 .
|
|
.It Cd options SHMMAXPGS=value
|
|
Sets the maximum number of
|
|
.At V
|
|
style shared memory pages that are available through the
|
|
.Xr shmget 2
|
|
system call.
|
|
Default value is 1024 on most ports.
|
|
See
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for the default.
|
|
.El
|
|
.Ss VM Related Options
|
|
.Bl -ohang
|
|
.It Cd options NMBCLUSTERS=value
|
|
The number of mbuf clusters the kernel supports.
|
|
Mbuf clusters are MCLBYTES in size (usually 2k).
|
|
This is used to compute the size of the kernel VM map
|
|
.Em mb_map ,
|
|
which maps mbuf clusters.
|
|
Default on most ports is 1024 (2048 with
|
|
.Dq options GATEWAY
|
|
).
|
|
See
|
|
.Pa /usr/include/machine/param.h
|
|
for exact default information.
|
|
Increase this value if you get
|
|
.Dq mclpool limit reached
|
|
messages.
|
|
.It Cd options NKMEMPAGES=value
|
|
.It Cd options NKMEMPAGES_MIN=value
|
|
.It Cd options NKMEMPAGES_MAX=value
|
|
Size of kernel VM map
|
|
.Em kmem_map ,
|
|
in PAGE_SIZE-sized chunks (the VM page size; this value may be read
|
|
from the
|
|
.Xr sysctl 8
|
|
variable
|
|
.Em hw.pagesize
|
|
).
|
|
This VM map is used to map the kernel malloc arena.
|
|
The kernel attempts to auto-size this map based on the amount of
|
|
physical memory in the system.
|
|
Platform-specific code may place bounds on this computed size,
|
|
which may be viewed with the
|
|
.Xr sysctl 8
|
|
variable
|
|
.Em vm.nkmempages .
|
|
See
|
|
.Pa /usr/include/machine/param.h
|
|
for the default upper and lower bounds.
|
|
The related options
|
|
.Sq NKMEMPAGES_MIN
|
|
and
|
|
.Sq NKMEMPAGES_MAX
|
|
allow the bounds to be overridden in the kernel configuration file.
|
|
These options are provided in the event the computed value is
|
|
insufficient resulting in an
|
|
.Dq out of space in kmem_map
|
|
panic.
|
|
.It Cd options SB_MAX=value
|
|
Sets the max size in bytes that a socket buffer is allowed to occupy.
|
|
The default is 256k, but sometimes it needs to be increased, for example
|
|
when using large TCP windows.
|
|
This option can be changed via
|
|
.Xr sysctl 8
|
|
as well.
|
|
.It Cd options SOMAXKVA=value
|
|
Sets the maximum size of kernel virtual memory that the socket buffers
|
|
are allowed to use.
|
|
The default is 16MB, but in situations where for example large TCP
|
|
windows are used this value must also be increased.
|
|
This option can be changed via
|
|
.Xr sysctl 8
|
|
as well.
|
|
.It Cd options BUFCACHE=value
|
|
Size of the buffer cache as a percentage of total available
|
|
.Tn RAM .
|
|
Ignored if BUFPAGES is also specified.
|
|
.It Cd options NBUF=value
|
|
Sets the number of buffer headers available, i.e., the number of
|
|
open files that may have a buffer cache entry.
|
|
Each buffer header
|
|
requires MAXBSIZE (machine dependent, but usually 65536) bytes.
|
|
The default value is machine dependent, but is usually equal to the
|
|
value of BUFPAGES.
|
|
If an architecture dependent VM_MAX_KERNEL_BUF constant is defined
|
|
then NBUF may be reduced at run time so that the storage allocated
|
|
for buffer headers doesn't exceed that limit.
|
|
.It Cd options BUFPAGES=value
|
|
These options set the number of pages available for the buffer cache.
|
|
Their default value is a machine dependent value, often calculated as
|
|
between 5% and 10% of total available
|
|
.Tn RAM .
|
|
.It Cd options MAXTSIZ=bytes
|
|
Sets the maximum size limit of a process' text segment.
|
|
See
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for the port-specific default.
|
|
.It Cd options DFLDSIZ=bytes
|
|
Sets the default size limit of a process' data segment, the value that
|
|
will be returned as the soft limit for
|
|
.Dv RLIMIT_DATA
|
|
(as returned by
|
|
.Xr getrlimit 2 ) .
|
|
See
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for the port-specific default.
|
|
.It Cd options MAXDSIZ=bytes
|
|
Sets the maximum size limit of a process' data segment, the value that
|
|
will be returned as the hard limit for
|
|
.Dv RLIMIT_DATA
|
|
(as returned by
|
|
.Xr getrlimit 2 ) .
|
|
See
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for the port-specific default.
|
|
.It Cd options DFLSSIZ=bytes
|
|
Sets the default size limit of a process' stack segment, the value that
|
|
will be returned as the soft limit for
|
|
.Dv RLIMIT_STACK
|
|
(as returned by
|
|
.Xr getrlimit 2 ) .
|
|
See
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for the port-specific default.
|
|
.It Cd options MAXSSIZ=bytes
|
|
Sets the maximum size limit of a process' stack segment, the value that
|
|
will be returned as the hard limit for
|
|
.Dv RLIMIT_STACK
|
|
(as returned by
|
|
.Xr getrlimit 2 ) .
|
|
See
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for the port-specific default.
|
|
.It Cd options DUMP_ON_PANIC=integer
|
|
Defaults to one.
|
|
If set to zero, the kernel will not dump to the dump device when
|
|
it panics, though dumps can still be forced via
|
|
.Xr ddb 4
|
|
with the
|
|
.Dq sync
|
|
command.
|
|
Note that this sets the value of the
|
|
.Em kern.dump_on_panic
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time -- see
|
|
.Xr sysctl 8
|
|
for details.
|
|
.It Cd options USE_TOPDOWN_VM
|
|
User space memory allocations (as made by
|
|
.Xr mmap 2 )
|
|
will be arranged in a
|
|
.Dq top down
|
|
fashion instead of the traditional
|
|
.Dq upwards from MAXDSIZ \+ vm_daddr
|
|
method.
|
|
This includes the placement of
|
|
.Xr ld.so 1 .
|
|
Arranging memory in this manner allows either (or both of) the heap or
|
|
.Xr mmap 2
|
|
allocated space to grow larger than traditionally possible.
|
|
This option is not available on all ports, but is instead expected to be
|
|
offered on a port-by-port basis, after which some ports will commit to
|
|
using it by default.
|
|
See the files
|
|
.Pa /usr/include/uvm/uvm_param.h
|
|
for some implementation details, and
|
|
.Pa /usr/include/machine/vmparam.h
|
|
for port specific details including availability.
|
|
.El
|
|
.Ss amiga-specific Options
|
|
.Bl -ohang
|
|
.It Cd options BB060STUPIDROM
|
|
When the bootloader (which passes
|
|
.Tn AmigaOS
|
|
.Tn ROM
|
|
information) claims we have a 68060
|
|
.Tn CPU
|
|
without
|
|
.Tn FPU ,
|
|
go look into the Processor Configuration Register (PCR) to find out.
|
|
You need this with
|
|
.Tn Amiga
|
|
.Tn ROM Ns s
|
|
up to (at least) V40.xxx (OS3.1),
|
|
when you boot via the bootblocks and don't have a DraCo.
|
|
.It Cd options IOBZCLOCK=frequency
|
|
The IOBlix boards come with two different serial master clocks: older ones
|
|
use 24 MHz, newer ones use 22.1184 MHz.
|
|
The driver normally assumes the latter.
|
|
If your board uses 24 MHz, you can recompile your kernel with
|
|
options IOBZCLOCK=24000000
|
|
or patch the kernel variable
|
|
.Tn iobzclock
|
|
to the same value.
|
|
.It Cd options LIMITMEM=value
|
|
If there, limit the part of the first memory bank used by
|
|
.Nx
|
|
to value megabytes.
|
|
Default is unlimited.
|
|
.It Cd options NKPTADD=addvalue
|
|
.It Cd options NKPTADDSHIFT=shiftvalue
|
|
The
|
|
.Tn CPU
|
|
specific
|
|
.Tn MMU
|
|
table for the kernel is pre-allocated at kernel startup time.
|
|
Part of it is scaled with
|
|
.Va maxproc ,
|
|
to have enough room to hold the user program
|
|
.Tn MMU
|
|
tables; the second part is a fixed amount for the kernel itself.
|
|
.Pp
|
|
The third part accounts for the size of the file buffer cache.
|
|
Its size is either
|
|
.Dv NKPTADD
|
|
pages (if defined) or memory size in bytes divided by two to
|
|
the power of
|
|
.Dv NKPTADDSHIFT .
|
|
The default is undefined
|
|
.Dv NKPTADD
|
|
and
|
|
.Dv NKPTADDSHIFT=24 ,
|
|
allowing for 16 buffers per megabyte of main memory (while
|
|
a GENERIC kernel allocates about half of that).
|
|
When you get "can't get KPT page" panics, you should increase
|
|
.Dv NKPTADD
|
|
(if defined), or decrease
|
|
.Dv NKPTADDSHIFT
|
|
by one.
|
|
.It Cd options P5PPC68KBOARD
|
|
Add special support for Phase5 mixed 68k+PPC boards.
|
|
Currently, this only affects rebooting from
|
|
.Nx
|
|
and is only needed on 68040+PPC, not on
|
|
68060+PPC; without this, affected machines will hang after
|
|
.Nx
|
|
has shut
|
|
down and will only restart after a keyboard reset or a power cycle.
|
|
.El
|
|
.Ss arm32-specific Options
|
|
.Bl -ohang
|
|
.It Cd options FRENCH_KBD
|
|
Include translation for French keyboards when using
|
|
.Em pccons
|
|
on a Shark.
|
|
.It Cd options FINNISH_KBD
|
|
Include translation for Finnish keyboards when using
|
|
.Em pccons
|
|
on a Shark.
|
|
.It Cd options GERMAN_KBD
|
|
Include translation for German keyboards when using
|
|
.Em pccons
|
|
on a Shark.
|
|
.It Cd options NORWEGIAN_KBD
|
|
Include translation for French keyboards when using
|
|
.Em pccons
|
|
on a Shark.
|
|
.El
|
|
.Ss atari-specific Options
|
|
.Bl -ohang
|
|
.It Cd options DISKLABEL_AHDI
|
|
Include support for AHDI (native Atari) disklabels.
|
|
.It Cd options DISKLABEL_NBDA
|
|
Include support for
|
|
.Nx Ns Tn /atari
|
|
labels.
|
|
If you don't set this option, it will be set automatically.
|
|
.Nx Ns Tn /atari
|
|
will not work without it.
|
|
.It Cd options FALCON_SCSI
|
|
Include support for the 5380-SCSI configuration as found on the Falcon.
|
|
.It Cd options RELOC_KERNEL
|
|
If set, the kernel will relocate itself to TT-RAM, if possible.
|
|
This will give you a slightly faster system.
|
|
.Em Beware
|
|
that on some TT030 systems,
|
|
the system will frequently dump with MMU-faults with this option enabled.
|
|
.It Cd options SERCONSOLE
|
|
Allow the modem1-port to act as the system-console.
|
|
A carrier should be active on modem1 during system boot to active
|
|
the console functionality.
|
|
.It Cd options TT_SCSI
|
|
Include support for the 5380-SCSI configuration as found on the TT030
|
|
and Hades.
|
|
.El
|
|
.Ss i386-specific Options
|
|
.Bl -ohang
|
|
.It Cd options I386_CPU,I486_CPU,I586_CPU,I686_CPU
|
|
Include support for a particular class of
|
|
.Tn CPU
|
|
.Po
|
|
.Tn i386 ,
|
|
.Tn i486 ,
|
|
.Tn Pentium ,
|
|
or
|
|
.Tn Pentium Pro
|
|
.Pc .
|
|
If the appropriate class for your
|
|
.Tn CPU
|
|
is not configured, the kernel will use the highest class available
|
|
that will work.
|
|
In general, using the correct
|
|
.Tn CPU
|
|
class will result in the best performance.
|
|
At least one of these options must be present.
|
|
.It Cd options CPURESET_DELAY=value
|
|
specifies the time (in millisecond) to wait before doing a hardware reset
|
|
in the last phase of a reboot.
|
|
This gives the user a chance to see error messages from the shutdown
|
|
operations (like NFS unmounts, buffer cache flush, etc ...).
|
|
Setting this to 0 will disable the delay.
|
|
Default is 2 seconds.
|
|
.It Cd options MATH_EMULATE
|
|
Include the floating point emulator.
|
|
This is useful only for
|
|
.Tn CPU Ns s
|
|
that lack an
|
|
internal Floating Point Unit
|
|
.Pq Tn FPU
|
|
or co-processor.
|
|
.It Cd options VM86
|
|
Include support for virtual 8086 mode, used by
|
|
.Tn DOS
|
|
emulators and X servers to run BIOS code, e.g., for some VESA routines.
|
|
.It Cd options USER_LDT
|
|
Include i386-specific system calls for modifying the local descriptor table,
|
|
used by Windows emulators.
|
|
.It Cd options REALBASEMEM=integer
|
|
Overrides the base memory size passed in from the boot block.
|
|
(Value given in kilobytes.)
|
|
Use this option only if the boot block reports the size incorrectly.
|
|
(Note that some
|
|
.Tn BIOS Ns es
|
|
put the extended
|
|
.Tn BIOS
|
|
data area at the top of base memory, and therefore report a smaller
|
|
base memory size to prevent programs overwriting it.
|
|
This is correct behavior, and you should not use the
|
|
.Em REALBASEMEM
|
|
option to access this memory).
|
|
.It Cd options REALEXTMEM=integer
|
|
Overrides the extended memory size passed in from the boot block.
|
|
(Value given in kilobytes.
|
|
Extended memory does not include the first megabyte.)
|
|
Use this option only if the boot block reports the size incorrectly.
|
|
.It Cd options FRENCH_KBD,FINNISH_KBD,GERMAN_KBD,NORWEGIAN_KBD
|
|
Select a non-US keyboard layout for the
|
|
.Em pccons
|
|
console driver.
|
|
.It Cd options CYRIX_CACHE_WORKS
|
|
Relevant only to the Cyrix 486DLC cpu.
|
|
This option is used to turn on the cache in hold-flush mode.
|
|
It is not turned on by default because it is known to have problems in
|
|
certain motherboard implementations.
|
|
.It Cd options CYRIX_CACHE_REALLY_WORKS
|
|
Relevant only to the Cyrix 486DLC cpu.
|
|
This option is used to turn on the cache in write-back mode.
|
|
It is not turned on by default because it is known to have problems in
|
|
certain motherboard implementations.
|
|
In order for this option to take effect, option
|
|
.Em CYRIX_CACHE_WORKS
|
|
must also be specified.
|
|
.It Cd options PCIBIOS
|
|
Enable support for initializing the
|
|
.Tn PCI
|
|
bus using information from the
|
|
.Tn BIOS .
|
|
See
|
|
.Xr pcibios 4
|
|
for details.
|
|
.It Cd options KSTACK_CHECK_DR0
|
|
Detect kernel stack overflow using DR0 register.
|
|
This option uses DR0 register exclusively so you can't use DR0 register for
|
|
other purpose (e.g., hardware breakpoint) if you turn this on.
|
|
.It Cd options MTRR
|
|
Include support for accessing MTRR registers from user-space.
|
|
See
|
|
.Xr i386_get_mtrr 2 .
|
|
.El
|
|
.Ss isa-specific Options
|
|
Options specific to
|
|
.Xr isa 4
|
|
busses.
|
|
.Bl -ohang
|
|
.It Cd options PCIC_ISA_ALLOC_IOBASE=address, PCIC_ISA_ALLOC_IOSIZE=size
|
|
Control the section of IO bus space used for PCMCIA bus space mapping.
|
|
Ideally the probed defaults are satisfactory, however in practice
|
|
that is not always the case.
|
|
See
|
|
.Xr pcmcia 4
|
|
for details.
|
|
.It Cd options PCIC_ISA_INTR_ALLOC_MASK=mask
|
|
Controls the allowable interrupts that may be used for
|
|
.Tn PCMCIA
|
|
devices.
|
|
This mask is a logical-or of power-of-2s of allowable interrupts:
|
|
.Bd -literal -offset 04n
|
|
.Em "IRQ Val IRQ Val IRQ Val IRQ Val"
|
|
0 0x0001 4 0x0010 8 0x0100 12 0x1000
|
|
1 0x0002 5 0x0020 9 0x0200 13 0x2000
|
|
2 0x0004 6 0x0040 10 0x0400 14 0x4000
|
|
3 0x0008 7 0x0080 11 0x0800 15 0x8000
|
|
.Ed
|
|
.El
|
|
.Ss m68k-specific Options
|
|
.Bl -ohang
|
|
.It Cd options FPU_EMULATE
|
|
Include support for MC68881/MC68882 emulator.
|
|
.It Cd options FPSP
|
|
Include support for 68040 floating point.
|
|
.It Cd options M68020,M68030,M68040,M68060
|
|
Include support for a specific
|
|
.Tn CPU ,
|
|
at least one (the one you are using) should be specified.
|
|
.It Cd options M060SP
|
|
Include software support for 68060.
|
|
This provides emulation of unimplemented
|
|
integer instructions as well as emulation of unimplemented floating point
|
|
instructions and data types and software support for floating point traps.
|
|
.El
|
|
.Ss sparc-specific Options
|
|
.Bl -ohang
|
|
.It Cd options AUDIO_DEBUG
|
|
Enable simple event debugging of the logging of the
|
|
.Xr audio 4
|
|
device.
|
|
.It Cd options BLINK
|
|
Enable blinking of LED.
|
|
Blink rate is full cycle every N seconds for
|
|
N \*[Lt] then current load average.
|
|
See
|
|
.Xr getloadavg 3 .
|
|
.\" .It Cd options COLORFONT_CACHE
|
|
.\" What does this do?
|
|
.It Cd options COUNT_SW_LEFTOVERS
|
|
Count how many times the sw SCSI device has left 3, 2, 1 and 0 in the
|
|
sw_3_leftover, sw_2_leftover, sw_1_leftover, and sw_0_leftover
|
|
variables accessible from
|
|
.Xr ddb 4 .
|
|
See
|
|
.Xr sw 4 .
|
|
.It Cd options DEBUG_ALIGN
|
|
Adds debugging messages calls when user-requested alignment fault
|
|
handling happens.
|
|
.It Cd options DEBUG_EMUL
|
|
Adds debugging messages calls for emulated floating point and
|
|
alignment fixing operations.
|
|
.It Cd options DEBUG_SVR4
|
|
Prints registers messages calls for emulated SVR4 getcontext and
|
|
setcontext operations.
|
|
See
|
|
.Em options COMPAT_SVR4 .
|
|
.It Cd options EXTREME_DEBUG
|
|
Adds debugging functions callable from
|
|
.Xr ddb 4 .
|
|
The debug_pagetables, test_region and print_fe_map
|
|
functions print information about page tables for the SUN4M
|
|
platforms only.
|
|
.It Cd options EXTREME_EXTREME_DEBUG
|
|
Adds extra info to
|
|
.Em options EXTREME_DEBUG .
|
|
.It Cd options FPU_CONTEXT
|
|
Make
|
|
.Em options COMPAT_SVR4
|
|
getcontext and setcontext include floating point registers.
|
|
.It Cd options MAGMA_DEBUG
|
|
Adds debugging messages to the
|
|
.Xr magma 4
|
|
device.
|
|
.It Cd options RASTERCONS_FULLSCREEN
|
|
Use the entire screen for the console.
|
|
.It Cd options RASTERCONS_SMALLFONT
|
|
Use the Fixed font on the console, instead of the normal font.
|
|
.It Cd options SUN4
|
|
Support sun4 class machines.
|
|
.It Cd options SUN4C
|
|
Support sun4c class machines.
|
|
.It Cd options SUN4M
|
|
Support sun4m class machines.
|
|
.It Cd options SUN4_MMU3L
|
|
.\" XXX ???
|
|
Enable support for sun4 3-level MMU machines.
|
|
.It Cd options V9
|
|
Enable SPARC V9 assembler in
|
|
.Xr ddb 4 .
|
|
.El
|
|
.Ss sparc64-specific Options
|
|
.Bl -ohang
|
|
.It Cd options AUDIO_DEBUG
|
|
Enable simple event debugging of the logging of the
|
|
.Xr audio 4
|
|
device.
|
|
.It Cd options BLINK
|
|
Enable blinking of LED.
|
|
Blink rate is full cycle every N seconds for
|
|
N \*[Lt] then current load average.
|
|
See
|
|
.Xr getloadavg 3 .
|
|
.El
|
|
.Ss x68k-specific Options
|
|
.Bl -ohang
|
|
.It Cd options EXTENDED_MEMORY
|
|
Include support for extended memory, e.g., TS-6BE16 and 060turbo on-board.
|
|
.It Cd options JUPITER
|
|
Include support for Jupiter-X MPU accelerator
|
|
.It Cd options ZSCONSOLE,ZSCN_SPEED=value
|
|
Use the built-in serial port as the system-console.
|
|
Speed is specified in bps, defaults to 9600.
|
|
.It Cd options ITE_KERNEL_ATTR=value
|
|
Set the kernel message attribute for ITE.
|
|
Value, an integer, is a logical or of the following values:
|
|
.Bl -tag -width 4n -compact -offset indent
|
|
.It 1
|
|
color inversed
|
|
.It 2
|
|
underlined
|
|
.It 4
|
|
bolded
|
|
.El
|
|
.El
|
|
.\" The following requests should be uncommented and used where appropriate.
|
|
.\" .Sh FILES
|
|
.\" .Sh EXAMPLES
|
|
.Sh SEE ALSO
|
|
.Xr gdb 1 ,
|
|
.Xr ktrace 1 ,
|
|
.Xr pmc 1 ,
|
|
.Xr quota 1 ,
|
|
.Xr gettimeofday 2 ,
|
|
.Xr i386_get_mtrr 2 ,
|
|
.Xr i386_iopl 2 ,
|
|
.Xr msgctl 2 ,
|
|
.Xr msgget 2 ,
|
|
.Xr msgrcv 2 ,
|
|
.Xr msgsnd 2 ,
|
|
.Xr ntp_adjtime 2 ,
|
|
.Xr ntp_gettime 2 ,
|
|
.Xr semctl 2 ,
|
|
.Xr semget 2 ,
|
|
.Xr semop 2 ,
|
|
.Xr shmat 2 ,
|
|
.Xr shmctl 2 ,
|
|
.Xr shmdt 2 ,
|
|
.Xr shmget 2 ,
|
|
.Xr sysctl 3 ,
|
|
.Xr apm 4 ,
|
|
.Xr ddb 4 ,
|
|
.Xr inet 4 ,
|
|
.Xr iso 4 ,
|
|
.Xr lkm 4 ,
|
|
.Xr md 4 ,
|
|
.Xr ns 4 ,
|
|
.Xr pcibios 4 ,
|
|
.Xr pcmcia 4 ,
|
|
.Xr ppp 4 ,
|
|
.Xr userconf 4 ,
|
|
.Xr wscons 4 ,
|
|
.Xr config 8 ,
|
|
.Xr edquota 8 ,
|
|
.Xr init 8 ,
|
|
.Xr mdsetimage 8 ,
|
|
.Xr mount_cd9660 8 ,
|
|
.Xr mount_fdesc 8 ,
|
|
.Xr mount_kernfs 8 ,
|
|
.Xr mount_lfs 8 ,
|
|
.Xr mount_mfs 8 ,
|
|
.Xr mount_msdos 8 ,
|
|
.Xr mount_nfs 8 ,
|
|
.Xr mount_ntfs 8 ,
|
|
.Xr mount_null 8 ,
|
|
.Xr mount_portal 8 ,
|
|
.Xr mount_procfs 8 ,
|
|
.Xr mount_umap 8 ,
|
|
.Xr mount_union 8 ,
|
|
.Xr mrouted 8 ,
|
|
.Xr newfs_lfs 8 ,
|
|
.Xr ntpd 8 ,
|
|
.Xr quotaon 8 ,
|
|
.Xr rpc.rquotad 8 ,
|
|
.Xr sysctl 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
man page first appeared in
|
|
.Nx 1.3 .
|
|
.Sh BUGS
|
|
The
|
|
.Em INET
|
|
option should not be required.
|
|
The
|
|
.Em EON
|
|
option should be a pseudo-device, and is also very fragile.
|