1system(4) File Formats system(4)
2
3
4
6 system - system configuration information file
7
9 The system file is used for customizing the operation of the operating
10 system kernel. The recommended procedure is to preserve the original
11 system file before modifying it.
12
13
14 The system file contains commands which are read by the kernel during
15 initialization and used to customize the operation of your system.
16 These commands are useful for modifying the system's treatment of its
17 loadable kernel modules.
18
19
20 The syntax of the system file consists of a list of keyword/value pairs
21 which are recognized by the system as valid commands. Comment lines
22 must begin with an asterisk (*) or a hash mark (#) and end with a new‐
23 line character. All commands are case-insensitive except where noted.
24
25
26 Commands that modify the system's operation with respect to loadable
27 kernel modules require you to specify the module type by listing the
28 module's namespace. The following namespaces are currently supported on
29 all platforms:
30
31 drv Modules in this namespace are device drivers.
32
33
34 exec Modules in this namespace are execution format modules. The
35 following exec modules are currently provided:
36
37 Only on SPARC system:
38 aoutexec
39
40
41
42
43 Only on x86 system:
44 coffexec
45
46
47
48
49 On SPARC and IA systems:
50 elfexec
51 intpexec
52 javaexec
53
54
55
56
57
58 fs These modules are filesystems.
59
60
61 sched These modules implement a process scheduling algorithm.
62
63
64 strmod These modules are STREAMS modules.
65
66
67 sys These modules implement loadable system-call modules.
68
69
70 misc These modules do not fit into any of the above categories, so
71 are considered "miscellaneous" modules.
72
73
74
75 SPARC only:
76
77 dacf These modules provide rules and actions for device auto-config‐
78 uration.
79
80
81 tod These modules provide support for the time of day hardware.
82
83
84 cpu These modules provide CPU-specific kernel routines.
85
86
87
88 A description of each of the supported commands follows:
89
90 exclude: <namespace>/<modulename>
91
92 Do not allow the listed loadable kernel module to be loaded.
93 exclude commands are cumulative; the list of modules to exclude is
94 created by combining every exclude entry in the system file.
95
96
97 include: <namespace>/<modulename>
98
99 Include the listed loadable kernel module. This is the system's
100 default, so using include does not modify the system's operation.
101 include commands are cumulative.
102
103
104 forceload: <namespace>/<modulename>
105
106 Force this kernel module to be loaded during kernel initialization.
107 The default action is to automatically load the kernel module when
108 its services are first accessed. forceload commands are cumulative.
109
110
111 rootdev: <device name>
112
113 Set the root device to the listed value instead of using the
114 default root device as supplied by the boot program.
115
116
117 rootfs: <root filesystem type>
118
119 Set the root filesystem type to the listed value.
120
121
122 moddir: <first module path>[[{:, }<second ...>]...]
123
124 Set the search path for loadable kernel modules. This command oper‐
125 ates very much like the PATH shell variable. Multiple directories
126 to search can be listed together, delimited either by blank spaces
127 or colons.
128
129
130 set [<module>:]<symbol> {=, |, &} [~][-]<value>
131
132 Set an integer or character pointer in the kernel or in the
133 selected kernel module to a new value. This command is used to
134 change kernel and module parameters and thus modify the operation
135 of your system. Assignment operations are not cumulative, whereas
136 bitwise AND and OR operations are cumulative.
137
138 Operations that are supported for modifying integer variables are:
139 simple assignment, inclusive bitwise OR, bitwise AND, one's comple‐
140 ment, and negation. Variables in a specific loadable module can be
141 targeted for modification by specifying the variable name prefixed
142 with the kernel module name and a colon (:) separator. Values can
143 be specified as hexadecimal (0x10), Octal (046), or Decimal (5).
144
145 The only operation supported for modifying character pointers is
146 simple assignment. Static string data such as character arrays can‐
147 not be modified using the set command. Use care and ensure that the
148 variable you are modifying is in fact a character pointer. The set
149 command is very powerful, and will likely cause problems if used
150 carelessly. The following escape sequences are supported within the
151 quoted string:
152
153 \n (newline)
154 \t (tab)
155 \b (backspace)
156
157
158
159
161 Example 1 A sample system file.
162
163
164 The following is a sample system file.
165
166
167 * Force the ELF exec kernel module to be loaded during kernel
168 * initialization. Execution type modules are in the exec namespace.
169 forceload: exec/elfexec
170 * Change the root device to /sbus@1,f8000000/esp@0,800000/sd@3,0:a.
171 * You can derive root device names from /devices.
172 * Root device names must be the fully expanded Open Boot Prom
173 * device name. This command is platform and configuration specific.
174 * This example uses the first partition (a) of the SCSI disk at
175 * SCSI target 3 on the esp host adapter in slot 0 (on board)
176 * of the SBus of the machine.
177 * Adapter unit-address 3,0 at sbus unit-address 0,800000.
178 rootdev: /sbus@1,f8000000/esp@0,800000/sd@3,0:a
179 * Set the filesystem type of the root to ufs. Note that
180 * the equal sign can be used instead of the colon.
181 rootfs:ufs
182 * Set the search path for kernel modules to look first in
183 * /usr/phil/mod_test for modules, then in /kernel/modules (the
184 * default) if not found. Useful for testing new modules.
185 * Note that you can delimit your module pathnames using
186 * colons instead of spaces: moddir:/newmodules:/kernel/modules
187 moddir:/usr/phil/mod_test /kernel/modules.
188 * Set the configuration option {_POSIX_CHOWN_RESTRICTED} :
189 * This configuration option is enabled by default.
190 set rstchown = 1
191 * Disable the configuration option {_POSIX_CHOWN_RESTRICTED} :
192 set rstchown = 0
193 * Turn on debugging messages in the modules mydriver. This is useful
194 * during driver development.
195 set mydriver:debug = 1
196 * Bitwise AND the kernel variable "moddebug" with the
197 * one's complement of the hex value 0x880, and set
198 * "moddebug" to this new value.
199 set moddebug & ~0x880
200 * Demonstrate the cumulative effect of the SET
201 * bitwise AND/OR operations by further modifying "moddebug"
202 * by ORing it with 0x40.
203 set moddebug | 0x40
204
205
206
208 boot(1M), init(1M), kernel(1M)
209
211 Use care when modifying the system file; it modifies the operation of
212 the kernel. If you preserved the original system file, you can boot
213 using boot -a, which will ask you to specify the path to the saved
214 file. This should allow the system to boot correctly. If you cannot
215 locate a system file that will work, you may specify /dev/null. This
216 acts as an empty system file, and the system will attempt to boot using
217 its default settings.
218
220 The /etc/system file is read only once, at boot time.
221
222
223
224SunOS 5.11 3 Nov 2004 system(4)