
IMPORTANT: this change has a docs/UPDATING entry! This rename is unfortunately necessary because NetBSD has decided to create its own service(8) utility, and we will want to import theirs as well. The two can obviously not coexist. Also move ours from /bin to /sbin, as it is a superuser-only utility. Change-Id: Ic6e46ffb3a84b4747d2fdcb0d74e62dbea065039
182 lines
6.1 KiB
Groff
182 lines
6.1 KiB
Groff
.TH SYSTEM.CONF 5
|
|
.SH NAME
|
|
system.conf \- operating system service configuration
|
|
.SH SYNOPSIS
|
|
.B /etc/system.conf
|
|
.SH DESCRIPTION
|
|
.de SP
|
|
.if t .sp 0.4
|
|
.if n .sp
|
|
..
|
|
The file
|
|
.B /etc/system.conf
|
|
is the global system configuration file that contains the
|
|
configuration for all the primary system services. This is the file
|
|
that the \fBminix-service\fR utility uses by default. Custom configuration
|
|
files with the same format can be specified on a per-service basis. See
|
|
.BR minix-service (8)
|
|
for more details.
|
|
|
|
This page is a summary of all the elements that can be found in this
|
|
configuration file.
|
|
.PP
|
|
The syntax used is that of the common configuration file described in
|
|
.BR configfile (5).
|
|
.PP
|
|
The \fBminix-service\fR utility scans the configuration file from beginning to
|
|
end to gather information about a specific system service when starting or
|
|
updating the properties of a service.
|
|
The file contains a collection of service entries of the form:
|
|
|
|
.nf
|
|
\fBservice\fR \fI<program_name>\fR
|
|
\fB{\fR
|
|
\fI[option 1]\fR
|
|
\fI[option 2]\fR
|
|
...
|
|
\fI[option N]\fR
|
|
\fB};\fR
|
|
.fi
|
|
.PP
|
|
where \fI<program_name>\fR is the name of the program used to start the
|
|
given system service. In each service entry, the following options can
|
|
be used:
|
|
.PP
|
|
\fBuid\fR \fI<uid|SELF|user name>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the user id or the user name to use to run the system service.
|
|
\fISELF\fR can be used when the service has to start with the realuid of
|
|
the user who's executing the \fBminix-service\fR utility.
|
|
Many system services run with root privileges (uid \fB0\fR).
|
|
The default user is service (uid \fB12\fR).
|
|
.RE
|
|
.PP
|
|
\fBipc\fR \fI<ALL|ALL_SYS|NONE|name1 name2...nameN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of ipc targets (processes and kernel) the system service can
|
|
talk to. \fIALL\fR allows all the possible targets, \fIALL_SYS\fR is similar but
|
|
excludes user processes. When an explicit list is given, each target
|
|
must be identified by its process (binary) name.
|
|
Exceptions are user processes (use pseudo-name \fIUSER\fR) and
|
|
the kernel for kernel calls (use pseudo-name \fISYSTEM\fR). The default is
|
|
\fIALL_SYS\fR.
|
|
.RE
|
|
.PP
|
|
\fBsystem\fR \fI<ALL|BASIC|NONE|kcall1 kcall2...kcallN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of kernel calls the system service is allowed to call.
|
|
\fIALL\fR allows all the kernel calls, \fIBASIC\fR only allows basic kernel
|
|
calls (see macro \fBSYS_BASIC_CALLS\fR in \fB<minix/com.h>\fR),
|
|
\fINONE\fR allows no kernel call. This option only makes sense if the
|
|
option \fBipc\fR includes the kernel as a valid target.
|
|
The default is \fIBASIC\fR.
|
|
.RE
|
|
.PP
|
|
\fBvm\fR \fI<ALL|BASIC|NONE|vmcall1 vmcall2...vmcallN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of VM calls the system service is allowed to call.
|
|
\fIALL\fR allows all the VM calls, \fIBASIC\fR only allows basic VM
|
|
calls (see macro \fBVM_BASIC_CALLS\fR in \fB<minix/com.h>\fR),
|
|
\fINONE\fR allows no VM call. This option only makes sense if the
|
|
option \fBipc\fR includes VM as a valid target.
|
|
The default is \fIBASIC\fR.
|
|
.RE
|
|
.PP
|
|
\fBio\fR \fI<ALL|NONE|baseaddr1 baseaddr2:length2...baseaddrN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of I/O ranges the system service is allowed to use.
|
|
\fIALL\fR allows all the possible I/O ranges, \fINONE\fR allows no I/O range
|
|
at all. When an explicit list is given, each range is identified by a base
|
|
address and an optional length. When no length is given, length \fB1\fR is
|
|
assumed. The default is \fINONE\fR.
|
|
.RE
|
|
.PP
|
|
\fBirq\fR \fI<ALL|NONE|irq1 irq2...irqN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of IRQs the system service is allowed to use.
|
|
\fIALL\fR allows all the possible IRQs, \fINONE\fR allows no IRQ
|
|
at all. An explicit list of IRQ numbers may be given.
|
|
The default is \fINONE\fR.
|
|
.RE
|
|
.PP
|
|
\fBsigmgr\fR \fI<SELF|label>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the signal manager the system service is assigned to. The signal
|
|
manager intercepts all the termination and non-termination signals
|
|
(including signal generated by runtime exceptions, e.g. SIGSEGV) on behalf
|
|
of the service and reacts accordingly. \fISELF\fR allows the service to
|
|
become its own signal manager. This option should be used with care,
|
|
since a lethal signal for the service will immediately trigger a
|
|
kernel panic. A separate system service that acts as the designated signal
|
|
manager must be specified using its label. The default is specified in
|
|
\fB<minix/priv.h>\fR (see macro \fBDSRV_SM\fR).
|
|
.RE
|
|
.PP
|
|
\fBscheduler\fR \fI<KERNEL|label>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the scheduler the system service is assigned to. The scheduler
|
|
implements the scheduling policy for the system service. \fIKERNEL\fR allows
|
|
the service to be scheduled directly by the kernel. A separate system
|
|
service that acts as the designated scheduler must be specified
|
|
using its label. The default is specified in
|
|
\fB<minix/priv.h>\fR (see macro \fBDSRV_SCH\fR).
|
|
.RE
|
|
.PP
|
|
\fBpriority\fR \fI<priority_queue>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the priority queue the scheduler must assign the service to.
|
|
The default is specified in \fB<minix/priv.h>\fR (see macro \fBDSRV_Q\fR).
|
|
.RE
|
|
.PP
|
|
\fBquantum\fR \fI<quantum_size_ms>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the quantum size (ms) the scheduler must consider the service for.
|
|
The default is specified in \fB<minix/priv.h>\fR (see macro \fBDSRV_QT\fR).
|
|
.RE
|
|
.PP
|
|
\fBpci device\fR \fI<vid:did[/subvid:subdid]>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the PCI device IDs the system service is allowed to use
|
|
(only used for device drivers). Optionally, a subsystem ID may be provided
|
|
for more precise (limited) matching.
|
|
The default is to allow no PCI device IDs.
|
|
.RE
|
|
.PP
|
|
\fBpci class\fR \fI<class[/subclass[/progif]]>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the PCI classes the system service is allowed to use
|
|
(only used for device drivers).
|
|
Optionally, a subclass code and a programming interface code may be provided
|
|
for more precise (limited) matching.
|
|
The default is to allow no PCI classes.
|
|
.RE
|
|
.PP
|
|
\fBcontrol\fR \fI<name1 name2...nameN>\fR\fB;\fR
|
|
.PP
|
|
.RS
|
|
specifies the list of system services (identified by their process names) that
|
|
are allowed to control the system service. A controller service can ask RS
|
|
to perform privileged actions like immediately restarting the service.
|
|
The default is to allow no controller services.
|
|
.RE
|
|
.PP
|
|
.SH "SEE ALSO"
|
|
.BR configfile (5),
|
|
.BR minix-service (8),
|
|
.BR boot (8).
|
|
.SH AUTHOR
|
|
Cristiano Giuffrida <giuffrida@cs.vu.nl>
|
|
|