1678 lines
47 KiB
Groff
1678 lines
47 KiB
Groff
.\" $NetBSD: options.4,v 1.120 2000/09/21 11:44:53 bjh21 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 29, 2000
|
|
.Os
|
|
.Dt OPTIONS 4
|
|
.Sh NAME
|
|
.Nm options
|
|
.Nd Miscellaneous kernel configuration options
|
|
.Sh SYNOPSIS
|
|
.Cd options ...
|
|
.Sh DESCRIPTION
|
|
This manual page describes a number of miscellaneous kernel
|
|
configuration options that may be specified in a kernel config
|
|
file.
|
|
See
|
|
.Xr config 8
|
|
for information on how to configure and build kernels.
|
|
.Em Note:
|
|
Options are passed to the compile process as -D flags to the C
|
|
compiler.
|
|
.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 filesystem 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 filesystem 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.
|
|
.It Cd options COMPAT_11
|
|
Enable binary compatibility with
|
|
.Nx 1.1 .
|
|
This allows binaries running on the i386 port to gain direct access to
|
|
the io ports by opening
|
|
.Pa /dev/io
|
|
read/write.
|
|
This functionality was replaced by
|
|
.Xr i386_iopl 2
|
|
post 1.1.
|
|
On the
|
|
.Tn Atari
|
|
port, the location of the disk label was moved after 1.1.
|
|
When the
|
|
.Em COMPAT_11
|
|
option is set, the kernel will read (pre) 1.1 style disk labels as a
|
|
last resort.
|
|
When a disklabel is re-written, the old style label will be replaced
|
|
with a post 1.1 style label.
|
|
.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.
|
|
.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_43
|
|
Enables compatibility with
|
|
.Bx 4.3 .
|
|
This adds an old syscall for
|
|
.Xr lseek 2 .
|
|
It also adds the ioctls for
|
|
.Dv TIOCGETP
|
|
and
|
|
.Dv TIOCSETP .
|
|
The return values for
|
|
.Xr getpid 2 ,
|
|
.Xr getgid 2 ,
|
|
and
|
|
.Xr getuid 2
|
|
syscalls are modified as well, to return the parent's pid and
|
|
uid as well as the current process's.
|
|
It also enables the deprecated
|
|
.Dv NTTYDISC
|
|
terminal line discipline.
|
|
It also provides backwards compatibility with
|
|
.Dq old
|
|
SIOC[GS]IF{ADDR,DSTADDR,BRDADDR,NETMASK} interface ioctls, including
|
|
binary compatibility with code written before the introduction of the
|
|
sa_len field in sockaddrs.
|
|
It also enables
|
|
support for some older pre
|
|
.Bx 4.4
|
|
socket calls.
|
|
.It Cd options COMPAT_SVR4
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.At V.4
|
|
applications built for the same architecture.
|
|
This currently includes the i386, m68k and sparc port.
|
|
.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, i386, and m68k port.
|
|
.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 and most or all m68k ports.
|
|
.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_HPUX
|
|
On those architectures that support it, this enables binary
|
|
compatibility with
|
|
.Tn HP/UX
|
|
applications built for the same architecture.
|
|
This is limited to the hp300 port, and has some known bugs.
|
|
A limited set of programs do work.
|
|
.It Cd options COMPAT_IBCS2
|
|
On those architectures that support it, this enables binary
|
|
compatibility with iBCS2 or SVR3 applications built for the same architecture.
|
|
This is currently limited to the i386 and vax ports.
|
|
.It Cd options COMPAT_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.
|
|
.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,
|
|
It not explicitly specified, the default value is "1".
|
|
Note that this sets the value of the
|
|
.Em ddb.fromconsole
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time -- see
|
|
.Xr sysctl 8
|
|
for details.
|
|
.It Cd options DDB_HISTORY_SIZE=integer
|
|
If this is non-zero, enable history editing in the kernel debugger
|
|
and set the size of the history to this value.
|
|
.It Cd options DDB_ONPANIC
|
|
If set to non-zero, the DDB will be entered upon kernel panic.
|
|
The default if not specified is "1".
|
|
Note that this sets the value of the
|
|
.Em ddb.onpanic
|
|
.Xr sysctl 3
|
|
variable which may be changed at run time -- see
|
|
.Xr sysctl 8
|
|
for details.
|
|
.It Cd options DDB_BREAK_CHAR=integer
|
|
This option overrides the using break to enter the kernel debugger
|
|
on the serial console.
|
|
The value given will is the ascii value to be used instead.
|
|
This is currently only supported by the com driver.
|
|
.It Cd options KGDB
|
|
Compiles in a remote kernel debugger stub for diagnosing kernel problems
|
|
using the
|
|
.Dq remote target
|
|
feature of gdb.
|
|
See
|
|
.Xr gdb 1
|
|
for details.
|
|
.Em NOTE:
|
|
not available on all architectures.
|
|
.It Cd makeoptions DEBUG="-g"
|
|
The -g flag causes
|
|
.Pa netbsd.gdb
|
|
to be built in addition to
|
|
.Pa netbsd .
|
|
.Pa netbsd.gdb
|
|
is useful for debugging kernel crash dumps with gdb.
|
|
The command
|
|
.Dl gdb -k
|
|
invokes gdb in kernel debugger mode.
|
|
See
|
|
.Xr gdb 1
|
|
for details.
|
|
This also turns on
|
|
.Em options DEBUG
|
|
(which see).
|
|
.It Cd options DEBUG
|
|
Turns on miscellaneous kernel debugging.
|
|
Since options are turned into preprocessor defines (see above),
|
|
.Em options DEBUG
|
|
is equivalent to doing a
|
|
.Em #define DEBUG
|
|
throughout the kernel.
|
|
Much of the kernel has
|
|
.Em #ifdef DEBUG
|
|
conditionalized debugging code.
|
|
Note that many parts of the kernel (typically device drivers) include their own
|
|
.Em #ifdef XXX_DEBUG
|
|
conditionals instead.
|
|
This option also turns on certain other options,
|
|
which may decrease system performance.
|
|
.It Cd options DIAGNOSTIC
|
|
Adds code to the kernel that does internal consistency checks.
|
|
This code will cause the kernel to panic if corruption of internal data
|
|
structures is detected.
|
|
.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.
|
|
.El
|
|
.Ss File Systems
|
|
.Bl -ohang
|
|
.It Cd file-system FFS
|
|
Includes code implementing the Berkeley Fast File System
|
|
.Em ( FFS ) .
|
|
Most machines need this if they are not running diskless.
|
|
.It Cd file-system EXT2FS
|
|
Includes code implementing the Second Extended File System
|
|
.Em ( EXT2FS )
|
|
, revision 0 and revision 1 with the
|
|
.Em filetype
|
|
and
|
|
.Em spase_super
|
|
options. This is the most commonly used file system on the Linux operating
|
|
system, and is provided here for compatibility.
|
|
Some of the specific features of
|
|
.Em EXT2FS
|
|
like the "behavior on errors" are not implemented.
|
|
This file system can't be used with UID or GID greater than 65535.
|
|
See
|
|
.Xr mount_ext2fs 8
|
|
for details.
|
|
.It Cd file-system LFS
|
|
.Em [EXPERIMENTAL]
|
|
Include the Log-structured File System
|
|
.Em ( LFS ) .
|
|
See
|
|
.Xr mount_lfs 8
|
|
and
|
|
.Xr newlfs 8
|
|
for details.
|
|
.It Cd file-system MFS
|
|
Include the Memory File System
|
|
.Em ( MFS ) .
|
|
This file system stores files in swappable memory, and produces
|
|
notable performance improvements when it is used as the file store
|
|
for
|
|
.Pa /tmp
|
|
and similar file systems.
|
|
See
|
|
.Xr mount_mfs 8
|
|
for details.
|
|
.It Cd file-system NFS
|
|
Include the client side of the Network File System
|
|
.Pq Tn NFS
|
|
remote file sharing protocol.
|
|
Although the bulk of the code implementing
|
|
.Tn NFS
|
|
is kernel based, several user level daemons are needed for it to work.
|
|
See
|
|
.Xr mount_nfs 8
|
|
for details.
|
|
.It Cd file-system CD9660
|
|
Includes code for the
|
|
.Tn ISO
|
|
9660 + Rock Ridge file system, which is the standard file system on many
|
|
.Tn CD-ROM
|
|
discs.
|
|
Useful primarily if you have a
|
|
.Tn CD-ROM
|
|
drive.
|
|
See
|
|
.Xr mount_cd9660 8
|
|
for details.
|
|
.It Cd file-system MSDOSFS
|
|
Includes the
|
|
.Tn MS-DOS
|
|
FAT file system, which is reportedly still used
|
|
by unfortunate people who have not heard about
|
|
.Nx .
|
|
Also implements the
|
|
.Tn Windows 95
|
|
extensions to the same, which permit the use of longer, mixed case
|
|
file names.
|
|
See
|
|
.Xr mount_msdos 8
|
|
and
|
|
.Xr fsck_msdos 8
|
|
for details.
|
|
.It Cd file-system NTFS
|
|
[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
|
|
pseudodevice driver already provides identical functionality.
|
|
On most
|
|
.Nx
|
|
systems, instances of
|
|
.Xr fd 4
|
|
are mknoded under
|
|
.Pa /dev/fd/
|
|
and on
|
|
.Pa /dev/stdin ,
|
|
.Pa /dev/stdout ,
|
|
and
|
|
.Pa /dev/stderr .
|
|
.It Cd file-system KERNFS
|
|
Includes code which permits the mounting of a special file system
|
|
(normally mounted on
|
|
.Pa /kern )
|
|
in which files representing various kernel variables and parameters
|
|
may be found.
|
|
See
|
|
.Xr mount_kernfs 8
|
|
for details.
|
|
.It Cd file-system NULLFS
|
|
Includes code for a loopback file system.
|
|
This permits portions of the file hierarchy to be re-mounted in other places.
|
|
The code really exists to provide an example of a stackable file system layer.
|
|
See
|
|
.Xr mount_null 8
|
|
for details.
|
|
.It Cd file-system OVERLAY
|
|
Includes code for a file system filter.
|
|
This permits the overlay file system to intercept all access to an underlying
|
|
file system. This file system is intended to serve as an example of
|
|
a stacking file system which has a need to interpose itself between an
|
|
underlying file system and all other access.
|
|
See
|
|
.Xr mount_overlay 8
|
|
for details.
|
|
.It Cd file-system PORTAL
|
|
.Em [EXPERIMENTAL]
|
|
Includes the portal filesystem.
|
|
This permits interesting tricks like opening
|
|
.Tn TCP
|
|
sockets by opening files in the file system.
|
|
The portal file system is conventionally mounted on
|
|
.Pa /p
|
|
and is partially implemented by a special daemon.
|
|
See
|
|
.Xr mount_portal 8
|
|
for details.
|
|
.It Cd file-system PROCFS
|
|
Includes code for a special file system (conventionally mounted on
|
|
.Pa /proc )
|
|
in which the process space becomes visible in the file system.
|
|
Among
|
|
other things, the memory spaces of processes running on the system are
|
|
visible as files, and signals may be sent to processes by writing to
|
|
.Pa ctl
|
|
files in the procfs namespace.
|
|
See
|
|
.Xr mount_procfs 8
|
|
for details.
|
|
.It Cd file-system UMAPFS
|
|
Includes a loopback file system in which user and group ids may be
|
|
remapped -- this can be useful when mounting alien file systems with
|
|
different uids and gids than the local system.
|
|
See
|
|
.Xr mount_umap 8
|
|
for details.
|
|
.It Cd file-system UNION
|
|
.Em [EXPERIMENTAL]
|
|
Includes code for the union file system, which permits directories to
|
|
be mounted on top of each other in such a way that both file systems
|
|
remain visible -- this permits tricks like allowing writing (and the
|
|
deleting of files) on a read-only file system like a
|
|
.Tn CD-ROM
|
|
by mounting a local writable file system on top of the read-only file system.
|
|
See
|
|
.Xr mount_union 8
|
|
for details.
|
|
.It Cd file-system CODA
|
|
.Em [EXPERIMENTAL]
|
|
Includes code for the Coda file system.
|
|
Coda is a distributed file system like NFS and AFS. It is
|
|
freely available, like NFS, but it functions much like AFS in being a
|
|
"stateful" file system. Both Coda and AFS cache files on your local
|
|
machine to improve performance. Then Coda goes a step further than AFS
|
|
by letting you access the cached files when there is no available
|
|
network, viz. disconnected laptops and network outages. In Coda, both
|
|
the client and server are outside the kernel which makes them easier
|
|
to experiment with. Coda is available for several UNIX and non-UNIX
|
|
platforms.
|
|
See http://www.coda.cs.cmu.edu for more details.
|
|
NOTE: You also need to enable the pseudo-device, vcoda, for the Coda
|
|
filesystem to work.
|
|
.El
|
|
.Ss File System Options
|
|
.Bl -ohang
|
|
.It Cd options NFSSERVER
|
|
Include the server side of the
|
|
.Em NFS
|
|
(Network File System) remote file sharing protocol.
|
|
Although the bulk of the code implementing
|
|
.Em NFS
|
|
is kernel based, several user level daemons are needed for it to
|
|
work.
|
|
See
|
|
.Xr mountd 8
|
|
and
|
|
.Xr nfsd 8
|
|
for details.
|
|
.It Cd options QUOTA
|
|
Enables kernel support for file system quotas.
|
|
See
|
|
.Xr quotaon 8 ,
|
|
.Xr edquota 8 ,
|
|
and
|
|
.Xr quota 1
|
|
for details.
|
|
Note that quotas only work on
|
|
.Dq ffs
|
|
file systems, although
|
|
.Xr rpc.rquotad 8
|
|
permits them to be accessed over
|
|
.Em NFS .
|
|
.It Cd options FFS_EI
|
|
Enable ``Endian-Independent'' FFS support.
|
|
This allows a system to mount an FFS filesystem created for another
|
|
architecture, at a small performance cost for all FFS filesytems.
|
|
See also
|
|
.Xr newfs 8 ,
|
|
.Xr fsck_ffs 8 ,
|
|
.Xr dumpfs 8
|
|
for filesystem byte order status and manipulation.
|
|
.It Cd options NVNODE=integer
|
|
This option sets the size of the cache used by the name-to-inode translation
|
|
routines, (a.k.a. the
|
|
.Fn namei
|
|
cache, though called by many other names in the kernel source).
|
|
By default, this cache has
|
|
.Dv NPROC
|
|
(set as 20 + 16 * MAXUSERS) * (80 + NPROC / 8) entries.
|
|
A reasonable way to derive a value of
|
|
.Dv NVNODE ,
|
|
should you notice a large number of namei cache misses with a tool such as
|
|
.Xr systat 1 ,
|
|
is to examine your system's current computed value with
|
|
.Xr sysctl 8 ,
|
|
(which calls this parameter "kern.maxvnodes") and to increase this value
|
|
until either the namei cache hit rate improves or it is determined that
|
|
your system does not benefit substantially from an increase in the size of
|
|
the namei cache.
|
|
.It Cd options EXT2FS_SYSTEM_FLAGS
|
|
This option changes the behavior of the APPEND and IMMUTABLE flags
|
|
for a file on an
|
|
.Em EXT2FS
|
|
filesystem.
|
|
Without this option, the superuser or owner of the file can
|
|
set and clear them.
|
|
With this option, only the superuser can set them, and
|
|
they can't be cleared if the securelevel is greater than 0.
|
|
See also
|
|
.Xr chflags 1 .
|
|
.It Cd options NFS_BOOT_BOOTP
|
|
Enable use of the BOOTP protocol (RFC 951, 1048) to get configuration
|
|
information if NFS is used to mount the root file system.
|
|
See
|
|
.Xr diskless 8
|
|
for details.
|
|
.It Cd options NFS_BOOT_DHCP
|
|
Same as
|
|
.Dq NFS_BOOT_BOOTP
|
|
, but use the DHCP extensions to the
|
|
BOOTP protocol (RFC 1541).
|
|
.It Cd options NFS_BOOT_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 filesystem. See
|
|
.Xr mount_nfs 8
|
|
for details.
|
|
.It Cd options NFS_V2_ONLY
|
|
Reduce the size of the NFS client code by omitting code that's only required
|
|
for NFSv3 and NQNFS support, leaving only that code required to use NFSv2
|
|
servers.
|
|
.El
|
|
.Ss Miscellaneous Options
|
|
.Bl -ohang
|
|
.It Cd options LKM
|
|
Enable loadable kernel modules.
|
|
See
|
|
.Xr lkm 4
|
|
for details.
|
|
.Em NOTE :
|
|
not available on all architectures.
|
|
.It Cd options INSECURE
|
|
Hardwires the kernel security level at -1.
|
|
This means that the system
|
|
always runs in secure level 0 mode, even when running multiuser.
|
|
See the manual page for
|
|
.Xr init 8
|
|
for details on the implications of this.
|
|
The kernel secure level may manipulated by the superuser by altering the
|
|
.Em kern.securelevel
|
|
.Xr sysctl 3
|
|
variable (the secure level may only be lowered by a call from process ID 1,
|
|
i.e.
|
|
.Xr init 8 ) .
|
|
See also
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3 .
|
|
.It Cd options UCONSOLE
|
|
Normally, only the superuser can execute the
|
|
.Dv TIOCCONS
|
|
.Xr ioctl 2 ,
|
|
which redirects console output to a non-console tty.
|
|
See
|
|
.Xr tty 4
|
|
for details.
|
|
This option permits any user to execute the
|
|
.Dv TIOCCONS
|
|
.Xr ioctl 2 .
|
|
This is useful on
|
|
machines such as personal workstations which run
|
|
.Xr X 1
|
|
servers, where one would prefer to permit console output to be
|
|
viewed in a window without requiring a suid root program to do it.
|
|
.It Cd options MEMORY_DISK_HOOKS
|
|
This option allows for some machine dependent functions to be called when
|
|
the
|
|
.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
|
|
.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 VNODE_OP_NOINLINE
|
|
Do not inline the VOP_*() calls in the kernel.
|
|
On i386 GENERIC, this saves 36k of kernel text. Useful
|
|
for install media kernels, small memory systems and embedded systems.
|
|
.It Cd options NTP
|
|
Turns on in-kernel precision timekeeping support used by software
|
|
implementing
|
|
.Em NTP
|
|
(Network Time Protocol, RFC1305).
|
|
The
|
|
.Em NTP
|
|
option adds an in-kernel Phase-Locked Loop (PLL) for normal
|
|
.Em NTP
|
|
operation, and a Frequency-Locked Loop (FLL) for intermittently-connected
|
|
operation.
|
|
.Xr ntpd 8
|
|
will employ a user-level PLL when kernel support is unavailable,
|
|
but the in-kernel version has lower latency and more precision, and
|
|
so typically keeps much better time.
|
|
The interface to the kernel
|
|
.Em NTP
|
|
support is provided by the
|
|
.Xr ntp_adjtime 2
|
|
and
|
|
.Xr ntp_gettime 2
|
|
system calls, which are intended for use by
|
|
.Xr ntpd 8
|
|
and are enabled by the option.
|
|
On systems with sub-microsecond resolution timers, or where (HZ / 100000)
|
|
is not an integer, the
|
|
.Em NTP
|
|
option also enables extended-precision arithmetic to keep track of
|
|
fractional clock ticks at NTP time-format precision.
|
|
.It Cd options PPS_SYNC
|
|
This option enables a kernel serial line discipline for receiving time
|
|
phase signals from an external reference clock such as a radio clock.
|
|
(The
|
|
.Em NTP
|
|
option (which see) must be on if the
|
|
.Em PPS_SYNC
|
|
option is used.)
|
|
Some reference clocks generate a Pulse Per Second (PPS) signal in
|
|
phase with their time source.
|
|
The
|
|
.Em PPS
|
|
line discipline receives this signal on either the data leads
|
|
or the DCD control lead of a serial port.
|
|
.Em NTP
|
|
uses the PPS signal to discipline the local clock oscillator to a high
|
|
degree of precision (typically less than 50 microseconds in time and
|
|
0.1 ppm in accuracy).
|
|
.Em PPS
|
|
can also generate a serial output pulse when the system receives a PPS
|
|
interrupt.
|
|
This can be used to measure the system interrupt latency and thus calibrate
|
|
.Em NTP
|
|
to account for it.
|
|
Using
|
|
.Em PPS
|
|
usually requires a
|
|
gadget box
|
|
to convert from TTL to RS-232 signal levels.
|
|
The gadget box and PPS are described in more detail in the HTML documentation
|
|
shipped with the ntpd distribution.
|
|
.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 option FDSCRIPTS
|
|
Allows execution of scripts with the execute bit set, but not the
|
|
read bit, by opening the file and passing the file descriptor to
|
|
the shell, rather than the filename.
|
|
.Pp
|
|
.Em NOTE :
|
|
Execute only (non-readable) scripts will have
|
|
.Va argv[0]
|
|
set to
|
|
.Pa /dev/fd/* .
|
|
What this option allows as far as security is
|
|
concerned, is the ability to safely ensure that the correct script
|
|
is run by the interpreter, as it is passed as an already open file.
|
|
.It Cd options PUCCN
|
|
Enables treating serial ports found on PCI boards
|
|
.Xr puc 4
|
|
as potential console devices. The method for choosing such a console
|
|
device is port dependent.
|
|
.It Cd options RTC_OFFSET=integer
|
|
The kernel (and typically the hardware battery backed-up clock on
|
|
those machines that have one) keeps time in
|
|
.Em UTC
|
|
(Universal Coordinated Time, once known as
|
|
.Em GMT ,
|
|
or Greenwich Mean Time)
|
|
and not in the time of the local time zone.
|
|
The
|
|
.Em RTC_OFFSET
|
|
option is used on some ports (such as the i386) to tell the kernel
|
|
that the hardware clock is offset from
|
|
.Em UTC
|
|
by the specified number of minutes.
|
|
This is typically used when a machine boots several operating
|
|
systems and one of them wants the hardware clock to run in the
|
|
local time zone and not in
|
|
.Em UTC ,
|
|
e.g.
|
|
.Em RTC_OFFSET=300
|
|
means
|
|
the hardware clock is set to US Eastern Time (300 minutes behind
|
|
.Em UTC ) ,
|
|
and not
|
|
.Em UTC .
|
|
(Note:
|
|
.Em RTC_OFFSET
|
|
is used to initialize a kernel variable named
|
|
.Va rtc_offset
|
|
which is the source actually used to determine the clock offset, and
|
|
which may be accessed via the kern.rtc_offset sysctl variable.
|
|
See
|
|
.Xr sysctl 8
|
|
and
|
|
.Xr sysctl 3
|
|
for details.
|
|
Since the kernel clock is initialized from the hardware clock very
|
|
early in the boot process, it is not possible to meaningfully change
|
|
.Va rtc_offset
|
|
in system initialization scripts.
|
|
Changing this value currently may only be done at kernel compile
|
|
time or by patching the kernel and rebooting).
|
|
.Pp
|
|
.Em NOTE :
|
|
Unfortunately, in many cases where the hardware clock
|
|
is kept in local time, it is adjusted for Daylight Savings
|
|
Time; this means that attempting to use
|
|
.Em RTC_OFFSET
|
|
to let NetBSD coexist with such an operating system, like Windows,
|
|
would necessitate changing
|
|
.Em RTC_OFFSET
|
|
twice a year. As such, this solution is imperfect.
|
|
.It Cd options KMEMSTATS
|
|
The kernel memory allocator,
|
|
.Xr malloc 9 ,
|
|
will keep statistics on its performance if this option is enabled.
|
|
Unfortunately, this option therefore essentially disables the
|
|
.Fn MALLOC
|
|
and
|
|
.Fn FREE
|
|
forms of the memory allocator, which are used to enhance the performance
|
|
of certain critical sections of code in the kernel.
|
|
This option therefore can lead to a significant decrease in the
|
|
performance of certain code in the kernel if enabled.
|
|
Examples of such code include the
|
|
.Fn namei
|
|
routine, the
|
|
.Xr ccd 4
|
|
driver,
|
|
the
|
|
.Xr ncr 4
|
|
driver,
|
|
and much of the networking code.
|
|
.It Cd options MAXUPRC=integer
|
|
Sets the
|
|
.Em 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 80.
|
|
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 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.
|
|
.El
|
|
.Ss Networking Options
|
|
.Bl -ohang
|
|
.It Cd options GATEWAY
|
|
Enables
|
|
.Em IPFORWARDING
|
|
(which see)
|
|
and (on most ports) increases the size of
|
|
.Em NMBCLUSTERS
|
|
(which see).
|
|
In general,
|
|
.Em GATEWAY
|
|
is used to indicate that a system should act as a router, and
|
|
.Em IPFORWARDING
|
|
is not invoked directly.
|
|
(Note that
|
|
.Em GATEWAY
|
|
has no impact on protocols other than
|
|
.Tn IP ,
|
|
such as
|
|
.Tn CLNP
|
|
or
|
|
.Tn XNS ) .
|
|
.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.
|
|
.It Cd options MROUTING
|
|
Includes support for IP multicast routers.
|
|
You certainly want
|
|
.Em INET
|
|
with this.
|
|
Multicast routing is controlled by the
|
|
.Xr mrouted 8
|
|
daemon.
|
|
.It Cd options INET
|
|
Includes support for the
|
|
.Tn TCP/IP
|
|
protocol stack.
|
|
You almost certainly want this.
|
|
See
|
|
.Xr inet 4
|
|
for details.
|
|
This option is currently required.
|
|
.It Cd options INET6
|
|
Includes support for the
|
|
.Tn IPv6
|
|
protocol stack.
|
|
See
|
|
.Xr inet6 4
|
|
for details.
|
|
Unlike
|
|
.Em INET ,
|
|
.Em INET6
|
|
enables multicast routing code as well.
|
|
This option requires
|
|
.Em INET
|
|
at this moment, but it should not.
|
|
.It Cd options IPSEC
|
|
Includes support for the
|
|
.Tn IPsec
|
|
protocol.
|
|
See
|
|
.Xr ipsec 4
|
|
for details.
|
|
.Em IPSEC
|
|
will enable
|
|
secret key management part,
|
|
policy management part,
|
|
.Tn AH
|
|
and
|
|
.Tn IPComp .
|
|
Kernel binary will not be subject to export control in most of countries,
|
|
even if compiled with
|
|
.Em IPSEC .
|
|
For example, it should be okay to export it from within the United States
|
|
to the outside.
|
|
.Em INET6
|
|
and
|
|
.Em IPSEC
|
|
are orthogonal so you can get IPv4-only kernel with IPsec support,
|
|
IPv4/v6 dual support kernel without IPsec, and so forth.
|
|
This option requires
|
|
.Em INET
|
|
at this moment, but it should not.
|
|
.It Cd options IPSEC_DEBUG
|
|
Enables debugging code in
|
|
.Tn IPsec
|
|
stack.
|
|
This option assumes
|
|
.Em IPSEC .
|
|
.It Cd options IPSEC_ESP
|
|
Includes support for
|
|
.Tn IPsec
|
|
.Tn ESP
|
|
protocol.
|
|
See
|
|
.Xr ipsec 4
|
|
for details.
|
|
.Em IPSEC_ESP
|
|
will enable source code that is subject to export control in some countries
|
|
.Pq including the United States ,
|
|
and compiled kernel binary will be subject to certain restriction.
|
|
This option assumes
|
|
.Em IPSEC .
|
|
.It Cd options SUBNETSARELOCAL
|
|
Sets default value for net.inet.ip.subnetsarelocal variable, which
|
|
controls whether non-directly-connected subnets of connected networks
|
|
are considered "local" for purposes of choosing the MSS for a TCP
|
|
connection. This is mostly present for historic reasons and
|
|
completely irrelevant if you enable Path MTU discovery.
|
|
.It Cd options HOSTZEROBROADCAST
|
|
Sets default value for net.inet.ip.hostzerobroadcast variable, which
|
|
controls whether the zeroth host address of each connected subnet is
|
|
also considered a broadcast address. Default value is "1", for
|
|
compatibility with old systems; if this is set to zero on all hosts on
|
|
a subnet, you should be able to fit an extra host per subnet on the
|
|
".0" address.
|
|
.It Cd options MCLSHIFT=value
|
|
This option is the base-2 logarithm of the size of mbuf clusters.
|
|
The
|
|
.Bx
|
|
networking stack keeps network packets in a linked
|
|
list, or chain, of kernel buffer objects called mbufs.
|
|
The system provides larger mbuf clusters as an optimization for
|
|
large packets, instead of using long chains for large packets.
|
|
The mbuf cluster size,
|
|
or
|
|
.Em MCLBYTES,
|
|
must be a power of two, and is computed as two raised to the power
|
|
.Em MCLSHIFT .
|
|
On systems with Ethernet network adaptors,
|
|
.Em MCLSHIFT
|
|
is often set to 11, giving 2048-byte mbuf clusters, large enough to
|
|
hold a 1500-byte
|
|
.Tn Ethernet
|
|
frame in a single cluster.
|
|
Systems with network interfaces supporting larger frame sizes like
|
|
.Tn ATM ,
|
|
.Tn FDDI ,
|
|
or
|
|
.Tn HIPPI
|
|
may perform better with
|
|
.Em MCLSHIFT
|
|
set to 12 or 13, giving mbuf cluster sizes of 4096 and 8192 bytes,
|
|
respectively.
|
|
.It Cd options NS
|
|
Include support for the
|
|
.Tn Xerox
|
|
.Tn XNS
|
|
protocol stack.
|
|
See
|
|
.Xr ns 4
|
|
for details.
|
|
.It Cd options ISO,TPIP
|
|
Include support for the ubiquitous
|
|
.Tn OSI
|
|
protocol stack.
|
|
See
|
|
.Xr iso 4
|
|
for details.
|
|
.It Cd options EON
|
|
Include support for tunneling
|
|
.Tn OSI
|
|
protocols over
|
|
.Tn IP .
|
|
Known to be broken, or at least very fragile, and undocumented.
|
|
.It Cd options CCITT,LLC,HDLC
|
|
Include support for the
|
|
.Tn CCITT
|
|
(nee
|
|
.Tn ITU-TSS )
|
|
.Tn X.25
|
|
protocol stack.
|
|
The state of this code is currently unknown, and probably contains bugs.
|
|
.It Cd options NETATALK
|
|
Include support for the
|
|
.Tn AppleTalk
|
|
protocol stack.
|
|
The kernel provides provision for the
|
|
.Em Datagram Delivery Protocol
|
|
(DDP), providing SOCK_DGRAM support and
|
|
.Tn AppleTalk
|
|
routing.
|
|
This stack is used by the
|
|
.Em NETATALK
|
|
package, which adds support for
|
|
.Tn AppleTalk
|
|
server services via user libraries and applications.
|
|
.It Cd options IPNOPRIVPORTS
|
|
Normally, only root can bind a socket descriptor to a so-called
|
|
.Dq privileged
|
|
.Tn TCP
|
|
port, that is, a port number in the range 0-1023.
|
|
This option eliminates those checks from the kernel.
|
|
This can be useful if there is a desire to allow daemons without
|
|
privileges to bind those ports, e.g. on firewalls.
|
|
The security tradeoffs in doing this are subtle.
|
|
This option should only be used by experts.
|
|
.It Cd options TCP_COMPAT_42
|
|
.Tn TCP
|
|
bug compatibility with
|
|
.Bx 4.2 .
|
|
In
|
|
.Bx 4.2 ,
|
|
.Tn TCP
|
|
sequence numbers were 32-bit signed values.
|
|
Modern implementations of TCP use unsigned values.
|
|
This option clamps the initial sequence number to start in
|
|
the range 2^31 rather than the full unsigned range of 2^32.
|
|
Also, under
|
|
.Bx 4.2 ,
|
|
keepalive packets must contain at least one byte or else
|
|
the remote end would not respond.
|
|
.It Cd options PFIL_HOOKS
|
|
This option turns on the packet filter interface hooks.
|
|
See
|
|
.Xr pfil 9
|
|
for details.
|
|
.It Cd options IPFILTER_LOG
|
|
This option, in conjunction with
|
|
.Em pseudo-device ipfilter ,
|
|
enables logging of IP packets using ip-filter.
|
|
.It Cd options IPFILTER_DEFAULT_BLOCK
|
|
This option sets the default policy of ip-filter.
|
|
If it is set, ip-filter will block packets by default.
|
|
.It Cd options PPP_BSDCOMP
|
|
Enable support for BSD-compress
|
|
.Pq Sq bsdcomp
|
|
compression in ppp.
|
|
.It Cd options PPP_DEFLATE
|
|
Enable support for deflate
|
|
compression in ppp.
|
|
.It Cd options PPP_FILTER
|
|
This option turns on
|
|
.Xr pcap 3
|
|
based filtering for ppp connections.
|
|
This option is used by
|
|
.Xr pppd 8
|
|
which needs to be compiled with
|
|
.Em PPP_FILTER
|
|
defined (the current default).
|
|
.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 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 256 (512 with
|
|
.Dq options GATEWAY
|
|
).
|
|
See
|
|
.Pa /usr/include/machine/param.h
|
|
for exact default information.
|
|
Increase this value if you get
|
|
.Dq mb_map full
|
|
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 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
|
|
.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 .
|
|
.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 LIMITMEM=value
|
|
If there, limit the part of the first memory bank used by
|
|
.Nx
|
|
to value megabytes.
|
|
Default is unlimited.
|
|
.It Cd options NKPTADD=addvalue
|
|
.It Cd options NKPTADDSHIFT=shiftvalue
|
|
The
|
|
.Tn CPU
|
|
specific
|
|
.Tn MMU
|
|
table for the kernel is pre-allocated at kernel startup time.
|
|
Part of it is scaled with
|
|
.Va maxproc ,
|
|
to have enough room to hold the user program
|
|
.Tn MMU
|
|
tables; the second part is a fixed amount for the kernel itself.
|
|
.Pp
|
|
The third part accounts for the size of the file buffer cache.
|
|
Its size is either
|
|
.Dv NKPTADD
|
|
pages (if defined) or memory size in bytes divided by two to
|
|
the power of
|
|
.Dv NKPTADDSHIFT .
|
|
The default is undefined
|
|
.Dv NKPTADD
|
|
and
|
|
.Dv NKPTADDSHIFT=24 ,
|
|
allowing for 16 buffers per megabyte of main memory (while
|
|
a GENERIC kernel allocates about half of that).
|
|
When you get "can't get KPT page" panics, you should increase
|
|
.Dv NKPTADD
|
|
(if defined), or decrease
|
|
.Dv NKPTADDSHIFT
|
|
by one.
|
|
.It Cd options P5PPC68KBOARD
|
|
Add special support for Phase5 mixed 68k+PPC boards. Currently, this only
|
|
affects rebooting from NetBSD and is only needed on 68040+PPC, not on
|
|
68060+PPC; without this, affected machines will hang after NetBSD has shut
|
|
down and will only restart after a keyboard reset or a power cycle.
|
|
.El
|
|
.Ss arm32-specific Options
|
|
.Bl -ohang
|
|
.It Cd options FRENCH_KEYBOARD
|
|
Include translation for French keyboards when using
|
|
.Xr pccons 4
|
|
on a Shark.
|
|
.It Cd options FINNISH_KEYBOARD
|
|
Include translation for Finnish keyboards when using
|
|
.Xr pccons 4
|
|
on a Shark.
|
|
.It Cd options GERMAN_KEYBOARD
|
|
Include translation for German keyboards when using
|
|
.Xr pccons 4
|
|
on a Shark.
|
|
.It Cd options NORWEGIAN_KEYBOARD
|
|
Include translation for French keyboards when using
|
|
.Xr pccons 4
|
|
on a Shark.
|
|
.El
|
|
.Ss atari-specific Options
|
|
.Bl -ohang
|
|
.It Cd options DISKLABEL_AHDI
|
|
Include support for AHDI (native Atari) disklabels.
|
|
.It Cd options DISKLABEL_NBDA
|
|
Include support for
|
|
.Nx Ns Tn /atari
|
|
labels.
|
|
If you don't set this option, it will be set automatically.
|
|
.Nx Ns Tn /atari
|
|
will not work without it.
|
|
.It Cd options FALCON_SCSI
|
|
Include support for the 5380-SCSI configuration as found on the Falcon.
|
|
.It Cd options RELOC_KERNEL
|
|
If set, the kernel will relocate itself to TT-RAM, if possible.
|
|
This will give you a slightly faster system.
|
|
.Em Beware
|
|
that on some TT030 systems,
|
|
the system will frequently dump with MMU-faults with this option enabled.
|
|
.It Cd options SERCONSOLE
|
|
Allow the modem1-port to act as the system-console.
|
|
A carrier should be active on modem1 during system boot to active
|
|
the console functionality.
|
|
.It Cd options TT_SCSI
|
|
Include support for the 5380-SCSI configuration as found on the TT030
|
|
and Hades.
|
|
.El
|
|
.Ss i386-specific Options
|
|
.Bl -ohang
|
|
.It Cd options I386_CPU,I486_CPU,I586_CPU,I686_CPU
|
|
Include support for a particular class of
|
|
.Tn CPU
|
|
.Po
|
|
.Tn i386 ,
|
|
.Tn i486 ,
|
|
.Tn Pentium ,
|
|
or
|
|
.Tn Pentium Pro
|
|
.Pc .
|
|
If the appropriate class for your
|
|
.Tn CPU
|
|
is not configured, the kernel will use the highest class available
|
|
that will work.
|
|
In general, using the correct
|
|
.Tn CPU
|
|
class will result in the best performance.
|
|
At least one of these options must be present.
|
|
.It Cd options CPURESET_DELAY=value
|
|
specifies the time (in millisecond) to wait before doing a hardware reset
|
|
in the last phase of a reboot. This gives the user a chance to see error
|
|
messages from the shutdown operations (like NFS unmounts, buffer cache flush,
|
|
etc ...). Setting this to 0 will disable the delay. Default is 2 seconds.
|
|
.It Cd options MATH_EMULATE
|
|
Include the floating point emulator.
|
|
This is useful only for
|
|
.Tn CPU Ns s
|
|
that lack an
|
|
internal Floating Point Unit
|
|
.Pq Tn FPU
|
|
or co-processor.
|
|
.It Cd options VM86
|
|
Include support for virtual 8086 mode, used by
|
|
.Tn DOS
|
|
emulators.
|
|
.It Cd options USER_LDT
|
|
Include i386-specific system calls for modifying the local descriptor table,
|
|
used by Windows emulators.
|
|
.It Cd options REALBASEMEM=integer
|
|
Overrides the base memory size passed in from the boot block.
|
|
(Value given in kilobytes.)
|
|
Use this option only if the boot block reports the size incorrectly.
|
|
(Note that some
|
|
.Tn BIOS Ns es
|
|
put the extended
|
|
.Tn BIOS
|
|
data area at the top of base memory, and therefore report a smaller
|
|
base memory size to prevent programs overwriting it.
|
|
This is correct behavior, and you should not use the
|
|
.Em REALBASEMEM
|
|
option to access this memory).
|
|
.It Cd options REALEXTMEM=integer
|
|
Overrides the extended memory size passed in from the boot block.
|
|
(Value given in kilobytes. Extended memory does not include the first megabyte.)
|
|
Use this option only if the boot block reports the size incorrectly.
|
|
.It Cd options FRENCH_KBD,FINNISH_KBD,GERMAN_KBD,NORWEGIAN_KBD
|
|
Select a non-US keyboard layout for the
|
|
.Em pccons
|
|
console driver.
|
|
.It Cd options CYRIX_CACHE_WORKS
|
|
Relevant only to the Cyrix 486DLC cpu. This option is used to turn on
|
|
the cache in hold-flush mode. It is not turned on by default because it
|
|
is known to have problems in certain motherboard implementations.
|
|
.It Cd options CYRIX_CACHE_REALLY_WORKS
|
|
Relevant only to the Cyrix 486DLC cpu. This option is used to turn on
|
|
the cache in write-back mode. It is not turned on by default because it
|
|
is known to have problems in certain motherboard implementations. In order
|
|
for this option to take effect, option
|
|
.Em CYRIX_CACHE_WORKS must also be specified.
|
|
.It Cd options PCIBIOS
|
|
Enable support for initializing the
|
|
.Tn PCI
|
|
bus using information from the
|
|
.Tn BIOS .
|
|
See
|
|
.Xr pcibios 4
|
|
for details.
|
|
.El
|
|
.Ss isa-specific Options
|
|
Options specific to
|
|
.Xr isa 4
|
|
busses.
|
|
.Bl -ohang
|
|
.It Cd options PCIC_ISA_ALLOC_IOBASE=address, PCIC_ISA_ALLOC_IOSIZE=size
|
|
Control the section of IO bus space used for PCMCIA bus space mapping.
|
|
Ideally the probed defaults are satisfactory, however in practice
|
|
that is not always the case. See
|
|
.Xr pcmcia 4
|
|
for details.
|
|
.It Cd options PCIC_ISA_INTR_ALLOC_MASK=mask
|
|
Controls the allowable interrupts that may be used for
|
|
.Tn PCMCIA
|
|
devices. This mask is a logical-or of power-of-2s of allowable
|
|
interrupts:
|
|
.Bd -literal -offset 04n
|
|
.Em "IRQ Val IRQ Val IRQ Val IRQ Val"
|
|
0 0x0001 4 0x0010 8 0x0100 12 0x1000
|
|
1 0x0002 5 0x0020 9 0x0200 13 0x2000
|
|
2 0x0004 6 0x0040 10 0x0400 14 0x4000
|
|
3 0x0008 7 0x0080 11 0x0800 15 0x8000
|
|
.Ed
|
|
.El
|
|
.Ss m68k-specific Options
|
|
.Bl -ohang
|
|
.It Cd options FPU_EMULATE
|
|
Include support for MC68881/MC68882 emulator.
|
|
.It Cd options FPSP
|
|
Include support for 68040 floating point.
|
|
.It Cd options M68020,M68030,M68040,M68060
|
|
Include support for a specific
|
|
.Tn CPU ,
|
|
at least one (the one you are using) should be specified.
|
|
.It Cd options M060SP
|
|
Include software support for 68060.
|
|
This provides emulation of unimplemented
|
|
integer instructions as well as emulation of unimplemented floating point
|
|
instructions and data types and software support for floating point traps.
|
|
.El
|
|
.Ss sparc-specific Options
|
|
.Bl -ohang
|
|
.It Cd options AUDIO_DEBUG
|
|
Enable simple event debugging of the logging of the
|
|
.Xr audio 4
|
|
device.
|
|
.It Cd options BLINK
|
|
Enable blinking of LED. Blink rate is full cycle every N seconds for
|
|
N < then current load average. See
|
|
.Xr getloadavg 3 .
|
|
.\" .It Cd options COLORFONT_CACHE
|
|
.\" this is totally fucked up.. 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 accessable 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
|
|
.Cd 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 a 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 x68k-specific Options
|
|
.Bl -ohang
|
|
.It Cd options EXTENDED_MEMORY
|
|
Include support for extended memory e.g. TS-6BE16 and 060turbo on-board.
|
|
.It Cd options JUPITER
|
|
Include support for Jupiter-X MPU accelerator
|
|
.It Cd options ZSCONSOLE,ZSCN_SPEED=value
|
|
Use the built-in serial port as the system-console.
|
|
Speed is specified in bps, defaults to 9600.
|
|
.It Cd options ITE_KERNEL_ATTR=value
|
|
Set the kernel message attribute for ITE.
|
|
Value, an integer, is a logical or of the following values:
|
|
.Bl -tag -width 4n -compact -offset indent
|
|
.It 1
|
|
color inversed
|
|
.It 2
|
|
underlined
|
|
.It 4
|
|
bolded
|
|
.El
|
|
.El
|
|
.\" The following requests should be uncommented and used where appropriate.
|
|
.\" .Sh FILES
|
|
.\" .Sh EXAMPLES
|
|
.Sh SEE ALSO
|
|
.Xr gdb 1 ,
|
|
.Xr ktrace 1 ,
|
|
.Xr quota 1 ,
|
|
.Xr gettimeofday 2 ,
|
|
.Xr i386_iopl 2 ,
|
|
.Xr msgctl 2 ,
|
|
.Xr msgget 2 ,
|
|
.Xr msgrcv 2 ,
|
|
.Xr msgsnd 2 ,
|
|
.Xr ntp_adjtime 2 ,
|
|
.Xr ntp_gettime 2 ,
|
|
.Xr semctl 2 ,
|
|
.Xr semget 2 ,
|
|
.Xr semop 2 ,
|
|
.Xr shmat 2 ,
|
|
.Xr shmctl 2 ,
|
|
.Xr shmdt 2 ,
|
|
.Xr shmget 2 ,
|
|
.Xr sysctl 3 ,
|
|
.Xr apm 4 ,
|
|
.Xr ddb 4 ,
|
|
.Xr inet 4 ,
|
|
.Xr iso 4 ,
|
|
.Xr lkm 4 ,
|
|
.Xr ns 4 ,
|
|
.Xr pcibios 4 ,
|
|
.Xr pcmcia 4 ,
|
|
.Xr config 8 ,
|
|
.Xr edquota 8 ,
|
|
.Xr init 8 ,
|
|
.Xr mount_cd9660 8 ,
|
|
.Xr mount_fdesc 8 ,
|
|
.Xr mount_kernfs 8 ,
|
|
.Xr mount_lfs 8 ,
|
|
.Xr mount_mfs 8 ,
|
|
.Xr mount_msdos 8 ,
|
|
.Xr mount_nfs 8 ,
|
|
.Xr mount_ntfs 8 ,
|
|
.Xr mount_null 8 ,
|
|
.Xr mount_portal 8 ,
|
|
.Xr mount_procfs 8 ,
|
|
.Xr mount_umap 8 ,
|
|
.Xr mount_union 8 ,
|
|
.Xr mrouted 8 ,
|
|
.Xr newlfs 8 ,
|
|
.Xr quotaon 8 ,
|
|
.Xr rpc.rquotad 8 ,
|
|
.Xr sysctl 8 ,
|
|
.Xr ntpd 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
man page first appeared in
|
|
.Nx 1.3 .
|
|
.Sh BUGS
|
|
The
|
|
.Em INET
|
|
and the
|
|
.Em VNODEPAGER
|
|
options should not be required.
|
|
The
|
|
.Em EON
|
|
option should be a pseudo-device, and is also very fragile.
|