This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.0'.
[unix-history] / share / doc / smm / 01.setup / tahoe / 1.t
CommitLineData
15637ed4
RG
1.\" Copyright (c) 1988 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\" must display the following acknowledgement:
14.\" This product includes software developed by the University of
15.\" California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\" may be used to endorse or promote products derived from this software
18.\" without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\" @(#)1.t 1.6 (Berkeley) 5/7/91
33.\"
34.ds lq ``
35.ds rq ''
36.ds LH "Installing/Operating \*(4B
37.ds RH Introduction
38.ds CF \*(DY
39.LP
40.nr H1 1
41.bp
42.LG
43.B
44.ce
451. INTRODUCTION
46.sp 2
47.R
48.NL
49.PP
50This document explains how to install the Berkeley
51version of \*(Ux for the \*(Th on your system. While this is the first
52release from Berkeley for the \*(Th, the version of
53.UX
54distributed by Computer Consoles Inc. (CCI) was derived from 4.2BSD.
55Consequently, the filesystem
56format is compatible and it will only be necessary for you to perform
57a full bootstrap procedure if you are installing the release on a new
58machine.
59The System V \*(Ux systems distributed by CCI, Unisys (Sperry) and Harris
60are also derived from 4.2BSD, but only the network and filesystem
61remain compatible with \*(4B.
62The object file formats are completely different in the System V
63releases.
64Thus, the most straightforward procedure for upgrading a System V
65system is to perform a full bootstrap.
66.PP
67The full bootstrap procedure
68is outlined in chapter 2; the process includes booting standalone
69utilities from tape to format a disk, if necessary, and then copying
70a small root filesystem image onto a swap area. This filesystem is
71then booted and used to extract a dump of a standard root filesystem.
72Finally, that root filesystem is booted, and the remainder of the system
73binaries and sources are read from the archives on the tape(s).
74.PP
75The technique for upgrading a 4.2 or beta-release 4.3BSD system is described
76in chapter 3 of this document.
77As \*(4B is completely compatible with the beta release,
78and sufficiently compatible with the vendor-supplied 4.2BSD releases,
79the upgrade procedure involves extracting a new set of system binaries
80onto new root and /usr filesystems.
81The sources are then extracted, and local configuration files are merged
82into the new system. User filesystems may be upgraded in place.
83All 4.3BSD-beta binaries may be used with \*(4B in the course
84of the conversion.
85It is desirable to recompile local sources after the conversion,
86as the compilers have had many fixes installed.
87However, due to significant incompatibilities between
88the vendor-derived versions of 4.2BSD and the Berkeley \*(4B release, many
894.2BSD binary images will not function properly. For such programs it
90will be both necessary and desirable to recompile this software after
91the conversion. Consult section 3 for a description of the differences
92between \*(4B and the previous vendor-supplied systems for the \*(Th.
93.NH 2
94Hardware supported
95.PP
96This distribution can be booted on a CCI Power 6/32, Harris HCX-7,
97Unisys (Sperry) 7000/40, or ICL Clan 7 with any disks supported on the \*(Vs
98disk controllers sold by these vendors (SMD/E or VDDC).
99The new CCI SMD/E controller with working scatter-gather I/O
100is supported as well.
101In particular, the following drives are supported:
102.DS
103.TS
104l l.
105FUJITSU 160M CDC 9766 300M
106FUJITSU 330M CDC 340M
107FUJITSU 2351 Eagle CDC 515M
108Maxtor 340M
109.TE
110.DE
111The distribution can also be booted on a Harris HCX-9
112using any disk on the HDC disk controller on the \*(Vm,
113although the \*(Vm tapes are not currently supported.
114.PP
115The only tape drives supported by this distribution are 9-track tape drives
116attached to the Ciprico Tapemaster tape controller.
117.NH 2
118Distribution format
119.PP
120The distribution comes in two formats:
121.DS
122(3)\0\0 1600bpi 2400' 9-track magnetic tapes, or
123(1)\0\0 6250bpi 2400' 9-track magnetic tape
124.DE
125Installation from scratch on any machine requires a tape unit. If your
126machine is currently running 4.2 or 4.3BSD-beta and has a network connection
127to a 4.2 or 4.3BSD machine with a tape drive, it is a simple matter to
128install the software from a remote tape drive.
129.PP
130If you have the facilities, we \fBstrongly\fP recommend copying the
131magnetic tape(s) in the distribution kit to guard against disaster.
132The tapes contain some 1024-byte records followed by many
13310240-byte records. There are interspersed tape marks;
134end-of-tape is signaled by a double end-of-file. The first file
135on the tape is a very small file system containing
136preliminary bootstrapping programs. This is followed by a binary image
137of an approximately 2 megabyte ``mini root'' file system. Following
138the mini root file is a full dump of the root file system
139(see \fIdump\fP\|(8)*).
140.FS
141\ * References of the form \fIX\fP(Y) mean the entry named
142\fIX\fP in section Y of the
143.UX
144programmer's manual.
145.FE
146Additional files on the tape(s)
147contain tape archive images of the system binaries and sources (see
148\fItar\fP\|(1)). See Appendix A for a description of the contents
149and format of the tape(s).
150One file contains software
151contributed by the user community; refer to the accompanying
152documentation for a description of its contents and an
153explanation of how it should be installed.
154.NH 2
155Hardware terminology
156.PP
157This section gives a short discussion of hardware terminology
158to help you get your bearings.
159.PP
160The Power 6/32 (and most related machines being shipped) use a \*(Vs
161for all I/O peripherals.
162The console processor used for bootstrap and
163diagnostic purposes is also located on the \*(Vs.
78ed81a3 164The Harris HCX-9 uses a \*(Vm instead of a \*(Vs; however, the architecture
15637ed4
RG
165is completely analogous, and the following discussion applies with the
166exception of the name of the bus and the name of the disk controller.
167The device naming
168conventions described here apply to the console processor; under \*(Ux
169device naming is considerably simpler.
170.PP
171The \*(Vs is a 32-bit bus that supports devices which
172use 16-bit, 24-bit, or 32-bit addresses (or some combination).
173The type of each address placed on the \*(Vs is indicated
174by an accompanying \fIaddress modifier\fP. In addition to the
175width of the
176address present on the bus, \*(Vs address modifiers
177may be used to indicate the privileges of the requesting
178program (.e.g the program is executing in supervisory mode).
179The 6/32's \*(Vs adapter accepts device requests with either
18016, 24, or 32-bit address modifiers.
18116-bit addresses are used to access control registers
182for \*(Vs devices.
18324-bit addresses are used to access up to one megabyte of \*(Vs
184local memory or device shared memory
185as well as the first 15Mb of main memory.
18624-bit addresses are used for DMA by some peripherals,
187interpreting the address
188as an absolute physical address in referencing main memory.
189Other devices use 32-bit addressing, allowing them to access all
190of main memory.
191This means that the address space for 24-bit devices overlaps
192that of 32-bit devices.
193Devices which do not support full 32-bit
194addressing can be difficult to work with as their limited addressing
195restricts the placement of I/O buffers in main memory. Unfortunately,
196because the \*(Vs has had limited acceptance, there are
197very few good \*(Vs device controllers available; this has
198resulted in several non-\*(Vs devices being attached to the
199\*(Vs through bus-adapter cards. Devices of this sort often
200support only 20-bit or 24-bit addressing.
201.PP
202From the \*(Th side of the \*(Vs adaptor,
203the three address spaces are mapped so as to avoid
204overlaps. Physical addresses in the range 0xffff0000 to 0xfffffff are
205used to access \*(Vs devices which use 16-bit addresses. References
206to this region of the \*(Th address space result in a \*(Vs
207transfer with a 16-bit address generated from the lower order 16
208bits of the memory address and a ``short addressing non-privileged I/O
209access'' address modifier (0x10). Addresses in the range 0xff000000 to
2100xffff0000 are used to access 24-bit \*(Vs devices, generating a 24-bit
211address and a ``standard addressing non-privileged data access''
212address modifier (0x01).
213Within this range, addresses from 0xfff00000 to 0xffff0000 refer
214to \*(Vs local memory used by devices (such as the VIOC)
215for shared communication areas.
216Finally, any other address in the
217the primary I/O adapter space, 0xc0000000 to 0xff000000, generates
218a 32-bit \*(Vs address with an ``extended addressing non-privileged
219data access'' address modifier (0xf1). Note, however, that 32-bit
220addresses generated by references to this region result in a \*(Vs
221address with bits 31-30 set to 0. Thus, for example, a reference to
222a device located at 0xfe000000 would result in a \*(Vs transfer
223with the address set to 0x3e000000. A complete list of the characteristics
224of the devices supported in the system may be found in Appendix A.
225.PP
226The console processor on most \*(Vs machines has a set of names for devices:
227.DS
228.TS
229l l.
230FUJITSU 160M disk drives fsd
231FUJITSU 330M disk drives fuj
232FUJITSU 450M disk drives egl**
233CDC 300M disk drives smd
234CDC 340M disk drives xfd
235CDC 515M disk drives xsd
236MXD Maxtor 340M disk drives mxd
237Cipher tape drives cyp
238.TE
239.FS
240**\|Eagle drives are not supported by the console processor on all tahoe
241machines.
242.FE
243.DE
244Devices are fully specified to the console processor with:
245.DS
246xxx(y,z)
247.DE
248where \fIxxx\fP is one of the above names (e.g. \fIxfd\fP).
249The value \fIy\fP specifies a controller to use and also
250the device; it is computed as
251.DS
2528 * \fIcontroller\fP + \fIdevice\fP
253.DE
254Thus, controller 0 (by convention the controller located at \*(Vs
255address 0xfff2400), drive 0 would have a \fIy\fP value of 0
256while controller 1 (address of 0xfff2800) drive 0 would have a \fIy\fP
257value of 4*.
258.FS
259*\|Note that this means you can not reference drives 4-15 on a
260controller; as a result we expect the console interface to
261change soon.
262.FE
263The \fIz\fP value is interpreted differently for tapes and disks;
264for disks it is a disk block, and for tapes it is a file number
265on the tape.
266.PP
267The HCX-9 uses different controllers and terminology:
268.DS
269.TS
270l l.
271disks on HDC controller dsk
272Xylogics tapes ???
273.TE
274.DE
275Devices are fully specified to the console processor with:
276.DS
277xxx(x,y,z)
278.DE
279where \fIxxx\fP is one of the above names (e.g. \fIdsk\fP).
280The value \fIy\fP specifies the device unit number.
281Thus, controller 0 (by convention the controller located at \*(Vs
282address 0xfff2400), drive 0 would have a \fIy\fP value of 0
283while controller 1 (address of 0xfff2800) drive 0 would have a \fIy\fP
284value of 4*.
285The \fIz\fP value is interpreted as on the other systems.
286.PP
287The console processor has the notion of a \fIdefault device\fP
288to use with file related commands. The default device is specified
289according to the form shown above. Further, the console processor,
290by default, interprets certain system files on the default disk to discover
291information about disk drives in the system. As
292.UX
293device names are decidedly different from the names used by the
294console processor this can lead to serious confusion. We will
295return to this problem later in section 4; for now you should
296simply be aware of the difference in naming conventions.
297.NH 2
298\*(Ux device naming
299.PP
300\*(Ux has a set of names for devices which are different
301from the CCI names for the devices, viz.:
302.DS
303.TS
304l l.
305\*(Vs (SMD/E, VDDC) disk drives dk
306\*(Vm (HDC) disk drives hd
307Cipher tape drives cy
308.TE
309.DE
310.PP
311The standalone system, used to bootstrap the full \*(Ux system,
312uses device names of the form:
313.DS
314xx(c,d,p)
315.DE
316where \fIxx\fP is the device type, normally \fIdk\fP or \fIcy\fP. The
317value \fIc\fP specifies the controller to use, and \fId\fP specifies
318the device. The \fIp\fP value is interpreted differently for tapes
319and disks: for disks it is a disk \fIpartition\fP (in the range 0-7),
320and for tapes it is a file number offset on the tape. Thus, partition
3211 of a ``dk'' type disk drive on controller vd0 at drive 0 would be
322``dk(0,0,1)''. Normally the controller will be controller 0; it
323may therefore be omitted from the device specification, and most of
324the examples in this document reflect this. When not running
325standalone, this partition would normally be available as ``/dev/dk0b''.
326Here the prefix ``/dev'' is the name of the directory where all
327``special files'' normally live, the ``dk'' serves the obvious purpose,
328the ``0'' identifies this as a partition of dk drive number ``0'' and
329the ``b'' identifies this as the second partition.
330.PP
331In all simple cases, where only a single controller is present, a drive
332with unit number 0 (determined by its unit plug on the front of the drive)
333will be called unit 0 in its \*(Ux file name. This is not, however, strictly
334necessary, since the system has a level of indirection in this naming.
335If there are multiple controllers, the disk unit numbers will normally
336be counted sequentially across controllers. This can be taken
337advantage of to make the system less dependent on the interconnect
338topology, and to make reconfiguration after hardware failure extremely
339easy.
340.PP
341Each \*(Ux physical disk is divided into at most 8 logical disk partitions,
342each of which may occupy any consecutive cylinder range on the physical
343device. The cylinders occupied by the 8 partitions for each drive type
344are specified initially in the disk description file /etc/disktab
345(c.f. \fIdisktab\fP(5)). The partition information and description of the
346drive geometry are written in the first sector of each disk with the
347\fIdisklabel\|\fP(8) program. Each partition may be used for either a
348raw data area such as a paging area or to store a \*(Ux file system.
349It is conventional for the first partition on a disk to be used
350to store a root file system, from which \*(Ux may be bootstrapped.
351The second partition is traditionally used as a paging area, and the
352rest of the disk is divided into spaces for additional ``mounted
353file systems'' by use of one or more additional partitions.
354.PP
355Returning to the discussion of the standalone system, we recall
356that tapes also took three integer parameters. In the normal case
357where the Cipher tape drive is unit 0 on the first controller
358(the only unit supported by the standalone utilities), the
359files on the tape have names ``cy(0,0,0)'' (or just ``cy(0,0)'',
360``cy(0,1)'', etc.
361Here ``file'' means a tape file containing a single data stream
362terminated by a tape mark.*
363.FS
364* Note that while a tape file consists of a single data stream,
365the distribution tape(s) have data structures in these files.
366Although the tape(s) contain only a few tape files, they comprise
367several thousand \*(Ux files.
368.FE
369.NH 2
370\*(Ux devices: block and raw
371.PP
372\*(Ux makes a distinction between ``block'' and ``raw'' (character)
373devices. Each disk has a block device interface where
374the system makes the device byte addressable and you can write
375a single byte in the middle of the disk. The system will read
376out the data from the disk sector, insert the byte you gave it
377and put the modified data back. The disks with the names
378``/dev/xx0[a-h]'', etc., are block devices.
379There are also raw devices available.
380These have names like ``/dev/rxx0[a-h]'', the
381``r'' here standing for ``raw''.
382Raw devices bypass the buffer cache and use DMA directly to/from
383the program's I/O buffers;
384they are normally restricted to full-sector transfers.
385In the bootstrap procedures we
386will often suggest using the raw devices, because these tend
387to work faster.
388Raw devices are used when making new filesystems,
389when checking unmounted filesystems,
390or for copying quiescent filesystems.
391The block devices are used to mount file systems,
392or when operating on a mounted filesystem such as the root.
393.PP
394You should be aware that it is sometimes important whether to use
395the character device (for efficiency) or not (because it wouldn't
396work, e.g. to write a single byte in the middle of a sector).
397Don't change the instructions by using the wrong type of device
398indiscriminately.