Annotation of 43BSDReno/share/doc/smm/01.setup/tahoe/1.t, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.