Annotation of 43BSDReno/share/doc/smm/01.setup/tahoe/1.t, revision 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.