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