2808 lines
81 KiB
Groff
2808 lines
81 KiB
Groff
.\" $NetBSD: options.4,v 1.442 2014/08/24 07:59:22 jnemeth 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 August 23, 2014
|
|
.Dt OPTIONS 4
|
|
.Os
|
|
.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 1
|
|
and
|
|
.Xr config 5
|
|
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 Qq Ar filename
|
|
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 Ar exec_name No root on Ar rootdev Oo type Ar fstype Oc \
|
|
Oo dumps on Ar dumpdev Oc
|
|
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 No at Ar attachment \
|
|
Oo Ar locators value Oo ... Oc Oc Oo flags Ar value Oc
|
|
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 Ar fs_name Op , Ar fs_name Op ...
|
|
Include support for the file-system
|
|
.Ar fs_name .
|
|
.It Sy ident Qq Ar string
|
|
Sets the kernel identification string to
|
|
.Ar string .
|
|
.It Sy include Qq Ar filename
|
|
Functions the same as
|
|
.Ar cinclude ,
|
|
except failure to open
|
|
.Ar filename
|
|
produces a fatal error.
|
|
.It Sy options Ar option_name Op , Ar option_name=value Op ...
|
|
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 .
|
|
Note that those are eventually handled by the C compiler, so the rules
|
|
of that language apply.
|
|
.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 Ar name=value
|
|
Defines a
|
|
.Xr make 1
|
|
macro
|
|
.Ar name
|
|
with the value
|
|
.Ar value
|
|
in the kernel Makefile.
|
|
.It Sy maxusers Ar integer
|
|
Set the maxusers variable in the kernel.
|
|
.It Sy no Ar keyword Ar name Op Ar arguments Op ...
|
|
For the
|
|
.Xr config 1
|
|
.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 Ar name Op Ar N
|
|
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 disk label 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_15
|
|
Enable binary compatibility with
|
|
.Nx 1.5 .
|
|
Since there were no API changes from
|
|
.Nx 1.5
|
|
and
|
|
.Nx 1.6 ,
|
|
this option does nothing.
|
|
.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 2 .
|
|
.It Cd options COMPAT_20
|
|
Enable binary compatibility with
|
|
.Nx 2.0 .
|
|
This allows the use of old syscalls for
|
|
.Fn statfs ,
|
|
.Fn fstatfs ,
|
|
.Fn getfsstat
|
|
and
|
|
.Fn fhstatfs ,
|
|
which have been deprecated with the addition of the
|
|
.Xr statvfs 2 ,
|
|
.Xr fstatvfs 2 ,
|
|
.Xr getvfsstat 2
|
|
and
|
|
.Xr fhstatvfs 2
|
|
system calls.
|
|
.It Cd options COMPAT_30
|
|
Enable binary compatibility with
|
|
.Nx 3.0 .
|
|
See
|
|
.Xr compat_30 8
|
|
for details about the changes made after the
|
|
.Nx 3.0
|
|
release.
|
|
.It Cd options COMPAT_40
|
|
Enable binary compatibility with
|
|
.Nx 4.0 .
|
|
.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_50
|
|
Enable binary compatibility with
|
|
.Nx 5.0 .
|
|
.It Cd options COMPAT_60
|
|
Enable binary compatibility with
|
|
.Nx 6.0 .
|
|
.It Cd options COMPAT_70
|
|
Enable binary compatibility with
|
|
.Nx 7.0 .
|
|
.It Cd options COMPAT_BSDPTY
|
|
This option is currently on by default and enables the pty multiplexer
|
|
.Xr ptm 4
|
|
and
|
|
.Xr ptmx 4
|
|
to find and use ptys named
|
|
.Pa /dev/ptyXX
|
|
(master) and
|
|
.Pa /dev/ttyXX
|
|
(slave).
|
|
Eventually this option will become optional as ptyfs based pseudo-ttys become
|
|
the default, see
|
|
.Xr mount_ptyfs 8 .
|
|
.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, powerpc and
|
|
x86_64 ports.
|
|
.It Cd options COMPAT_LINUX32
|
|
On those 64 bit architectures that support it, this enables binary
|
|
compatibility with 32 bit Linux binaries.
|
|
For now this is limited to running i386 ELF Linux binaries on amd64.
|
|
.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_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_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_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 amd64 and sparc64 ports, 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 enables binary compatibility with
|
|
.Nx Ns Tn /m68k
|
|
.Xr a.out 5
|
|
executables on
|
|
.Nx Ns Tn /m68k
|
|
ELF kernels.
|
|
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 EMUL_NATIVEROOT=string
|
|
Just like emulated binaries first try looking up files in
|
|
an emulation root (e.g.
|
|
.Pa /emul/linux )
|
|
before looking them up in real root, this option causes native
|
|
binaries to first look up files in an "emulation" directory too.
|
|
This can be useful to test an amd64 kernel on top of an i386 system
|
|
before full migration: by unpacking the amd64 distribution in e.g.
|
|
.Pa /emul/netbsd64
|
|
and specifying that location as
|
|
.Cd EMUL_NATIVEROOT ,
|
|
native amd64 binaries can be run while the root file system remains
|
|
populated with i386 binaries.
|
|
Beware of
|
|
.Pa /dev
|
|
incompatibilities between i386 and amd64 if you do this.
|
|
.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.
|
|
.It Cd options P1003_1B_SEMAPHORE
|
|
Includes kernel support for the standard C library
|
|
.Pq libc
|
|
functions that implement semaphores as specified in
|
|
.St -p1003.1-96 .
|
|
.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
|
|
The default if not specified is
|
|
.Dq 1
|
|
- just enter into DDB.
|
|
If set to
|
|
.Dq 2
|
|
the kernel will
|
|
attempt to print out a stack trace before entering into DDB.
|
|
If set to
|
|
.Dq 0
|
|
the kernel will attempt to print out a stack trace
|
|
and reboot the system.
|
|
If set to
|
|
.Dq -1
|
|
then neither a stack trace is printed or DDB entered -
|
|
it is as if DDB were not compiled into the kernel.
|
|
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_COMMANDONENTER=string
|
|
This option specify commands which will be executed on each entry to DDB.
|
|
This sets the default value of the
|
|
.Em ddb.commandonenter
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time.
|
|
.It Cd options DDB_BREAK_CHAR=integer
|
|
This option overrides using break to enter the kernel debugger
|
|
on the serial console.
|
|
The value given is the ASCII value to be used instead.
|
|
This is currently only supported by the com driver.
|
|
.It Cd options DDB_VERBOSE_HELP
|
|
This option adds more verbose descriptions to the
|
|
.Em help
|
|
command.
|
|
.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
|
|
.Fl 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.
|
|
Systems with this option are not suitable for regular use, and are
|
|
intended only for debugging or looking for bugs.
|
|
.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.
|
|
Historically, the performance degradation is sufficiently small that
|
|
it is reasonable for systems with
|
|
.Em options DIAGNOSTIC
|
|
to be in production use, with the real consideration not being
|
|
performance but instead a preference for more panics versus continued
|
|
operation with undetected problems.
|
|
.It Cd options LOCKDEBUG
|
|
Adds code to the kernel to detect incorrect use of locking primitives
|
|
(mutex, rwlock).
|
|
This code will cause the kernel to check for dead lock conditions.
|
|
It will also check for memory being freed to not contain initialised
|
|
lock primitives.
|
|
Functions for use in
|
|
.Xr ddb 4
|
|
to check lock chains etc. are also enabled.
|
|
These checks are very expensive and can decrease performance on
|
|
multi-processor machines by a factor of three.
|
|
.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 KERNHIST
|
|
Enables the kernel history logs, which create in-memory traces of
|
|
various kernel activities.
|
|
These logs can be displayed by using
|
|
.Cm show kernhist
|
|
from DDB.
|
|
See the kernel source file
|
|
.Pa sys/kern/kern_history.c
|
|
for details.
|
|
.It Cd options KERNHIST_PRINT
|
|
Prints the kernel 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.
|
|
.It Cd options UVMHIST
|
|
Like
|
|
.Em KERNHIST ,
|
|
it enables the UVM history logs.
|
|
These logs can be displayed by using
|
|
.Cm show kernhist
|
|
from DDB.
|
|
See the kernel source file
|
|
.Pa sys/uvm/uvm_stat.c
|
|
for details.
|
|
.It Cd options UVMHIST_PRINT
|
|
Like
|
|
.Em UVMHIST ,
|
|
it 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
|
|
.Po Em FFS Pc .
|
|
Most machines need this if they are not running diskless.
|
|
.It Cd file-system EXT2FS
|
|
Includes code implementing the Second Extended File System
|
|
.Po Em ext2 Pc ,
|
|
revision 0 and revision 1 with the
|
|
.Em filetype ,
|
|
.Em sparse_super
|
|
and
|
|
.Em large_file
|
|
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 ext2
|
|
like the "behavior on errors" are not implemented.
|
|
See
|
|
.Xr mount_ext2fs 8
|
|
for details.
|
|
.It Cd file-system LFS
|
|
.Bq Em EXPERIMENTAL
|
|
Include the Log-structured File System
|
|
.Po Em LFS Pc .
|
|
See
|
|
.Xr mount_lfs 8
|
|
and
|
|
.Xr newfs_lfs 8
|
|
for details.
|
|
.It Cd file-system MFS
|
|
Include the Memory File System
|
|
.Po Em MFS Pc .
|
|
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
|
|
.Bq 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 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 UDF
|
|
.Bq Em EXPERIMENTAL
|
|
Includes code for the UDF file system commonly found on CD and DVD
|
|
media but also on USB sticks.
|
|
Currently supports read and write access upto UDF 2.01 and somewhat limited
|
|
write support for UDF 2.50.
|
|
It is marked experimental since there is no
|
|
.Xr fsck_udf 8 .
|
|
See
|
|
.Xr mount_udf 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
|
|
.Bq 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
|
|
.Bq 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
|
|
.Lk http://www.coda.cs.cmu.edu
|
|
for more details.
|
|
.Em NOTE :
|
|
You also need to enable the pseudo-device, vcoda, for the Coda
|
|
file system to work.
|
|
.It Cd file-system SMBFS
|
|
.Bq Em EXPERIMENTAL
|
|
Includes code for the SMB/CIFS file system.
|
|
See
|
|
.Xr mount_smbfs 8
|
|
for details.
|
|
.Em NOTE :
|
|
You also need to enable the pseudo-device, nsmb, for the SMB
|
|
file system to work.
|
|
.It Cd file-system PTYFS
|
|
.Bq Em EXPERIMENTAL
|
|
Includes code for a special file system (normally mounted on
|
|
.Pa /dev/pts )
|
|
in which pseudo-terminal slave devices become visible in the file system.
|
|
See
|
|
.Xr mount_ptyfs 8
|
|
for details.
|
|
.It Cd file-system TMPFS
|
|
Includes code for the efficient memory file system, normally used over
|
|
.Pa /tmp .
|
|
See
|
|
.Xr mount_tmpfs 8
|
|
for details.
|
|
.It Cd file-system PUFFS
|
|
Includes kernel support for the pass-to-userspace framework file system.
|
|
It can be used to implement file system functionality in userspace.
|
|
See
|
|
.Xr puffs 3
|
|
for more details.
|
|
This enables for example sshfs:
|
|
.Xr mount_psshfs 8 .
|
|
.El
|
|
.Ss File System Options
|
|
.Bl -ohang
|
|
.It Cd options MAGICLINKS
|
|
Enables the expansion of special strings
|
|
.Po
|
|
beginning with
|
|
.Dq @
|
|
.Pc
|
|
when traversing symbolic links.
|
|
See
|
|
.Xr symlink 7
|
|
for a list of supported strings.
|
|
Note that this option only controls the enabling of this feature
|
|
by the kernel at boot-up.
|
|
This feature can still be manipulated with the
|
|
.Xr sysctl 8
|
|
command regardless of the setting of this option.
|
|
.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 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
|
|
.Pa /proc/#/maps
|
|
emulation for Linux binaries is required.
|
|
.El
|
|
.Ss Options for FFS/UFS File Systems
|
|
.Bl -ohang
|
|
.It Cd options WAPBL
|
|
Enable
|
|
.Dq Write Ahead Physical Block Logging file system journaling .
|
|
This provides rapid file system consistency checking after a system outage.
|
|
It also provides better general use performance over regular FFS.
|
|
See also
|
|
.Xr wapbl 4 .
|
|
.It Cd options QUOTA
|
|
Enables kernel support for traditional quotas in FFS.
|
|
Traditional quotas store the quota information in external files and
|
|
require
|
|
.Xr quotacheck 8
|
|
and
|
|
.Xr quotaon 8
|
|
at boot time.
|
|
Traditional quotas are limited to 32-bit sizes and are at this point
|
|
considered a legacy feature.
|
|
.It Cd options QUOTA2
|
|
Enables kernel support for in-volume quotas in FFS.
|
|
The quota information is file system metadata maintained by
|
|
.Xr fsck 8
|
|
and/or WAPBL journaling.
|
|
MFS volumes can also use
|
|
.Dv QUOTA2
|
|
quotas; see
|
|
.Xr mount_mfs 8
|
|
for more information.
|
|
.It Cd options FFS_EI
|
|
Enable
|
|
.Dq 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 FFS_NO_SNAPSHOT
|
|
Disable support for the creation of file system internal snapshot
|
|
of FFS file systems.
|
|
Maybe useful for install media kernels, small memory systems and
|
|
embedded systems which don't require the snapshot support.
|
|
.It Cd options UFS_EXTATTR
|
|
Enable extended attribute support for UFS1 file systems.
|
|
.It Cd options UFS_DIRHASH
|
|
Increase lookup performance by maintaining in-core hash tables
|
|
for large directories.
|
|
.El
|
|
.Ss Options for the LFS File System
|
|
.Bl -ohang
|
|
.\" .It Cd options LFS_KERNEL_RFW
|
|
.\" There is no documentation for this. (XXX)
|
|
.\" .It Cd options LFS_QUOTA
|
|
.\" Enable traditional quota support for LFS.
|
|
.\" (It is not clear if this works.)
|
|
.\" .It Cd options LFS_QUOTA2
|
|
.\" Enable modernized 64-bit quota support for LFS.
|
|
.\" (This does not work yet.)
|
|
.It Cd options LFS_EI
|
|
Enable
|
|
.Dq Endian-Independent
|
|
LFS support.
|
|
This allows (at a small performance cost) mounting an LFS file system
|
|
created for another architecture.
|
|
.\" .It Cd options LFS_EXTATTR
|
|
.\" Enable extended attribute support for LFS.
|
|
.\" (It is not clear if this works.)
|
|
.It Cd options LFS_DIRHASH
|
|
Increase lookup performance by maintaining in-core hash tables
|
|
for large directories.
|
|
.El
|
|
.Ss Options for the ext2fs File System
|
|
.Bl -ohang
|
|
.It Cd options EXT2FS_SYSTEM_FLAGS
|
|
This option changes the behavior of the APPEND and IMMUTABLE flags
|
|
for a file on an
|
|
.Em ext2
|
|
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
|
|
and
|
|
.Xr secmodel_securelevel 9 .
|
|
.El
|
|
.Ss Options for the NFS File System
|
|
.Bl -ohang
|
|
.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_BOOTSTATIC
|
|
Enable use of static values defined as
|
|
.Dq NFS_BOOTSTATIC_MYIP ,
|
|
.Dq NFS_BOOTSTATIC_GWIP ,
|
|
.Dq NFS_BOOTSTATIC_SERVADDR ,
|
|
and
|
|
.Dq NFS_BOOTSTATIC_SERVER
|
|
in kernel options to get configuration information
|
|
if NFS is used to mount the root file system.
|
|
.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 Buffer queue strategy options
|
|
The following options enable alternative buffer queue strategies.
|
|
.Bl -ohang
|
|
.It Cd options BUFQ_READPRIO
|
|
Enable experimental buffer queue strategy for disk I/O.
|
|
In the default strategy, outstanding disk requests are ordered by
|
|
sector number and sent to the disk, regardless of whether the
|
|
operation is a read or write; this option gives priority to issuing
|
|
read requests over write requests.
|
|
Although requests may therefore be issued out of sector-order, causing
|
|
more seeks and thus lower overall throughput, interactive system
|
|
responsiveness under heavy disk I/O load may be improved, as processes
|
|
blocking on disk reads are serviced sooner (file writes typically
|
|
don't cause applications to block).
|
|
The performance effect varies greatly depending on the hardware, drive
|
|
firmware, file system configuration, workload, and desired performance
|
|
trade-off.
|
|
Systems using drive write-cache (most modern IDE disks, by default)
|
|
are unlikely to benefit and may well suffer; such disks acknowledge
|
|
writes very quickly, and optimize them internally according to
|
|
physical layout.
|
|
Giving these disks as many requests to work with as possible (the
|
|
standard strategy) will typically produce the best results, especially
|
|
if the drive has a large cache; the drive will silently complete
|
|
writes from cache as it seeks for reads.
|
|
Disks that support a large number of concurrent tagged requests (SCSI
|
|
disks and many hardware RAID controllers) expose this internal
|
|
scheduling with tagged responses, and don't block for reads; such
|
|
disks may not see a noticeable difference with either strategy.
|
|
However, if IDE disks are run with write-cache disabled for safety,
|
|
writes are not acknowledged until actually completed, and only one
|
|
request can be outstanding; a large number of small writes in one
|
|
locality can keep the disk busy, starving reads elsewhere on the disk.
|
|
Such systems are likely to see the most benefit from this option.
|
|
Finally, the performance interaction of this option with ffs soft
|
|
dependencies can be subtle, as that mechanism can drastically alter
|
|
the workload for file system metadata writes.
|
|
.It Cd options BUFQ_PRIOCSCAN
|
|
Enable another buffer queue strategy for disk I/O, per-priority cyclical scan.
|
|
.It Cd options NEW_BUFQ_STRATEGY
|
|
Synonym of
|
|
.Em BUFQ_READPRIO .
|
|
.El
|
|
.Ss Miscellaneous Options
|
|
.Bl -ohang
|
|
.It Cd options CPU_UCODE
|
|
Support cpu microcode loading via
|
|
.Xr cpuctl 8 .
|
|
.It Cd options MEMORY_DISK_DYNAMIC
|
|
This option makes the
|
|
.Xr md 4
|
|
.Tn RAM
|
|
disk size dynamically sized.
|
|
It is incompatible with
|
|
.Xr mdsetimage 8 .
|
|
.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 MEMORY_DISK_SERVER=0
|
|
Do not include the interface to a userland memory disk server process.
|
|
Per default, this option is set to 1, including the support code.
|
|
Useful for install media kernels.
|
|
.It Cd options MEMORY_DISK_RBFLAGS=value
|
|
This option sets the
|
|
.Xr reboot 2
|
|
flags used when booting with a memory disk as root file system.
|
|
Possible values include
|
|
.Dv RB_AUTOBOOT
|
|
(boot in the usual fashion - default value), and
|
|
.Dv RB_SINGLE
|
|
(boot in single-user mode).
|
|
.It Cd options MODULAR
|
|
Enables the framework for kernel modules (see
|
|
.Xr module 7 ) .
|
|
.It Cd options MODULAR_DEFAULT_AUTOLOAD
|
|
Enables the autoloading of kernel modules by default.
|
|
This sets the default value of the
|
|
.Em kern.module.autoload
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time.
|
|
.It Cd options VND_COMPRESSION
|
|
Enables the
|
|
.Xr vnd 4
|
|
driver to also handle compressed images.
|
|
See
|
|
.Xr vndcompress 1 ,
|
|
.Xr vnd 4
|
|
and
|
|
.Xr vnconfig 8
|
|
for more information.
|
|
.It Cd options SPLDEBUG
|
|
Help the kernel programmer find bugs related to the interrupt priority
|
|
level.
|
|
When
|
|
.Fn spllower
|
|
or
|
|
.Fn splraise
|
|
changes the current CPU's interrupt priority level to or from
|
|
.Dv IPL_HIGH ,
|
|
record a backtrace.
|
|
Read
|
|
.Xr return_address 9
|
|
for caveats about collecting backtraces.
|
|
This feature is experimental, and it is only available on i386.
|
|
See
|
|
.Pa sys/kern/subr_spldebug.c .
|
|
.It Cd options TFTPROOT
|
|
Download the root memory disk through TFTP at root mount time.
|
|
This enables the use of a root
|
|
.Tn RAM
|
|
disk without requiring it to be embedded in the kernel using
|
|
.Xr mdsetimage 8 .
|
|
The
|
|
.Tn RAM
|
|
disk name is obtained using DHCP's filename parameter.
|
|
This option requires
|
|
.Em MEMORY_DISK_HOOKS ,
|
|
.Em MEMORY_DISK_DYNAMIC ,
|
|
and
|
|
.Em MEMORY_DISK_IS_ROOT .
|
|
It is incompatible with
|
|
.Em MEMORY_DISK_ROOT_SIZE .
|
|
.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.
|
|
.Pp
|
|
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.
|
|
.Po
|
|
The
|
|
.Em NTP
|
|
option (which see) must be on if the
|
|
.Em PPS_SYNC
|
|
option is used
|
|
.Pc .
|
|
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.
|
|
.Pp
|
|
.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
|
|
.Tn TTL
|
|
to
|
|
.Tn 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 .
|
|
.Pp
|
|
.Nx
|
|
currently supports this option in
|
|
.Xr com 4
|
|
and
|
|
.Xr zsc 4 .
|
|
.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 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,
|
|
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 MAXFILES=integer
|
|
Sets the default value of the
|
|
.Em kern.maxfiles
|
|
sysctl variable, which indicates the maximum number of files that may
|
|
be open in the system.
|
|
.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 with
|
|
.Xr config 1
|
|
.Fl x ,
|
|
or 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.
|
|
.It Cd options SYSCALL_STATS
|
|
Count the number of times each system call number is called.
|
|
The values can be read through the sysctl interface and displayed using
|
|
.Xr systat 1 .
|
|
.Em NOTE :
|
|
not yet available on all architectures.
|
|
.It Cd options SYSCALL_TIMES
|
|
Count the time spent (using
|
|
.Fn cpu_counter32 )
|
|
in each system call.
|
|
.Em NOTE :
|
|
Using this option will also enable
|
|
.Cd options SYSCALL_STATS .
|
|
.It Cd options SYSCALL_TIMES_HASCOUNTER
|
|
Force use of
|
|
.Fn cpu_counter32
|
|
even if
|
|
.Fn cpu_hascounter
|
|
reports false.
|
|
Useful for systems where the cycle counter doesn't run at a constant rate
|
|
(e.g. Soekris boxes).
|
|
.It Cd options XSERVER_DDB
|
|
A supplement to XSERVER that adds support for entering
|
|
.Xr ddb 4
|
|
while in
|
|
.Tn X11 .
|
|
.It Cd options FILEASSOC
|
|
Support for
|
|
.Xr fileassoc 9 .
|
|
.It Cd options FILEASSOC_NHOOKS=integer
|
|
Number of storage slots per file for
|
|
.Xr fileassoc 9 .
|
|
Default is 4.
|
|
.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 ) .
|
|
.Em GATEWAY
|
|
option also compiles IPv4 and IPv6 fast forwarding code into the kernel.
|
|
.It Cd options ICMPPRINTFS
|
|
The
|
|
.Em ICMPPRINTFS
|
|
option will enable debugging information to be printed about
|
|
the
|
|
.Xr icmp 4
|
|
protocol.
|
|
.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 IPSELSRC
|
|
Includes support for source-address selection policies.
|
|
See
|
|
.Xr in_getifa 9 .
|
|
.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.
|
|
See also option
|
|
.Cd PIM .
|
|
.It Cd options PIM
|
|
Includes support for Protocol Independent Multicast (PIM) routing.
|
|
You need
|
|
.Em MROUTING
|
|
and
|
|
.Em INET
|
|
with this.
|
|
Software using this can be found e.g. in
|
|
.Pa pkgsrc/net/xorp .
|
|
.It Cd options INET
|
|
Includes support for the
|
|
.Tn TCP/IP
|
|
protocol stack.
|
|
You almost certainly want this.
|
|
See
|
|
.Xr inet 4
|
|
for details.
|
|
.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, using the implementation derived from
|
|
.Ox ,
|
|
relying on
|
|
.Xr opencrypto 9
|
|
to carry out cryptographic operations.
|
|
See
|
|
.Xr fast_ipsec 4
|
|
for details.
|
|
.It Cd options IPSEC_DEBUG
|
|
Enables debugging code in
|
|
.Tn IPsec
|
|
stack.
|
|
See
|
|
.Xr ipsec 4
|
|
for details.
|
|
The
|
|
.Cd IPSEC
|
|
option includes support for
|
|
.Tn IPsec
|
|
Network Address Translator traversal (NAT-T), as described in RFCs 3947
|
|
and 3948.
|
|
This feature might be patent-encumbered in some countries.
|
|
.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.
|
|
HFSC 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
|
|
Include support for ALTQ-implemented JoBS (Joint Buffer Management
|
|
and Scheduling).
|
|
This option assumes
|
|
.Em ALTQ .
|
|
.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 adapters,
|
|
.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 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 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 BLUETOOTH
|
|
Include support for the
|
|
.Tn Bluetooth
|
|
protocol stack.
|
|
See
|
|
.Xr bluetooth 4
|
|
for details.
|
|
.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 IPFILTER_LOG
|
|
This option, in conjunction with
|
|
.Em pseudo-device ipfilter ,
|
|
enables logging of IP packets using IP-Filter.
|
|
.It Cd options IPFILTER_LOOKUP
|
|
This option enables the
|
|
IP-Filter
|
|
.Xr ippool 8
|
|
functionality to be enabled.
|
|
.It Cd options IPFILTER_COMPAT
|
|
This option enables older IP-Filter binaries to work.
|
|
.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 Sysctl Related Options
|
|
.Bl -ohang
|
|
.It Cd options SYSCTL_DISALLOW_CREATE
|
|
Disallows the creation or deletion of nodes from the sysctl tree, as
|
|
well as the assigning of descriptions to nodes that lack them, by any
|
|
process.
|
|
These operations are still available to kernel sub-systems, including
|
|
loadable kernel modules.
|
|
.It Cd options SYSCTL_DISALLOW_KWRITE
|
|
Prevents processes from adding nodes to the sysctl tree that make
|
|
existing kernel memory areas writable.
|
|
Sections of kernel memory can still be read and new nodes that own
|
|
their own data may still be writable.
|
|
.It Cd options SYSCTL_DEBUG_SETUP
|
|
Causes the SYSCTL_SETUP routines to print a brief message when they
|
|
are invoked.
|
|
This is merely meant as an aid in determining the order in which
|
|
sections of the tree are created.
|
|
.It Cd options SYSCTL_DEBUG_CREATE
|
|
Prints a message each time
|
|
.Fn sysctl_create ,
|
|
the function that adds nodes to the tree, is called.
|
|
.It Cd options SYSCTL_INCLUDE_DESCR
|
|
Causes the kernel to include short, human readable descriptions for
|
|
nodes in the sysctl tree.
|
|
The descriptions can be retrieved programmatically (see
|
|
.Xr sysctl 3 ) ,
|
|
or by the sysctl binary itself (see
|
|
.Xr sysctl 8 ) .
|
|
The descriptions are meant to give an indication of the purpose and/or
|
|
effects of a given node's value, not replace the documentation for the
|
|
given subsystem as a whole.
|
|
.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.
|
|
.It Cd options VMSWAP
|
|
Enable paging device/file support.
|
|
This option is on by default.
|
|
.It Cd options PDPOLICY_CLOCKPRO
|
|
Use CLOCK-Pro, an alternative page replace policy.
|
|
.El
|
|
.Ss Security Options
|
|
.Bl -ohang
|
|
.It Cd options INSECURE
|
|
Initializes the kernel security level with \-1 instead of 0.
|
|
This means that the system always starts in secure level \-1 mode, even when
|
|
running multiuser, unless the securelevel variable is set to value > \-1 in
|
|
.Pa /etc/rc.conf .
|
|
In this case the kernel security level will be raised to that value when the
|
|
.Pa /etc/rc.d/securelevel
|
|
script is run during system startup.
|
|
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 secmodel_securelevel 9 ,
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3 .
|
|
.It Cd options VERIFIED_EXEC_FP_MD5
|
|
Enables support for MD5 hashes in Veriexec.
|
|
.It Cd options VERIFIED_EXEC_FP_SHA1
|
|
Enables support for SHA1 hashes in Veriexec.
|
|
.It Cd options VERIFIED_EXEC_FP_RMD160
|
|
Enables support for RMD160 hashes in Veriexec.
|
|
.It Cd options VERIFIED_EXEC_FP_SHA256
|
|
Enables support for SHA256 hashes in Veriexec.
|
|
.It Cd options VERIFIED_EXEC_FP_SHA384
|
|
Enables support for SHA384 hashes in Veriexec.
|
|
.It Cd options VERIFIED_EXEC_FP_SHA512
|
|
Enables support for SHA512 hashes in Veriexec.
|
|
.It Cd options PAX_MPROTECT=value
|
|
Enables PaX MPROTECT,
|
|
.Xr mprotect 2
|
|
restrictions from the PaX project.
|
|
.Pp
|
|
The
|
|
.Ar value
|
|
is the default value for the
|
|
.Em global
|
|
knob, see
|
|
.Xr sysctl 3 .
|
|
If 0, PaX MPROTECT will be enabled only if explicitly set on programs
|
|
using
|
|
.Xr paxctl 8 .
|
|
If 1, PaX MPROTECT will be enabled for all programs.
|
|
Programs can be exempted using
|
|
.Xr paxctl 8 .
|
|
.Pp
|
|
See
|
|
.Xr security 7
|
|
for more details.
|
|
.It Cd options PAX_SEGVGUARD=value
|
|
Enables PaX Segvguard.
|
|
.Pp
|
|
The
|
|
.Ar value
|
|
is the default value for the
|
|
.Em global
|
|
knob, see
|
|
.Xr sysctl 3 .
|
|
If 0, PaX Segvguard will be enabled only if explicitly set on programs
|
|
using
|
|
.Xr paxctl 8 .
|
|
If 1, PaX Segvguard will be enabled to all programs, and exemption can
|
|
be done using
|
|
.Xr paxctl 8 .
|
|
.Pp
|
|
See
|
|
.Xr security 7
|
|
for more details.
|
|
.It Cd options PAX_ASLR=value
|
|
Enables PaX ASLR.
|
|
.Pp
|
|
The
|
|
.Ar value
|
|
is the default value for the
|
|
.Em global
|
|
knob, see
|
|
.Xr sysctl 3 .
|
|
If 0, PaX ASLR will be enabled only if explicitly set on programs
|
|
using
|
|
.Xr paxctl 8 .
|
|
If 1, PaX ASLR will be enabled to all programs, and exemption can
|
|
be done using
|
|
.Xr paxctl 8 .
|
|
.Pp
|
|
See
|
|
.Xr security 7
|
|
for more details.
|
|
.It Cd options USER_VA0_DISABLE_DEFAULT=value
|
|
Sets the initial value of the flag which controls whether user programs
|
|
can map virtual address 0.
|
|
The flag can be changed at runtime by
|
|
.Xr sysctl 3 .
|
|
.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 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 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 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 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 PAE
|
|
Enable
|
|
.Tn PAE (Physical Address Extension)
|
|
mode.
|
|
.Tn PAE
|
|
permits up to 36 bits physical addressing (64GB of physical memory), and
|
|
turns physical addresses to 64 bits entities in the memory management
|
|
subsystem.
|
|
Userland virtual address space remains at 32 bits (4GB).
|
|
.Tn PAE
|
|
mode is required to enable the
|
|
.Tn NX/XD (No-eXecute/eXecute Disable)
|
|
bit for pages, which allows marking certain ones as not being executable.
|
|
Any attempt to execute code from such a page will raise an exception.
|
|
.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 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 .
|
|
.It Cd options BEEP_ONHALT
|
|
Make the system speaker emit several beeps when it is completely safe to
|
|
power down the computer after a
|
|
.Xr halt 8
|
|
command.
|
|
Requires
|
|
.Xr sysbeep 4
|
|
support.
|
|
.It Cd options BEEP_ONHALT_COUNT=times
|
|
Number of times to beep the speaker when
|
|
.Cd options BEEP_ONHALT
|
|
is enabled.
|
|
Defaults to 3.
|
|
.It Cd options BEEP_ONHALT_PITCH=hz
|
|
The tone frequency used when
|
|
.Cd options BEEP_ONHALT
|
|
option, in hertz.
|
|
Defaults to 1500.
|
|
.It Cd options BEEP_ONHALT_PERIOD=msecs
|
|
The duration of each beep when
|
|
.Cd options BEEP_ONHALT
|
|
is enabled, in milliseconds.
|
|
Defaults to 250.
|
|
.It Cd options MULTIBOOT
|
|
Makes the kernel Multiboot-compliant, allowing it to be booted through
|
|
a Multiboot-compliant boot manager such as GRUB.
|
|
See
|
|
.Xr multiboot 8
|
|
for more information.
|
|
.It Cd options SPLASHSCREEN
|
|
Display a splash screen during boot.
|
|
.It Cd options SPLASHSCREEN_PROGRESS
|
|
Display a progress bar at the splash screen during boot.
|
|
This option requires
|
|
.Em SPLASHSCREEN .
|
|
.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
|
|
.It Cd options PCKBC_CNATTACH_SELFTEST
|
|
Perform a self test of the keyboard controller before attaching it as a
|
|
console.
|
|
This might be necessary on machines where we boot on cold iron, and
|
|
pckbc refuses to talk until we request a self test.
|
|
Currently only the netwinder port uses it.
|
|
.It Cd options PCKBD_CNATTACH_MAY_FAIL
|
|
If this option is set the PS/2 keyboard will not be used as the console
|
|
if it cannot be found during boot.
|
|
This allows other keyboards, like USB, to be the console keyboard.
|
|
.It Cd options PCKBD_LAYOUT=layout
|
|
Sets the default keyboard layout, see
|
|
.Xr pckbd 4 .
|
|
.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 powerpc-specific Options (OEA Only)
|
|
.Bl -ohang
|
|
.It Cd options PMAP_MEMLIMIT=value
|
|
Limit the amount of memory seen by the kernel to
|
|
.Ar value
|
|
bytes.
|
|
.It Cd options PTEGCOUNT=value
|
|
Specify the size of the page table as
|
|
.Ar value
|
|
PTE groups.
|
|
Normally, one PTEG is allocated per physical page frame.
|
|
.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 config 1 ,
|
|
.Xr gdb 1 ,
|
|
.Xr ktrace 1 ,
|
|
.Xr pmc 1 ,
|
|
.Xr quota 1 ,
|
|
.Xr vndcompress 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 reboot 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 md 4 ,
|
|
.Xr pcibios 4 ,
|
|
.Xr pcmcia 4 ,
|
|
.Xr ppp 4 ,
|
|
.Xr userconf 4 ,
|
|
.Xr vnd 4 ,
|
|
.Xr wscons 4 ,
|
|
.Xr config 5 ,
|
|
.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_udf 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 ,
|
|
.Xr in_getifa 9
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
man page first appeared in
|
|
.Nx 1.3 .
|
|
.Sh BUGS
|
|
The
|
|
.Em EON
|
|
option should be a pseudo-device, and is also very fragile.
|