1 '\" te
   2 .\" Copyright (c) 2003 Sun Microsystems, Inc.  All Rights Reserved.
   3 .\" Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
   4 .\" Copyright 1989 AT&T
   5 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   6 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   7 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   8 .TH SYSTEM 4 "Jan 25, 2016"
   9 .SH NAME
  10 system \- system configuration information file
  11 .SH DESCRIPTION
  12 .LP
  13 The \fBsystem\fR file is used for customizing the operation of the operating
  14 system kernel. The recommended procedure is to preserve the original
  15 \fBsystem\fR file before modifying it.
  16 .sp
  17 .LP
  18 The \fBsystem\fR file contains commands which are read by the kernel during
  19 initialization and used to customize the operation of your system. These
  20 commands are useful for modifying the system's treatment of its loadable kernel
  21 modules.
  22 .sp
  23 .LP
  24 The syntax of the \fBsystem\fR file consists of a list of keyword/value pairs
  25 which are recognized by the system as valid commands. Comment lines must begin
  26 with an asterisk (\fB*\fR) or a hash mark (\fB#\fR) and end with a newline
  27 character. All commands are case-insensitive except where noted.
  28 .sp
  29 .LP
  30 Commands that modify the system's operation with respect to loadable kernel
  31 modules require you to specify the module type by listing the module's
  32 namespace. The following namespaces are currently supported on all platforms:
  33 .sp
  34 .ne 2
  35 .na
  36 \fB\fBdrv\fR\fR
  37 .ad
  38 .RS 10n
  39 Modules in this namespace are device drivers.
  40 .RE
  41 
  42 .sp
  43 .ne 2
  44 .na
  45 \fB\fBexec\fR\fR
  46 .ad
  47 .RS 10n
  48 Modules in this namespace are execution format modules. The following
  49 \fBexec\fR modules are currently provided:
  50 .sp
  51 .ne 2
  52 .na
  53 \fBOnly on SPARC system:\fR
  54 .ad
  55 .RS 28n
  56 .sp
  57 .in +2
  58 .nf
  59 aoutexec
  60 .fi
  61 .in -2
  62 .sp
  63 
  64 .RE
  65 
  66 .sp
  67 .ne 2
  68 .na
  69 \fBOnly on x86 system:\fR
  70 .ad
  71 .RS 28n
  72 .sp
  73 .in +2
  74 .nf
  75 coffexec
  76 .fi
  77 .in -2
  78 .sp
  79 
  80 .RE
  81 
  82 .sp
  83 .ne 2
  84 .na
  85 \fBOn SPARC and IA systems:\fR
  86 .ad
  87 .RS 28n
  88 .sp
  89 .in +2
  90 .nf
  91 elfexec
  92 intpexec
  93 javaexec
  94 .fi
  95 .in -2
  96 .sp
  97 
  98 .RE
  99 
 100 .RE
 101 
 102 .sp
 103 .ne 2
 104 .na
 105 \fB\fBfirmware\fR\fR
 106 .ad
 107 .RS 10n
 108 Raw firmware images in subdirectories, one for each device driver
 109 module using \fBfirmload\fR(9F).
 110 .RE
 111 
 112 .sp
 113 .ne 2
 114 .na
 115 \fB\fBfs\fR\fR
 116 .ad
 117 .RS 10n
 118 These modules are filesystems.
 119 .RE
 120 
 121 .sp
 122 .ne 2
 123 .na
 124 \fB\fBsched\fR\fR
 125 .ad
 126 .RS 10n
 127 These modules implement a process scheduling algorithm.
 128 .RE
 129 
 130 .sp
 131 .ne 2
 132 .na
 133 \fB\fBstrmod\fR\fR
 134 .ad
 135 .RS 10n
 136 These modules are \fBSTREAMS\fR modules.
 137 .RE
 138 
 139 .sp
 140 .ne 2
 141 .na
 142 \fB\fBsys\fR\fR
 143 .ad
 144 .RS 10n
 145 These modules implement loadable system-call modules.
 146 .RE
 147 
 148 .sp
 149 .ne 2
 150 .na
 151 \fB\fBmisc\fR\fR
 152 .ad
 153 .RS 10n
 154 These modules do not fit into any of the above categories, so are considered
 155 "miscellaneous" modules.
 156 .RE
 157 
 158 .sp
 159 .LP
 160 SPARC only:
 161 .sp
 162 .ne 2
 163 .na
 164 \fB\fBdacf\fR\fR
 165 .ad
 166 .RS 8n
 167 These modules provide rules and actions for device auto-configuration.
 168 .RE
 169 
 170 .sp
 171 .ne 2
 172 .na
 173 \fB\fBtod\fR\fR
 174 .ad
 175 .RS 8n
 176 These modules provide support for the time of day hardware.
 177 .RE
 178 
 179 .sp
 180 .ne 2
 181 .na
 182 \fB\fBcpu\fR\fR
 183 .ad
 184 .RS 8n
 185 These modules provide \fBCPU\fR-specific kernel routines.
 186 .RE
 187 
 188 .sp
 189 .LP
 190 A description of each of the supported commands follows:
 191 .sp
 192 .ne 2
 193 .na
 194 \fB\fBexclude:\fR <\fInamespace\fR>/<\fImodulename\fR>\fR
 195 .ad
 196 .sp .6
 197 .RS 4n
 198 Do not allow the listed loadable kernel module to be loaded. \fBexclude\fR
 199 commands are cumulative; the list of modules to \fBexclude\fR is created by
 200 combining every \fBexclude\fR entry in the \fBsystem\fR file.
 201 .RE
 202 
 203 .sp
 204 .ne 2
 205 .na
 206 \fB\fBinclude:\fR <\fInamespace\fR>/<\fImodulename\fR>\fR
 207 .ad
 208 .sp .6
 209 .RS 4n
 210 Include the listed loadable kernel module. This is the system's default, so
 211 using \fBinclude\fR does not modify the system's operation. \fBinclude\fR
 212 commands are cumulative.
 213 .RE
 214 
 215 .sp
 216 .ne 2
 217 .na
 218 \fB\fBforceload:\fR <\fInamespace\fR>/<\fImodulename\fR>\fR
 219 .ad
 220 .sp .6
 221 .RS 4n
 222 Force this kernel module to be loaded during kernel initialization. The default
 223 action is to automatically load the kernel module when its services are first
 224 accessed. \fBforceload\fR commands are cumulative.
 225 .RE
 226 
 227 .sp
 228 .ne 2
 229 .na
 230 \fB\fBrootdev:\fR <\fIdevice name\fR>\fR
 231 .ad
 232 .sp .6
 233 .RS 4n
 234 Set the root device to the listed value instead of using the default root
 235 device as supplied by the boot program.
 236 .RE
 237 
 238 .sp
 239 .ne 2
 240 .na
 241 \fB\fBrootfs:\fR <\fIroot filesystem type\fR>\fR
 242 .ad
 243 .sp .6
 244 .RS 4n
 245 Set the root filesystem type to the listed value.
 246 .RE
 247 
 248 .sp
 249 .ne 2
 250 .na
 251 \fB\fBmoddir:\fR <\fIfirst module path\fR>[[{:, }<\fIsecond ...\fR>]...]\fR
 252 .ad
 253 .sp .6
 254 .RS 4n
 255 Set the search path for loadable kernel modules. This command operates very
 256 much like the \fBPATH\fR shell variable. Multiple directories to search can be
 257 listed together, delimited either by blank spaces or colons.
 258 .RE
 259 
 260 .sp
 261 .ne 2
 262 .na
 263 \fB\fBset\fR [\fI<module>\fR:]\fI<symbol>\fR {=, |, &} [~][-]\fI<value>\fR\fR
 264 .ad
 265 .sp .6
 266 .RS 4n
 267 Set an integer or character pointer in the kernel or in the selected kernel
 268 module to a new value. This command is used to change kernel and module
 269 parameters and thus modify the operation of your system. Assignment operations
 270 are not cumulative, whereas bitwise \fBAND\fR and \fBOR\fR operations are
 271 cumulative.
 272 .sp
 273 Operations that are supported for modifying integer variables are: simple
 274 assignment, inclusive bitwise \fBOR,\fR bitwise \fBAND,\fR one's complement,
 275 and negation. Variables in a specific loadable module can be targeted for
 276 modification by specifying the variable name prefixed with the kernel module
 277 name and a colon (:) separator. Values can be specified as hexadecimal (0x10),
 278 Octal (046), or Decimal (5).
 279 .sp
 280 The only operation supported for modifying character pointers is simple
 281 assignment. Static string data such as character arrays cannot be modified
 282 using the \fBset\fR command. Use care and ensure that the variable you are
 283 modifying is in fact a character pointer. The \fBset\fR command is very
 284 powerful, and will likely cause problems if used carelessly. The following
 285 escape sequences are supported within the quoted string:
 286 .sp
 287 .in +2
 288 .nf
 289 \en     (newline)
 290 \et     (tab)
 291 \eb     (backspace)
 292 .fi
 293 .in -2
 294 .sp
 295 
 296 .RE
 297 
 298 .SH EXAMPLES
 299 .LP
 300 \fBExample 1 \fRA sample \fBsystem\fR file.
 301 .sp
 302 .LP
 303 The following is a sample \fBsystem\fR file.
 304 
 305 .sp
 306 .in +2
 307 .nf
 308 * Force the ELF exec kernel module to be loaded during kernel
 309 * initialization. Execution type modules are in the exec namespace.
 310 forceload: exec/elfexec
 311 * Change the root device to /sbus@1,f8000000/esp@0,800000/sd@3,0:a.
 312 * You can derive root device names from /devices.
 313 * Root device names must be the fully expanded Open Boot Prom
 314 * device name. This command is platform and configuration specific.
 315 * This example uses the first partition (a) of the SCSI disk at
 316 * SCSI target 3 on the esp host adapter in slot 0 (on board)
 317 * of the SBus of the machine.
 318 * Adapter unit-address 3,0 at sbus unit-address 0,800000.
 319 rootdev: /sbus@1,f8000000/esp@0,800000/sd@3,0:a
 320 * Set the filesystem type of the root to ufs. Note that
 321 * the equal sign can be used instead of the colon.
 322 rootfs:ufs
 323 * Set the search path for kernel modules to look first in
 324 * /usr/phil/mod_test for modules, then in /kernel/modules (the
 325 * default) if not found. Useful for testing new modules.
 326 * Note that you can delimit your module pathnames using
 327 * colons instead of spaces: moddir:/newmodules:/kernel/modules
 328 moddir:/usr/phil/mod_test /kernel/modules.
 329 * Set the configuration option {_POSIX_CHOWN_RESTRICTED} :
 330 * This configuration option is enabled by default.
 331 set rstchown = 1
 332 * Disable the configuration option {_POSIX_CHOWN_RESTRICTED} :
 333 set rstchown = 0
 334 * Turn on debugging messages in the modules mydriver. This is useful
 335 * during driver development.
 336 set mydriver:debug = 1
 337 * Bitwise AND the kernel variable "moddebug" with the
 338 * one's complement of the hex value 0x880, and set
 339 * "moddebug" to this new value.
 340 set moddebug & ~0x880
 341 * Demonstrate the cumulative effect of the SET
 342 * bitwise AND/OR operations by further modifying "moddebug"
 343 * by ORing it with 0x40.
 344 set moddebug | 0x40
 345 .fi
 346 .in -2
 347 .sp
 348 
 349 .SH SEE ALSO
 350 .LP
 351 \fBboot\fR(1M), \fBinit\fR(1M), \fBkernel\fR(1M)
 352 .SH WARNINGS
 353 .LP
 354 Use care when modifying the \fBsystem\fR file; it modifies the operation of the
 355 kernel. If you preserved the original \fBsystem\fR file, you can boot using
 356 \fBboot -a\fR, which will ask you to specify the path to the saved file. This
 357 should allow the system to boot correctly. If you cannot locate a \fBsystem\fR
 358 file that will work, you may specify \fB/dev/null\fR. This acts as an empty
 359 \fBsystem\fR file, and the system will attempt to boot using its default
 360 settings.
 361 .SH NOTES
 362 .LP
 363 The \fB/etc/system\fR file is read only once, at boot time.