Commit | Line | Data |
---|---|---|
b57e5501 KM |
1 | .\" Copyright (c) 1983 Regents of the University of California. |
2 | .\" All rights reserved. The Berkeley software License Agreement | |
3 | .\" specifies the terms and conditions for redistribution. | |
4 | .\" | |
57349e41 | 5 | .\" @(#)2.t 6.2 (Berkeley) %G% |
b57e5501 | 6 | .\" |
57349e41 MK |
7 | .\".ds RH "Configuration File Contents |
8 | .ne 2i | |
9 | .NH | |
10 | CONFIGURATION FILE CONTENTS | |
b57e5501 KM |
11 | .PP |
12 | A system configuration must include at least the following | |
13 | pieces of information: | |
14 | .IP \(bu 3 | |
15 | machine type | |
16 | .IP \(bu 3 | |
17 | cpu type | |
18 | .IP \(bu 3 | |
19 | system identification | |
20 | .IP \(bu 3 | |
21 | timezone | |
22 | .IP \(bu 3 | |
23 | maximum number of users | |
24 | .IP \(bu 3 | |
25 | location of the root file system | |
26 | .IP \(bu 3 | |
27 | available hardware | |
28 | .PP | |
29 | .I Config | |
30 | allows multiple system images to be generated from a single | |
31 | configuration description. Each system image is configured | |
32 | for identical hardware, but may have different locations for the root | |
33 | file system and, possibly, other system devices. | |
34 | .NH 2 | |
35 | Machine type | |
36 | .PP | |
37 | The | |
38 | .I "machine type" | |
57349e41 MK |
39 | indicates if the system is going to operate on a DEC VAX-11\(dg computer, |
40 | .FS | |
41 | \(dg DEC, VAX, UNIBUS, MASSBUS and MicroVAX are trademarks of Digital | |
42 | Equipment Corporation. | |
43 | .FE | |
44 | or some other machine on which 4.3BSD operates. The machine type | |
45 | is used to locate certain data files which are machine specific, and | |
46 | also to select rules used in constructing the resultant | |
b57e5501 KM |
47 | configuration files. |
48 | .NH 2 | |
49 | Cpu type | |
50 | .PP | |
51 | The | |
52 | .I "cpu type" | |
53 | indicates which, of possibly many, cpu's the system is to operate on. | |
54 | For example, if the system is being configured for a VAX-11, it could | |
57349e41 MK |
55 | be running on a VAX 8600, VAX-11/780, VAX-11/750, VAX-11/730 or MicroVAX II. |
56 | (Other VAX cpu types, including the 8650, 785 and 725, are configured using | |
57 | the cpu designation for compatible machines introduced earlier.) | |
58 | Specifying | |
59 | more than one cpu type implies that the system should be configured to run | |
60 | on any of the cpu's specified. For some types of machines this is not | |
b57e5501 KM |
61 | possible and |
62 | .I config | |
63 | will print a diagnostic indicating such. | |
64 | .NH 2 | |
65 | System identification | |
66 | .PP | |
67 | The | |
68 | .I "system identification" | |
69 | is a moniker attached to the system, and often the machine on which the | |
70 | system is to run. For example, at Berkeley we have machines named Ernie | |
71 | (Co-VAX), Kim (No-VAX), and so on. The system identifier selected is used to | |
72 | create a global C ``#define'' which may be used to isolate system dependent | |
73 | pieces of code in the kernel. For example, Ernie's Varian driver used | |
74 | to be special cased because its interrupt vectors were wired together. The | |
75 | code in the driver which understood how to handle this non-standard hardware | |
76 | configuration was conditionally compiled in only if the system | |
77 | was for Ernie. | |
78 | .PP | |
79 | The system identifier ``GENERIC'' is given to a system which | |
80 | will run on any cpu of a particular machine type; it should not | |
81 | otherwise be used for a system identifier. | |
82 | .NH 2 | |
83 | Timezone | |
84 | .PP | |
85 | The timezone in which the system is to run is used to define the | |
86 | information returned by the \fIgettimeofday\fP\|(2) | |
87 | system call. This value is specified as the number of hours east | |
88 | or west of GMT. Negative numbers indicate a value east of GMT. | |
89 | The timezone specification may also indicate the | |
90 | type of daylight savings time rules to be applied. | |
91 | .NH 2 | |
92 | Maximum number of users | |
93 | .PP | |
94 | The system allocates many system data structures at boot time | |
95 | based on the maximum number of users the system will support. | |
96 | This number is normally between 8 and 40, depending | |
97 | on the hardware and expected job mix. The rules | |
98 | used to calculate system data structures are discussed in | |
99 | Appendix D. | |
100 | .NH 2 | |
101 | Root file system location | |
102 | .PP | |
103 | When the system boots it must know the location of | |
104 | the root of the file system | |
105 | tree. This location and the part(s) of the disk(s) to be used | |
106 | for paging and swapping must be specified in order to create | |
107 | a complete configuration description. | |
108 | .I Config | |
109 | uses many rules to calculate default locations for these items; | |
110 | these are described in Appendix B. | |
111 | .PP | |
112 | When a generic system is configured, the root file system is left | |
113 | undefined until the system is booted. In this case, the root file | |
114 | system need not be specified, only that the system is a generic system. | |
115 | .NH 2 | |
116 | Hardware devices | |
117 | .PP | |
118 | When the system boots it goes through an | |
119 | .I autoconfiguration | |
120 | phase. During this period, the system searches for all | |
121 | those hardware devices | |
122 | which the system builder has indicated might be present. This probing | |
123 | sequence requires certain pieces of information such as register | |
124 | addresses, bus interconnects, etc. A system's hardware may be configured | |
125 | in a very flexible manner or be specified without any flexibility | |
126 | whatsoever. Most people do not configure hardware devices into the | |
127 | system unless they are currently present on the machine, expect | |
128 | them to be present in the near future, or are simply guarding | |
129 | against a hardware | |
130 | failure somewhere else at the site (it is often wise to configure in | |
131 | extra disks in case an emergency requires moving one off a machine which | |
132 | has hardware problems). | |
133 | .PP | |
134 | The specification of hardware devices usually occupies the majority of | |
135 | the configuration file. As such, a large portion of this document will | |
136 | be spent understanding it. Section 6.3 contains a description of | |
137 | the autoconfiguration process, as it applies to those planning to | |
138 | write, or modify existing, device drivers. | |
139 | .NH 2 | |
57349e41 MK |
140 | Pseudo devices |
141 | .PP | |
142 | Several system facilities are configured in a manner like that used | |
143 | for hardware devices although they are not associated with specific hardware. | |
144 | These system options are configured as | |
145 | .IR pseudo-devices . | |
146 | Some pseudo devices allow an optional parameter that sets the limit | |
147 | on the number of instances of the device that are active simultaneously. | |
148 | .NH 2 | |
149 | System options | |
b57e5501 KM |
150 | .PP |
151 | Other than the mandatory pieces of information described above, it | |
57349e41 MK |
152 | is also possible to include various optional system facilities |
153 | or to modify system behavior and/or limits. | |
154 | For example, 4.3BSD can be configured to support binary compatibility for | |
b57e5501 KM |
155 | programs built under 4.1BSD. Also, optional support is provided |
156 | for disk quotas and tracing the performance of the virtual memory | |
157 | subsystem. Any optional facilities to be configured into | |
158 | the system are specified in the configuration file. The resultant | |
159 | files generated by | |
160 | .I config | |
161 | will automatically include the necessary pieces of the system. |