Installing Unix Seventh Edition
There is a Setting up UNIX - Sixth Edition document, but it is mostly a checklist of what to do to install Unix on a PDP-11 (one of the models supporting memory management with split Instruction and Data spaces); it does not provide much technical detail on what is actually happening.
UNIX Seventh Edition (often called UNIX V7) was normally installed from a tape; it was possible to install UNIX on a machine without a tape drive, by copying disk packs with UNIX on them, but this was not Bell Laboratories' usual distribution method. Thus installing UNIX V7 usually required a machine with a tape drive, and one or more disk drives.
The supported tape drives were the TU10, on a TM11 UNIBUS controller, and the TU16, on a TM02 MASSBUS controller. The supported disk drives were the RP03 on an RP11 UNIBUS controller, and the RP04-RP06, with an internal controller which connected to a MASSBUS. Later changes outside Bell added the RK05, on an RK11 UNIBUS controller, and the RL01 or RL02 on an RL11 UNIBUS controller.
The first stage is a tape bootstrap (loaded from block 0, or block 1, depending on the tape drive/controller on the system). That is then used to load a stand-along second-stage bootstrap program, which includes disk and tape drivers. That in turn is used to load one of a number of intermediate programs which run stand-alone:
These programs are identical in function to the versions which run under time-sharing, but do not depend on an operating system; they include their own disk and tape drivers, along with a rudimentary implementation of the file system.
The procedure is to load 'mkfs', use it to create one or more empty file-systems on the disk(s), and then use 'restor' to load the file system contents into them.
Installation tape contents
The V7 distribution tape contains a number of 512-byte records, and then a large number of 10240-byte records; these are separated into files using interspersed tape-marks:
- File 1:
- Block 0 - mboot (tm tape booter)
- Block 1 - hboot (ht tape booter)
- Blocks 2-xx - second-level bootstrap 'boot'
- File 2: 'cat' (program to copy a file to the console)
- File 3: A list of the files on the tape
- File 4: 'mkfs' (program to create a blank file system)
- File 5: 'restor' (program to restore a file-system from a dump tape)
- File 6: A dump of rp0 (root file-system)
- File 7: A dump of rp3
The 'rp0' dump contains a UNIX root partition, with everything needed to allow UNIX to run: all the commands, and the source for the operating system (to allow reconfiguration of the OS to match the system's hardware). The 'rp3' dump contains source for all the commands, and all the documentation.