Subject: Disklabels arrive for 2.11BSD (#267 part 18 of 18) Index: sys,bin,usr.lib,(many more)/ 2.11BSD Description: The moving the partitions tables out of the disk drivers and to a disklabel residing on the media has been on the wish list for many many years. Disklabels have finally arrived for 2.11BSD! Repeat-By: Observation. Also a reading of the setup and installation documentation for previous 2BSD releases (2.9, 2.10, 2.11) all have a paragraph similar to this present: "It is possible to change the partitions by changing the code for the table in the disk driver. Since it's desirable to do this, these tables really should be read off each pack...." Fix: This is part 18 of 18. Gather all parts before doing anything except reading the instructions which are in #250 (part 1). Updated by this part is the entire setup/installation documentation: /VERSION /usr/doc/2.10/setup.2.11/0.t /usr/doc/2.10/setup.2.11/1.t /usr/doc/2.10/setup.2.11/2.t /usr/doc/2.10/setup.2.11/3.t /usr/doc/2.10/setup.2.11/4.t /usr/doc/2.10/setup.2.11/5.t /usr/doc/2.10/setup.2.11/6.t /usr/doc/2.10/setup.2.11/Makefile /usr/doc/2.10/setup.2.11/a.t /usr/doc/2.10/setup.2.11/b.t /usr/doc/2.10/setup.2.11/spell.ok b.t is a new file added to the system by unpacking the shar file included below. 'b.t' is Appendix B in the documentation and gives a tour thru the standalone disklabel program. NOTE: IF you wish to have a copy of the old setup documents you should format and print them now. Cut where indicated and save to a file (/tmp/267). Then: cd /tmp sh 267 sh doc.shar patch -p0 < doc.patch rm 267 doc.shar doc.patch ------------------------cut here----------------------- #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # doc.shar # doc.patch # This archive created: Tue Jul 11 21:17:44 1995 export PATH; PATH=/bin:/usr/bin:$PATH if test -f 'doc.shar' then echo shar: "will not over-write existing file 'doc.shar'" else sed 's/^Y//' << \SHAR_EOF > 'doc.shar' Y#! /bin/sh Y# This is a shell archive, meaning: Y# 1. Remove everything above the #! /bin/sh line. Y# 2. Save the resulting text in a file. Y# 3. Execute the file with /bin/sh (not csh) to create: Y# /usr/doc/2.10/setup.2.11/b.t Y# This archive created: Tue Jul 11 21:05:06 1995 Yexport PATH; PATH=/bin:/usr/bin:$PATH Yif test -f '/usr/doc/2.10/setup.2.11/b.t' Ythen Y echo shar: "will not over-write existing file '/usr/doc/2.10/setup.2.11/b.t'" Yelse Ysed 's/^X//' << \SHAR_EOF > '/usr/doc/2.10/setup.2.11/b.t' YX.\" Placed in the public domain June 17, 1995. YX.\" YX.\" @(#)b.t 1.1 (2.11BSD) 1995/07/10 YX.\" YX.de IR YX\fI\\$1\fP\|\\$2 YX.. YX.ds LH "Installing/Operating \*(2B YX.nr H1 8 YX.nr H2 0 YX.ds RH "Appendix B \- standalone disklabel program YX.ds CF \*(DY YX.bp YX.LG YX.B YX.ce YXAPPENDIX B \- STANDALONE DISKLABEL PROGRAM YX.sp 2 YX.R YX.NL YX.NH 2 YXStandalone disklabel example YX.PP YXThis is a real example of using the disklabel program to place a label YXon a disk. User input is in \fBbold\fP type. The disklabel program was YXloaded from a bootable TK50. The disk being labeled in a RD54. The BOOT> YXprompt is from the 11/73 console ODT, if you are using an 11/44 the prompt YXwill be >>>. YX.PP YXThe first thing that is done is request disklabel to create a default YXpartition ('a') which spans the entire disk. Some disk types have fixed YXsizes and geometries, for example RK05 (rk), RK06/7 (hk) and RL02 (rl) YXdrives. With this type of disk the standalone disklabel program will generate YXa label with the correct geometry and 'a' partition size. With MSCP ('ra') YXdisks disklabel will query the controller for the information it needs. The YXlast type of disk, SMD (xp), presents many problems, disklabel will attempt YXto determine the drive type and geometry but you will have to verify the YXinformation. YX.sp YX.in +0.6i YXIndented paragraphs like this one are explanatory comments and YXare not part of the output from the disklabel program. In the case of MSCP YXdrives the number of cylinders may be 1 too low. This is discussed in the YXexample below. YX.br YX.in -0.6i YX.nf YX YXBOOT> \fBMU 0\fP YX YX73Boot from tms(0,0,0) at 0174500 YX: \fBtms(0,1)\fP YXBoot: bootdev=06001 bootcsr=0174500 YXdisklabel YXDisk? \fBra(0,0)\fP YXd(isplay) D(efault) m(odify) w(rite) q(uit)? \fBD\fP YXd(isplay) D(efault) m(odify) w(rite) q(uit)? \fBd\fP YX YXtype: MSCP YXdisk: RD54 YXflags: YXbytes/sector: 512 YXsectors/track: 17 YXtracks/cylinder: 15 YXsectors/cylinder: 255 YXcylinders: 1220 YXrpm: 3600 YXdrivedata: 0 0 0 0 0 YX YX1 partitions: YX# size offset fstype [fsize bsize] YX a: 311200 0 2.11BSD 1024 1024 # (Cyl. 0 - 1220*) YX YX.fi YX.in +0.6i YXThe columns do not line up nicely under the headings due to limitations YXof the sprintf() routine in the standalone I/O package. There is no YXcapability to justify the output. It should be obvious which column YXbelongs under which heading. The '*' says that the partition does not YXend on a cylinder boundary. This is due to the peculiar way in which YXMSCP returns the geometry information: sectors/track * tracks/cylinder * YXcylinders != sectors per volume. YX.sp YX.in -0.6i YX.nf YXd(isplay) D(efault) m(odify) w(rite) q(uit)? \fBm\fP YXmodify YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBm\fP YX YX.fi YX.in +0.6i YXIt is normally not necessary to change the geometry of an MSCP disk. On YXthe other hand it will almost always be necessary to specify the geometry YXof an SMD drive (one which uses the XP driver). Since the drive being YXlabeled is an MSCP drive the next step is to set the pack label to something YXother than DEFAULT. YX.br YX.in -0.6i YX.nf YX YXmodify misc YXd(isplay) t(ype) n(ame) l(able) f(lags) r(pm) D(rivedata) q(uit)? \fBl\fP YXlabel [DEFAULT]: \fBTESTING\fP YXmodify misc YXd(isplay) t(ype) n(ame) l(able) f(lags) r(pm) D(rivedata) q(uit)? \fBq\fP YXmodify YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBp\fP YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBd\fP YX YXtype: MSCP YXdisk: RD54 YXflags: YXbytes/sector: 512 YXsectors/track: 17 YXtracks/cylinder: 15 YXsectors/cylinder: 255 YXcylinders: 1220 YXrpm: 3600 YXdrivedata: 0 0 0 0 0 YX YX1 partitions: YX# size offset fstype [fsize bsize] YX a: 311200 0 2.11BSD 1024 1024 # (Cyl. 0 - 1220*) YX YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBs\fP YXa b c d e f g h q(uit)? \fBa\fP YXsizes and offsets may be given as sectors, cylinders YXor cylinders plus sectors: 6200, 32c, 19c10s respectively YXmodify partition 'a' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBs\fP YX\'a' size [311200]: \fB15884\fP YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBq\fP YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBs\fP YXa b c d e f g h q(uit)? \fBb\fP YXsizes and offsets may be given as sectors, cylinders YXor cylinders plus sectors: 6200, 32c, 19c10s respectively YXmodify partition 'b' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBo\fP YX\'b' offset [0]: \fB15884\fP YXmodify partition 'b' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBs\fP YX\'b' size [0]: \fB16720\fP YXmodify partition 'b' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBt\fP YX\'b' fstype [unused]: \fBswap\fP YXmodify partition 'b' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBq\fP YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBs\fP YXa b c d e f g h q(uit)? \fBc\fP YXsizes and offsets may be given as sectors, cylinders YXor cylinders plus sectors: 6200, 32c, 19c10s respectively YXmodify partition 'c' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBo\fP YX\'c' offset [0]: \fB0\fP YXmodify partitions 'c' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBs\fP YX\'c' size [0]: \fB311200\fP YXmodify partitions 'c' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBt\fP YX\'c' fstype [unused]: \fBunused\fP YXmodify partitions 'c' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBq\fP YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBs\fP YXa b c d e f g h q(uit)? \fBg\fP YXsizes and offsets may be given as sectors, cylinders YXor cylinders plus sectors: 6200, 32c, 19c10s respectively YXmodify partition 'g' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBo\fP YX\'g' offset [0]: \fB32604\fP YXmodify partition 'g' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBs\fP YX\'g' size [0]: \fB278596\fP YXmodify partition 'g' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBt\fP YX\'g' fstype [unused]: \fB2.11BSD\fP YXmodify partition 'g' YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBq\fP YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBn\fP YXNumber of partitions (8 max) [7]? \fB7\fP YXmodify partitions YXd(isplay) n(umber) s(elect) q(uit)? \fBq\fP YXmodify YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBd\fP YX YXtype: MSCP YXdisk: RD54 YXlabel: TESTING YXflags: YXbytes/sector: 512 YXsectors/track: 17 YXtracks/cylinder: 15 YXsectors/cylinder: 255 YXcylinders: 1220 YXrpm: 3600 YXdrivedata: 0 0 0 0 0 YX YX7 partitions: YX# size offset fstype [fsize bsize] YX a: 15884 0 2.11BSD 1024 1024 # (Cyl. 0 - 62*) YX b: 16720 15884 swap # (Cyl. 62*- 127*) YX c: 311200 0 unused 1024 1024 # (Cyl. 0 - 1220*) YX g: 278596 32604 2.11BSD 1024 1024 # (Cyl. 127- 1220*) YX YXmodify YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBq\fP YX YX.fi YX.in +0.6i YXOn MSCP disks it is possible you will see a warning error like this: YX.sp YXpartition c: extends past end of unit 0 311200 311100 YX.br YXpartition g: extends past end of unit 32604 278596 311100 YX.sp YXThis is not cause for panic. What this is saying is that the number of YXcylinders is one too low. MSCP devices do not necessarily use all of the YXlast cylinder. The total number of blocks is precisely known for MSCP YXdevices (it is returned in the act of bringing the drive online). YXHowever the number of sectors on the volume is not necessarily evenly YXdivisible by the number of sectors per track (311200 divided by 17*15 gives YX1220.392). Basically the last cylinder is not fully used. What must be done YXis raise the number of cylinders by 1. YX.sp YX\fBNOTE:\fP For any other disk type it is cause for concern if the warning YXabove is issued \- it means that incorrect partition or geometry information YXwas entered by the user and needs to be corrected. YX.sp YX.in -0.6i YX.nf YXd(isplay) D(efault) m(odify) w(rite) q(uit)? \fBm\fP YXmodify YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBg\fP YXmodify geometry YXd(isplay) s(ector/trk) t(rk/cyl) c(yl) S(ector/cyl) q(uit)? \fBc\fP YXcylinders [1220]: \fB1221\fP YXmodify geometry YXd(isplay) s(ector/trk) t(rk/cyl) c(yl) S(ector/cyl) q(uit)? \fBq\fP YXmodify YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBq\fP YXd(isplay) D(efault) m(odify) w(rite) q(uit)? \fBw\fP YXd(isplay) D(efault) m(odify) w(rite) q(uit)? \fBq\fP YX YX73Boot from tms(0,0,1) at 0174500 YX: \fBra(1,0,0)unix\fP YXra1 csr[00]: \fB0172154\fP YX YX.fi YX.in +0.6i YXThe last string entered shows how I boot from an alternate controller. In YXnormal use, i.e. with a single MSCP controller, the string would simply YXbe \fBra(0,0)unix\fP. YX.NH 2 YXStandalone disklabel program YX.PP YXThe standalone disklabel program is the second file on a boot tape (after YXthe bootblocks and boot program). It is used to place an initial label YXon a disk YXdescribing the disk and its partitions. The program is also used when the YXroot ('a') or swap ('b') partitions of a previously labeled system disk must YXbe modified. The second use is mandated because the YXroot and swap partitions can not be modified while the kernel has them YXopen. YX.PP YX\fIdisklabel\fP effectively runs in CBREAK mode \- you do not need to YXhit the RETURN key except when prompted for a multicharacter response YXsuch as a string (the pack label) or a number (partition size). YXDefaults are placed inside square brackets ([default]). Entering YXRETURN accepts the default. YX.PP YXThe program is organized into several levels. \fIdisklabel\fP prints the YXcurrent level out before prompting. At each level there is YXalways the choice of d(isplaying) the current label and q(uit)ing the current YXlevel and returning to the previous level. If you are at the top level YXand enter \fBq\fP the program will exit back to \fBBoot\fP unless you have made YXchanges to the disklabel. In that case you will be asked if you wish YXto discard the changes, if you answer \fBy\fP the changes will be discarded. YXIf the answer is \fBn\fP the \fBq\fP is ignored and \fIdisklabel\fP does YXnot exit. YX.PP YXIn the following paragraphs the convention is to \fBbold\fP the user input YXwhile leaving the output from \fIdisklabel\fP in normal type. The devices YXused were a TK50 and an RD54, thus the tape device is \fBtms\fP and the YXdisk device is \fBra\fP. YX.PP YXThe TK50 was booted resulting in the usual message from \fBBoot\fP: YX.LP YX73Boot from tms(0,0,0) at 0174500 YX.br YX: \fBtms(0,1)\fP YX.NH 2 YXDisklabel \- tour of the levels. YX.LP YXBoot: bootdev=06001 bootcsr=0174500 YX.br YXdisklabel YX.br YXDisk? \fBra(0,0)\fP YX.br YXd(isplay) D(efault) m(odify) w(write) q(uit)? \fBm\fP YX.sp YX.in +0.6i YXThe 'D' option will request \fIdisklabel\fP to create a default label based YXon what the program can determine about the drive. For some devices, such YXas RL01/02, RK06/07, MSCP (RD54, RA81, usw.), \fIdisklabel\fP can YXdetermine what the drive type is and how many sectors it has. For other YXdevices, such as SMD drives supported by the \fBxp\fP driver, the task is YXcomplicated by the number of different controllers and emulations supported. YXSome 3rd party controllers have capabilities that DEC controllers do not and YXthe \fBxp\fP has no way of knowing exactly which type of controller is YXpresent. In this case \fIdisklabel\fP will \fBguess\fP and then depend on YXyou to enter the correct data. YX.br YX.in -0.6i YX.sp YXmodify YX.br YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBg\fP YX.br YXmodify geometry YX.br YXd(isplay) s(ector/trk) t(rk/cyl) c(yl) S(ector/cyl) q(uit)? \fBq\fP YX.sp YX.in +0.6i YXThe Sector/cyl entry is rarely used. \fIdisklabel\fP will calculate YXthis quantity for you from the sector/trk and trk/cyl quantities. YX.br YX.in -0.6i YX.sp YXmodify YX.br YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBm\fP YX.br YXd(isplay) t(ype) n(ame) l(abel) f(lags) r(pm) D(rivedata) q(quit)? \fBf\fP YX.sp YX.in +0.6i YXType is one of: SMD, MSCP, old DEC, SCSI, ESDI, ST506, floppy. YX.sp YXName is a string up to 16 characters in length. It is typically YXsomething like \fBrd54\fP or \fBrm03\fP but may be any meaningful string. YX.sp YXLabel is an arbitrary string up to 16 characters in length \- nothing in YXthe system checks for or depends on the contents of the pack label string. YX.sp YXRpm is the rotational speed of the drive. Nothing in the system uses YXor depends on this at the present time. Default is 3600. YX.sp YXDrivedata consists of 5 longwords of arbitrary data. Reserved for future use. YX.br YX.in -0.6i YX.sp YXmodify misc flags YX.br YXd(isplay) c(lear) e(cc) b(adsect) r(emovable) q(uit)? \fBq\fP YX.sp YX.in +0.6i YXEcc says that the controller/driver can correct errors. YX.sp YXBadsect indicates that the controller/driver supports bad sector replacement. YX.sp YXRemovable indicates that the drive uses removable media (floppy, RL02, YXRA60 for example). YX.br YX.in -0.6i YX.sp YXmodify misc YX.br YXd(isplay) t(type) n(ame) l(abel) f(lags) r(pm) D(rivedata) q(uit)? \fBq\fP YX.br YXmodify YX.br YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBp\fP YX.br YXmodify partitions YX.br YXd(isplay) n(umber) s(elect) q(uit)? \fBn\fP YX.br YXNumber of partitions (8 max) [7]? \fB7\fP YX.sp YX.in +0.6i YXThis is the highest partition number considered to be valid. YX\fIdisklabel\fP will adjust this parameter semi-automatically at the YX\fBp\fP level but it may be necessary to use \fBn\fP in cases where YXsome partitions are not to be used or contain invalid information. YX.br YX.in -0.6i YX.sp YXmodify partitions YX.br YXd(isplay) n(umber) s(elect) q(uit)? \fBs\fP YX.br YXa b c d e f g h q(uit)? \fBa\fP YX.br YXsizes and offsets may be given as sectors, cylinders YX.br YXor cylinders plus sectors: 6200, 32c, 19c10 respectively YX.br YXmodify partition 'a' YX.br YXd(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? \fBq\fP YX.sp YX.in +0.6i YXZero clears the size and offset fields of a partition entry and sets the YXfilesystem type to \fBunused\fP. YX.sp YXType is the filesystem type and of the possible choices only \fB2.11BSD\fP, YX\fBswap\fP and \fBunused\fP make any sense to specify. YX.sp YXOffset is the number of sectors from the beginning of the disk at which the YXpartition starts. YX.sp YXSize is the number of sectors which the partition occupies. YX.sp YXFrag is the number of fragments a filesystem block can be broken into. YXIt is not presently used and should be left at the default of 1. YX.sp YXFsize is the filesystem blocksize and should be left at the default of YX1024. YX.sp YXmodify partitions YX.br YXd(isplay) n(umber) s(elect) q(uit)? \fBq\fP YX.br YXmodify YX.br YXd(isplay) g(eometry) m(isc) p(artitions) q(uit)? \fBq\fP YX.br YXd(isplay) D(efault) m(odify) w(write) q(uit)? \fBq\fP YX.br YXLabel changed. Discard changes [y/n]? \fBy\fP YX.br YX.sp 2 YX73Boot from tms(0,0,1) at 0174500 YX.NH 2 YXDisklabel \- helpful hints and tips. YX.PP YXDefine only those partitions you actually will use. There is no need to YXset up all 8 partitions. Drives less than 200Mb probably will only have YX3 partitions defined, 'a', 'b' and 'd' for /, swap and /usr respectively. YXRemember to set the number of partitions. Disklabel will attempt to do this YXfor you by keeping track of the highest partition you modify but this is YXnot foolproof. YX.PP YXDo not define overlapping partitions unless you are sure what you are YXdoing. \fIdisklabel\fP will warn you of overlapping partitions but will YXnot prohibit you from writing such a label to disk. YX.PP YXRemember that the prompt levels nest in \fIdisklabel\fP. It will be necessary YXin several cases to enter multiple \fBq\fP commands to get back to the top YXlevel. YX.PP YX.B IMPORTANT: YXKeep at least 1, preferably more, bootable tape or floppy with YX\fIdisklabel\fP on it present at all times. If the label on a disk YXever becomes corrupted the kernel will be very unhappy and probably won't YXboot. If this happens you will need to boot the standalone \fIdisklabel\fP YXprogram and relabel the disk. At least \*(2B provides a standalone YX\fIdisklabel\fP \- previous 4BSD systems which implemented disklabels did not YXand the cold-start of those systems was painful indeed. YX.PP YX.B IMPORTANT: YXWrite down in at least one place, and keep with the tape/floppy mentioned YXabove, the geometry and partition layout you assign to the disk. The YX\fIdisklabel\fI\|(8) program should be used to produce a hardcopy of the YXdisklabel. YSHAR_EOF Yfi Yexit 0 Y# End of shell archive SHAR_EOF fi if test -f 'doc.patch' then echo shar: "will not over-write existing file 'doc.patch'" else sed 's/^Y//' << \SHAR_EOF > 'doc.patch' Y*** /VERSION.old Wed Jun 21 21:15:04 1995 Y--- /VERSION Thu Jun 29 22:14:46 1995 Y*************** Y*** 1,4 **** Y! Current Patch Level: 249 Y Y 2.11 BSD Y ============ Y--- 1,4 ---- Y! Current Patch Level: 267 Y Y 2.11 BSD Y ============ Y*** /usr/doc/2.10/setup.2.11/0.t.old Sat Feb 6 00:18:44 1993 Y--- /usr/doc/2.10/setup.2.11/0.t Sun Jun 18 20:47:14 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)0.t 2.2 (GTE) Feb 6, 1993 Y .\" Y .EH 'setup.2.11 - %''Installing and Operating 2.11BSD on the PDP-11' Y .OH 'Installing and Operating 2.11BSD on the PDP-11''Setup.2.11 - %' Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)0.t 2.3 (GTE) 1995/06/13 Y .\" Y .EH 'setup.2.11 - %''Installing and Operating 2.11BSD on the PDP-11' Y .OH 'Installing and Operating 2.11BSD on the PDP-11''Setup.2.11 - %' Y*************** Y*** 13,25 **** Y .TL Y Installing and Operating \*(2B on the PDP-11 Y .br Y! February 6, 1993 Y .AU Y Steven Schultz Y .AI Y GTE Government Systems Y! 31717 La Tienda Drive Y! Westlake Village CA 91359-5027 Y sms@wlv.iipo.gtegsc.com Y .de IR Y \\fI\\$1\|\\fP\\$2 Y--- 13,25 ---- Y .TL Y Installing and Operating \*(2B on the PDP-11 Y .br Y! June 13, 1995 Y .AU Y Steven Schultz Y .AI Y GTE Government Systems Y! 112 Lakeview Canyon Y! Thousand Oaks CA 91362 Y sms@wlv.iipo.gtegsc.com Y .de IR Y \\fI\\$1\|\\fP\\$2 Y*** /usr/doc/2.10/setup.2.11/1.t.old Sat Feb 6 00:21:11 1993 Y--- /usr/doc/2.10/setup.2.11/1.t Mon Jul 10 22:44:47 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)1.t 2.2 (GTE) Feb 6, 1993 Y .\" Y .ds lq `` Y .ds rq '' Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)1.t 2.3 (GTE) 1995/06/13 Y .\" Y .ds lq `` Y .ds rq '' Y*************** Y*** 21,27 **** Y .NL Y .PP Y This document explains how to install \*(2B UNIX for the PDP-11 on your Y! system. While the system call interface is the same Y as that of \*(1B, Y a full bootstrap from the distribution tape is required because the Y filesystem has changed to allow file names longer than 14 characters. Y--- 21,33 ---- Y .NL Y .PP Y This document explains how to install \*(2B UNIX for the PDP-11 on your Y! system. This document has been revised several times since the first Y! release of \*(2B, most recently in July 1995 to reflect the addition of disk Y! labels to the system. The format of the bootable tape has changed. Y! There is now a standalone Y! .B disklabel Y! program present. Y! While the system call interface is the same Y as that of \*(1B, Y a full bootstrap from the distribution tape is required because the Y filesystem has changed to allow file names longer than 14 characters. Y*************** Y*** 57,63 **** Y .FS Y .IP \(ua Y \*(2B would probably only require a moderate amount of squeezing to Y! fit on machines with less memory, but it would also be quite Y unhappy about the prospect. Y .FE Y separate I&D, and with any of the following disks: Y--- 63,69 ---- Y .FS Y .IP \(ua Y \*(2B would probably only require a moderate amount of squeezing to Y! fit on machines with less memory, but it would also be very Y unhappy about the prospect. Y .FE Y separate I&D, and with any of the following disks: Y*************** Y*** 65,94 **** Y .TS Y lw(1.5i) l. Y RK06, RK07 Y! RD31, RD32, RD33, RD52, RD53, RD54 Y! RA60, RA70, RA71, RA72, RA73, RA80, RA81, RA82, RA90, RA92 Y! RZ23, RZ24, RZ25, RZ26 Y! RC25 Y! RM02, RM03, RM05 Y RP04, RP05, RP06 Y! Ampex 9300, CDC 9766, Diva Comp V, Fuji 160, Fuji Eagle Y .TE Y .DE Y .PP Y! Other discs are supported (RX23, RX33, RX50, RD51) but are not large Y! enough to hold a root filesystem plus a swap partition. Some discs Y! (the RL01 and RL02 for example) must be used in pairs (1 for the root Y! file system and the 2nd for swapping). These discs Y! may be used as data discs or as standalone boot media, but are not useable Y for loading the distribution. Others, while listed above, are not very Y well suited to loading the distribution. The RK06/07 drives are hard pressed Y! to even hold the system binaries much less the sources. Y .PP Y The tape drives supported by this distribution are: Y .DS Y .TS Y lw(1.5i) l. Y! TS11, TU80 Y TM11, AVIV 6250/1600 Y TE16, TU45, TU77 Y TK50, TU81, TU81+, TZ30 Y--- 71,100 ---- Y .TS Y lw(1.5i) l. Y RK06, RK07 Y! Any MSCP disk, including but not limited to: RD53, RD54, RA81, RZ2x Y! RM03, RM05 Y RP04, RP05, RP06 Y! Many other SMD disks, for example: CDC 9766, Fuji 160, Fuji Eagle Y .TE Y .DE Y .PP Y! Other disks are supported (RX23, RX33, RX50, RD51) but are not large Y! enough to hold a root filesystem plus a swap partition. The old restriction Y! of using RL02 drives in pairs has been lifted. It is now possible to define Y! a root ('a') partition and a swap partition ('b') and load at least the Y! root filesystem to a single RL02. Y! Discs which are too small to hold even a root filesystem (floppies for Y! example) Y! may be used as data disks or as standalone boot media, but are not useable Y for loading the distribution. Others, while listed above, are not very Y well suited to loading the distribution. The RK06/07 drives are hard pressed Y! to even hold the system binaries, much less the sources. Y .PP Y The tape drives supported by this distribution are: Y .DS Y .TS Y lw(1.5i) l. Y! TS11, TU80, TK25 Y TM11, AVIV 6250/1600 Y TE16, TU45, TU77 Y TK50, TU81, TU81+, TZ30 Y*************** Y*** 100,107 **** Y simulator works, KDJ-11 based systems have builtin floating point so the Y simulator can not be tested. At the release of \*(Ps some thought was given Y to the possibility of lifting the separate I&D restriction, but that Y! thought has languished. In all likelihood, the work will Y! probably never be done. As time passes more and more programs have Y become almost too large even with separate I&D. Y .NH 1 Y Distribution format Y--- 106,113 ---- Y simulator works, KDJ-11 based systems have builtin floating point so the Y simulator can not be tested. At the release of \*(Ps some thought was given Y to the possibility of lifting the separate I&D restriction, but that Y! thought has languished. The work will Y! never be done. As time passes more and more programs have Y become almost too large even with separate I&D. Y .NH 1 Y Distribution format Y*************** Y*** 109,114 **** Y--- 115,121 ---- Y The basic distribution contains the following items: Y .DS Y (2)\0\0 1600bpi 2400' magnetic tapes, or Y+ (2)\0\0 TK25 tape cartridges, or Y (1)\0\0 TK50 tape cartridge, and Y (1)\0\0 Hardcopy of this document, Y (1)\0\0 Hardcopy of the \fIChanges in \*(2B\fP document, Y*************** Y*** 127,159 **** Y distribution, but you will probably have to operate without source for the Y user level commands and, possibly, the source for the operating system. Y .PP Y! The root file system now occupies \fBa minimum of 4Mb\fP. Y! The RK06/07 and RM02/03 partition tables have been modified so that \fBall\fP Y! disks (with the exception of the RL01/02) have a root ('a') partition of at Y! least 4mb and a separate swap ('b') partition. The old practice of having Y! a 'e' or 'f' partition overlapping the (normal) 'a' and 'b' partitions is Y! no longer used. The RL01/RL02 driver doesn't support partitioning of Y! drives, so the GENERIC kernel (when booted from a RL01/02 drive) assumes Y! that its root device is drive zero (/dev/rl0h) and its swap device is drive Y! \fBone\fP (/dev/rl1h). This is possible because the RL driver stores the Y! unit number in the bits normally used for the partition number. Y .PP Y- NOTE: The old RK06/07 and RM02/03 overlaying of 'e' or 'f' partitions Y- on top of the 'a'+'b' partitions is no longer done. Y- .PP Y If you have the facilities, it is a good idea to copy the Y magnetic tape(s) in the distribution kit to guard against disaster. Y! The tapes are 9-track 1600 BPI or TK50 cartridge and contain some Y 512-byte records, followed by some 1024-byte records, Y followed by many 10240-byte records. Y There are interspersed tape marks; end-of-tape is signaled Y by a double end-of-file. Y .PP Y! The basic bootstrap material is present in five Y short files at the beginning of the first tape. Y The first file on the tape contains preliminary bootstrapping programs. Y! This is followed by stand alone versions of several file system Y! utilities (\fImkfs\fP\|(8), \fIrestor\fP\|(8), and \fIicheck\fP\|(8)\(ua) Y .FS Y .IP \(ua Y References of the form X(Y) mean the subsection named Y--- 134,159 ---- Y distribution, but you will probably have to operate without source for the Y user level commands and, possibly, the source for the operating system. Y .PP Y! The root file system now occupies \fBa minimum of 4Mb\fP. If at all possible Y! a larger, 6 or 7Mb, root partition should be defined when using the Y! standalone Y! .B disklabel Y! program. Y .PP Y If you have the facilities, it is a good idea to copy the Y magnetic tape(s) in the distribution kit to guard against disaster. Y! The tapes are 9-track 1600 BPI, TK50 or TK25 cartridges and contain some Y 512-byte records, followed by some 1024-byte records, Y followed by many 10240-byte records. Y There are interspersed tape marks; end-of-tape is signaled Y by a double end-of-file. Y .PP Y! The basic bootstrap material is present in six Y short files at the beginning of the first tape. Y The first file on the tape contains preliminary bootstrapping programs. Y! This is followed by several standalone Y! utilities (\fIdisklabel\fP, \fImkfs\fP\|(8), \fIrestor\fP\|(8), and Y! \fIicheck\fP\|(8)\(ua) Y .FS Y .IP \(ua Y References of the form X(Y) mean the subsection named Y*************** Y*** 167,173 **** Y all the remaining source that comes with the system. Y .PP Y The entire distribution (barely) fits on a single TK50 cartridge, references to Y! the second tape should be treated as being the 8th file on the TK50. Many of Y the programs in /usr/src/new have been tar+compress'd in order to keep the Y distribution to a single tape. Y .PP Y--- 167,173 ---- Y all the remaining source that comes with the system. Y .PP Y The entire distribution (barely) fits on a single TK50 cartridge, references to Y! the second tape should be treated as being the 9th file on the TK50. Many of Y the programs in /usr/src/new have been tar+compress'd in order to keep the Y distribution to a single tape. Y .PP Y*************** Y*** 180,192 **** Y _ Y 0 512 1 primary tape boot block Y 512 1 boot block (some tape boot ROMs go for this copy) Y! 512 14 stand alone \fBboot\fP program Y! 1 1024 28 stand alone \fBmkfs\fP(8) Y! 2 1024 27 stand alone \fBrestor\fP(8) Y! 3 1024 26 stand alone \fBicheck\fP(8) Y! 4 10240 300 \fIdump\fP of ``root'' file system Y! 5 10240 2300 \fItar\fP dump of /usr, excepting /usr/src Y! 6 10240 500 \fItar\fP dump of /usr/src/include and /usr/src/sys Y .TE Y Y TAPE 2: Y--- 180,193 ---- Y _ Y 0 512 1 primary tape boot block Y 512 1 boot block (some tape boot ROMs go for this copy) Y! 512 14 standalone \fBboot\fP program Y! 1 512 23 standalone \fBdisklabel\fP Y! 2 1024 28 standalone \fBmkfs\fP(8) Y! 3 1024 27 standalone \fBrestor\fP(8) Y! 4 1024 26 standalone \fBicheck\fP(8) Y! 5 10240 300 \fIdump\fP of ``root'' file system Y! 6 10240 2300 \fItar\fP dump of /usr, excepting /usr/src Y! 7 10240 500 \fItar\fP dump of /usr/src/include and /usr/src/sys Y .TE Y Y TAPE 2: Y*************** Y*** 201,207 **** Y .FS Y .IP \(ua Y The number of records in each tape file are approximate Y! and do not necessarly correspond to the actual number on the tape. Y .FE Y .NH 1 Y UNIX device naming Y--- 202,208 ---- Y .FS Y .IP \(ua Y The number of records in each tape file are approximate Y! and do not necessarily correspond to the actual number on the tape. Y .FE Y .NH 1 Y UNIX device naming Y*************** Y*** 230,251 **** Y .TS Y l l. Y SI 9500, CDC 9766 si Y- Ampex Capricorn xp Y SI, CDC 9775 xp Y! SI 6100, Fujitsu Eagle 2351A xp Y! Emulex SC01B or SI 9400, Fujitsu 160 xp Y! Emulex SC-21, Ampex xp Y! Diva Comp V, Ampex 9300 xp Y .TE Y .DE Y The generic SMD disk driver, \fIxp\fP, will handle Y most types of SMD disks on one or more controllers Y (even different types on the same controller). Y! The \fBxp\fP driver handles RM02, RM03, RM05, RP04, RP05 and RP06 Y! disks on DEC, Emulex, Diva, and SI UNIBUS or MASSBUS controllers. Y .PP Y! MSCP discs and TMSCP tapes include SCSI drives attached to the Y! RQZX1 controller on the PDP-11/93. MSCP discs and TMSCP tapes also include Y SCSI drives attached to the Emulex UC07 or UC08 Q-BUS controllers on Q-bus Y systems as well as the UC17 and UC18 controllers on UNIBUS systems. Y .PP Y--- 231,250 ---- Y .TS Y l l. Y SI 9500, CDC 9766 si Y SI, CDC 9775 xp Y! SI6100, Fujitsu Eagle 2351A xp Y! Emulex SC01B or SI9400, Fujitsu 160 xp Y! Emulex SC-21, xp Y .TE Y .DE Y The generic SMD disk driver, \fIxp\fP, will handle Y most types of SMD disks on one or more controllers Y (even different types on the same controller). Y! The \fBxp\fP driver handles RM03, RM05, RP04, RP05 and RP06 Y! disks on DEC, Emulex, Dilog, and SI UNIBUS or MASSBUS controllers. Y .PP Y! MSCP disks and TMSCP tapes include SCSI drives attached to the Y! RQZX1 controller on the PDP-11/93. MSCP disks and TMSCP tapes also include Y SCSI drives attached to the Emulex UC07 or UC08 Q-BUS controllers on Q-bus Y systems as well as the UC17 and UC18 controllers on UNIBUS systems. Y .PP Y*************** Y*** 252,273 **** Y The standalone system used to bootstrap the full UNIX system Y uses device names of the form: Y .DS Y! \fIxx\|\fP(\fIy\fP,\fIz\fP) Y .DE Y where \fIxx\fP is one of \fBhk\fP, \fBht\fP, \fBrk\fP, \fBrl\fP, Y! \fBtm\fP, \fBts\fP, \fBtms\fP, or \fBxp\fP. The value \fIy\fP Y specifies the device or drive unit to use. Y The \fIz\fP Y value is interpreted differently for tapes and disks: Y! for disks it is a block offset for a file system (always zero unless you Y! \fBreally\fP know what you are doing) Y! and for tapes it is a file number on the tape.\(ua Y .KS Y .FS Y .IP \(ua Y \fBNote:\fP that while a tape file consists of a single data stream, Y the distribution tape(s) have data structures in these files. Y! Although the first tape contain only 7 tape files, they comprise Y several thousand UNIX files. Y .IP Y \fBNote:\fP The standalone tape drive unit number is specially encoded Y--- 251,289 ---- Y The standalone system used to bootstrap the full UNIX system Y uses device names of the form: Y .DS Y! \fIxx\|\fP(\fIc\fP,\fIy\fP,\fIz\fP) Y .DE Y where \fIxx\fP is one of \fBhk\fP, \fBht\fP, \fBrk\fP, \fBrl\fP, Y! \fBtm\fP, \fBts\fP, \fBtms\fP, or \fBxp\fP. Y! The value \fIc\fP specifies the controller number (0-3). This value is Y! usually not explicitly given. The default is 0 if booting from the standard Y! (first) CSR of a device. Y! .PP Y! Example: if there are two MSCP controllers in Y! the system addressed as 0172150 and 0172154 respectively booting from the Y! controller at 172154 requires that \fIc\fP be given as 1. Booting from Y! the standard CSR of 0172150 would be done by specifying \fIc\fP as 0 or Y! omitting the \fIc\fP parameter. Y! \fBboot\fP automatically detects if the Y! first (standard) CSR is being used. All future references will ignore Y! the \fIc\fP parameter by assuming the default value. Y! .PP Y! The value \fIy\fP Y specifies the device or drive unit to use. Y The \fIz\fP Y value is interpreted differently for tapes and disks: Y! for disks it is a partition number (0 thru 7) corresponding to partitions Y! \'a\' thru \'h\' Y! respectively. This should always be zero unless you Y! \fBreally\fP know what you are doing. The ability to load a kernel from Y! the swap area is planned for the future but does not presently exist. Y! For tapes \fIz\fP is a file number on the tape.\(ua Y .KS Y .FS Y .IP \(ua Y \fBNote:\fP that while a tape file consists of a single data stream, Y the distribution tape(s) have data structures in these files. Y! Although the first tape contains only 8 tape files, they comprise Y several thousand UNIX files. Y .IP Y \fBNote:\fP The standalone tape drive unit number is specially encoded Y*************** Y*** 292,303 **** Y or controller) will be called unit 0 in its UNIX file name. Y file name. Y If there are multiple controllers, the drive unit numbers Y! will normally be counted sequentially across controllers. Thus drives on Y the the first controller are numbered 0 thru 7 and drives on the second Y! controller are numbered 8 thru 15. This can be taken Y! advantage of to make the system less dependent on the interconnect Y! topology, and to make reconfiguration after hardware Y! failure extremely easy. This will not be discussed now. Y Returning to the discussion of the standalone system, recall Y that tapes also took two integer parameters. In the case of a Y TE16/TU tape formatter on drive 0, the Y--- 308,316 ---- Y or controller) will be called unit 0 in its UNIX file name. Y file name. Y If there are multiple controllers, the drive unit numbers Y! will normally be counted within each controller. Thus drives on Y the the first controller are numbered 0 thru 7 and drives on the second Y! controller are numbered 0 thru 7 on controller 1. Y Returning to the discussion of the standalone system, recall Y that tapes also took two integer parameters. In the case of a Y TE16/TU tape formatter on drive 0, the Y*************** Y*** 310,337 **** Y .PP Y Each UNIX physical disk is divided into 8 logical disk partitions, Y each of which may occupy any consecutive cylinder range on the Y! physical device. The cylinders occupied Y by the 8 partitions for each drive type Y! are specified in section 4 of the programmers manual Y! and in the disk description file /etc/disktab (c.f. Y! \fIdisktab\fP(5)).\(dd Y! .FS Y! .IP \(dd Y! It is possible to change the partitions by changing the code for the Y! table in the disk driver. Since it's desirable to do this, these tables Y! really should be read off each pack. Unfortunately due to Y! many other commitments and a lack of copious "free time" Y! implementation of this feature has been postponed indefinitely (after Y! seeing how it works in 4.3Reno during a cold start i hesitate to inflict Y! it on the PDP-11 community). Y! .FE Y Each partition may be used Y! for either a raw data area (such as a swapping area) or to store a Y UNIX file system. Y! It is mandatory for the first partition on a disk to be used Y! to store a root file system if that drive is to be used to bootstrap a UNIX Y! system. If a drive is being used solely for data then that drive need not Y! have a root ('a') partition (or a 'b' partition). Y The second partition is used as a swapping area, and the Y rest of the disk is divided into spaces for additional ``mounted Y file systems'' by use of one or more additional partitions. Y--- 323,359 ---- Y .PP Y Each UNIX physical disk is divided into 8 logical disk partitions, Y each of which may occupy any consecutive cylinder range on the Y! physical device. While overlapping partitions are allowed they are not Y! a good idea, being an accident waiting to happen (making one filesystem will Y! destroy the other overlapping filesystems). Y! The cylinders occupied Y by the 8 partitions for each drive type Y! are specified Y! by the disk label read from the disk. Y! .PP Y! If no label exists the disk will Y! not be bootable and while the kernel attempts not to damage Y! unlabeled disks (by swapping to or doing a crash dump on a live filesystem) Y! there is a chance Y! that filesystem damage will result if a kernel is loaded from an unlabeled Y! disk. Y! .PP Y! The standalone \fBdisklabel\fP program is used to define the partition tables. Y Each partition may be used Y! either as a raw data area (such as a swapping area) or to store a Y UNIX file system. Y! It is mandatory for the first partition on a disk to start at sector offset 0 Y! because the 'a' partition is used to read and write the label (which is at Y! the beginning of the disk). Y! If the drive is to be used Y! to bootstrap a UNIX Y! system then the 'a' partition must be of type \fB2.11BSD\fP (FS_V71K in Y! \fIdisklabel.h\fP) and at least 4Mb is size. A 'b' partition of at least Y! 2-3Mb (4Mb is a good choice if space is available) for swapping is Y! also needed. Y! If a drive is being used solely for data then that drive need not Y! have a 'b' (swap) partition but partition 'a' must still span the first Y! part of the disk. Y The second partition is used as a swapping area, and the Y rest of the disk is divided into spaces for additional ``mounted Y file systems'' by use of one or more additional partitions. Y*************** Y*** 345,356 **** Y to overwrite the last few tracks and thereby destroying the bad sector Y information. Y .PP Y! Unfortunately not all the drivers follow the rules above. The MSCP Y! driver follows the rules, as does the RK06/07 driver. The 'xp' driver Y! alas has only been updated for the RM02/03 case (so as to cause minimal Y! disruption). In some cases it Y may be that the 8th ('h') partition is used for access to the entire Y! disc rather than the third ('c') partition. Y .NH 1 Y UNIX devices: block and raw Y .PP Y--- 367,382 ---- Y to overwrite the last few tracks and thereby destroying the bad sector Y information. Y .PP Y! Unfortunately while the drivers can follow the rules above the entries Y! in \fI/etc/disktab\fP (\fIdisktab\fP\|(5)) do not. The entries in Y! \fI/etc/disktab\fP are translations of the old partition tables which Y! used to be embedded in the device drivers and are thus probably not suitable Y! for use without editing. Y! In some cases it Y may be that the 8th ('h') partition is used for access to the entire Y! disk rather than the third ('c') partition. Y! Caution should be observed when using the \fInewfs\fP\|(8) and Y! \fIdisklabel\fP\|(8) commands. Y .NH 1 Y UNIX devices: block and raw Y .PP Y*************** Y*** 381,383 **** Y--- 407,415 ---- Y work, e.g. to write a single byte in the middle of a sector). Y Don't change the instructions by using the wrong type of device Y indiscriminately. Y+ .PP Y+ The standalone \fBdisklabel\fP program must be used to alter the 'a' and 'b' Y+ partitions of a drive being used for a bootable system. This is because Y+ the kernel will not permit an open partition to change size or offset. Y+ The root and and swap partitions are \fBalways\fP open when the kernel is Y+ running. Y*** /usr/doc/2.10/setup.2.11/2.t.old Sat Feb 6 00:25:46 1993 Y--- /usr/doc/2.10/setup.2.11/2.t Mon Jul 10 22:44:47 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)2.t 1.6 (GTE) Feb 6, 1993 Y .\" Y .ds lq `` Y .ds rq '' Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)2.t 1.7 (GTE) 1995/06/13 Y .\" Y .ds lq `` Y .ds rq '' Y*************** Y*** 47,71 **** Y working system involves the following major Y steps: Y .IP 1) Y! Loading the tape bootstrap monitor. Y .IP 2) Y! Creating a UNIX ``root'' file system system on disk using \fImkfs\fP\|(8). Y .IP 3) Y! Restore the full root file system using \fIrestor\fP\|(8). Y .IP 4) Y! Boot the UNIX system on the new root file system and copy the Y! appropriate \fIdead start boot block\fP to your boot device. Y .IP 5) Y Build and restore the /usr file system from tape Y with \fItar\fP\|(1). Y- .IP 6) Y- Restore the include and kernel sources from tape. Y .IP 7) Y! Extract the remaining source from the second tape. Y .IP 8) Y! Build a \fI/boot\fP configured to locate your root file system for Y! auto-rebooting (see section 4.1). Tailor a version of UNIX to your Y! specific hardware (see section 4.2). Y .PP Y Certain of these steps are dependent on your hardware Y configuration. If your disks require formatting, standard DEC Y--- 47,71 ---- Y working system involves the following major Y steps: Y .IP 1) Y! Load the tape bootstrap monitor. Y .IP 2) Y! Create the partition tables on the disk using \fIdisklabel\fP. Y .IP 3) Y! Create a UNIX ``root'' file system system on disk using \fImkfs\fP\|(8). Y .IP 4) Y! Restore the full root file system using \fIrestor\fP\|(8). Y .IP 5) Y+ Boot the UNIX system on the new root file system and copy the Y+ appropriate \fIsector 0 boot block\fP to your boot device. Y+ .IP 6) Y Build and restore the /usr file system from tape Y with \fItar\fP\|(1). Y .IP 7) Y! Restore the include and kernel sources from tape. Y .IP 8) Y! Extract the remaining source from the second tape. Y! .IP 9) Y! Tailor a version of UNIX to your specific hardware (see section 4.2). Y .PP Y Certain of these steps are dependent on your hardware Y configuration. If your disks require formatting, standard DEC Y*************** Y*** 93,108 **** Y .DS Y .TS Y l l. Y! 012700 (mov $unit, r1) Y! 000000 (normally unit 0) Y 012700 (mov $172526, r0) Y 172526 Y 010040 (mov r0, -(r0)) Y 012740 (mov $60003, -(r0)) Y! 060003 (if unit 1 use 060403, etc) Y 000777 (br .) Y .TE Y .DE Y When this is executed, the first block of the tape will be read into memory. Y Halt the CPU and restart at location 0. Y .PP Y--- 93,144 ---- Y .DS Y .TS Y l l. Y! 012701 (mov $unit, r1) Y! 000000 (normally unit 0) Y 012700 (mov $172526, r0) Y 172526 Y 010040 (mov r0, -(r0)) Y 012740 (mov $60003, -(r0)) Y! 060003 (if unit 1 use 060403, etc) Y 000777 (br .) Y .TE Y .DE Y+ A toggle-in routine which has been used with a TS tape drive (this should Y+ be entered at 01000): Y+ .DS Y+ .TS Y+ l l. Y+ 012700 mov $unit,r0 Y+ 000000 Y+ 012701 mov $172522,r1 Y+ 172522 Y+ 005011 clr (r1) Y+ 105711 1b:tstb (r1) Y+ 100376 bpl 1b Y+ 012761 mov $setchr,-2(r1) Y+ 001040 Y+ 177776 Y+ 105711 2b:tstb (r1) Y+ 100376 bpl 2b Y+ 012761 mov $read,-2(r1) Y+ 001060 Y+ 177776 Y+ 000000 halt Y+ 140004 setchr: TS_ACK|TS_CVC|TS_SETCHR Y+ 001050 char Y+ 000000 high order address Y+ 000010 number of bytes Y+ 001070 char: status Y+ 000000 Y+ 000016 Y+ 000000 Y+ 140001 read: TS_ACK|TS_CVC|TS_READ Y+ 000000 low order of address Y+ 000000 high order of address Y+ 001000 number of bytes to read Y+ 000000 status: Y+ .TE Y+ .DE Y When this is executed, the first block of the tape will be read into memory. Y Halt the CPU and restart at location 0. Y .PP Y*************** Y*** 109,115 **** Y The console should type Y .DS Y .B Y! \fInn\fPBoot from \fIxx\fP(\fIctlr\fP,0,\fIcsr\fP) Y : Y .R Y .DE Y--- 145,151 ---- Y The console should type Y .DS Y .B Y! \fInn\fPBoot from \fIxx\fP(\fIctlr\fP,\fIdrive\fP,\fIpart\fP) at \fIcsr\fP Y : Y .R Y .DE Y*************** Y*** 121,130 **** Y the cpu type. At present \*(2B runs on the 44, 53, 70, 73, 83, 84, 93 and 94 Y \fBonly\fP. It must be emphasized that \*(2B requires separate I/D. Y .sp Y! \fIctlr\fP encodes the controller number and unit number that \fBBoot\fP Y! was loaded from. The top two bits (bits 6 and 7) are the controller Y! number and the low three bits (bits 0, 1 and 2) are the unit number. Y .sp Y \fIcsr\fP is an octal number telling the CSR of the controller from which Y \fBBoot\fP was loaded. Y .sp Y--- 157,171 ---- Y the cpu type. At present \*(2B runs on the 44, 53, 70, 73, 83, 84, 93 and 94 Y \fBonly\fP. It must be emphasized that \*(2B requires separate I/D. Y .sp Y! \fIctlr\fP is the controller number that \fBBoot\fP Y! was loaded from. It is 0 unless booting from a non-standard CSR. Y .sp Y+ \fIdrive\fP is the drive unit number. Y+ .sp Y+ The \fIpart\fP Y+ number is disk partition or tapefile number booted from. This will always Y+ be 0 for the tape \fBBoot\fP program. Y+ .sp Y \fIcsr\fP is an octal number telling the CSR of the controller from which Y \fBBoot\fP was loaded. Y .sp Y*************** Y*** 136,310 **** Y substitute the correct disk type for \fIdk\fP Y and the tape type for \fItp\fP. Y .NH 3 Y! Step 2: creating a UNIX ``root'' file system system Y .PP Y! Now create the root file system using the following procedures. Y! First determine the size of your root file system from the Y! following table: Y .DS Y .TS Y! l l. Y! Disk Root File System Size Y! (1K-byte blocks) Y! Y! hk 4158 Y! ra 7942 (All RA, RZ and RD drives except RD52 and RD53) Y! 4850 (RD52/53 - \fBbarely useable\fP) Y! rl01 5120\(dd Y! rl02 10240\(dd Y! xp 4800 (RM02/RM03) Y! 4560 (RM05) Y! 5120 (CDC 9775) Y! 4807 (RP04/RP05/RP06) Y! 4800 (Fujitsu Eagle) Y! 4702 (DIVA, Ampex 9300) Y! 8192 (Ampex Capricorn) Y! 5760 (SI Eagle) Y .TE Y- .sp Y- .FS Y- .IP \(dd Y- These partitions cover the entire pack. Y- .FE Y .DE Y .PP Y! If the disk on which you are creating a root file system is an \fBxp\fP Y! disk, you should check the drive type register at this time to make sure Y! it holds a value that will be recognized correctly by the driver. There Y! are numbering conflicts; the following numbers are used internally: Y! .DS Y! .TS Y! c l Y! c l. Y! Drive Type Register Drive Assumed Y! Low Byte (standard address: 0776726) Y! Y! 020 RP04 Y! 021 RP05 Y! 022 RP06 Y! 024 RM03 Y! 025 RM02 Y! 027 RM05 Y! 072 Ampex Capricorn Y! 073 SI, CDC 9775 (direct) Y! 074 SI 6100, Fuji Eagle 2351A Y! 075 Emulex SC01B/SC03B or SI 9400, Fuji 160 (in RM80 mode) Y! 076 Emulex SC-21, Ampex 815 cylinder RM05 Y! 077 Diva Comp V, Ampex 9300 Y! .TE Y! .DE Y! Check the drive type number in your controller manual, Y! or halt the CPU and examine this register. Y! If the value does not correspond to the actual drive type, Y! you must patch the \fIxptype\fP variable in memory Y! before any attempt is made to access the drive. Y! This will override the drive type register. Y! This value must be present at the time each program Y! (including the bootstrap itself) first tries to access the disk. Y! After starting each utility Y! but before accessing the disk, halt the CPU, place the new drive type Y! number at the proper memory location using the front panel or monitor Y! and then continue. The address of \fIxptype\fP in each utility is Y! printed out on the console the first time the disc is accessed. Y! Because \fBboot\fP relocates itself you must remember to add 0600000 Y! to the address of \fIxptype\fP. Y .PP Y! Once UNIX itself is booted (see section ``\fBStep 4: booting UNIX\fP'') you must Y! patch it also. The \fIxp\fP driver in the \fBGENERIC\fP kernel prints to Y! the console the address of \fIxp_drive\fP and \fIxp_controller\fP and delays Y! for about 10 seconds. Y .PP Y Finally, determine the proper interleaving factors \fIm\fP and \fIn\fP Y! for your disk from the following table. Extensive testing has demonstrated Y that the choice of \fIm\fP is non critical (performance of a file system Y varying only by 3 to 4% for a wide range of \fIm\fP values). Values for Y \fIm\fP within the range from 2 to 5 give almost identical performance. Y Increasing \fIm\fP too much actually causes degraded performance because Y the free blocks are too far apart. Slower processors (such as the 73 and Y! 44) may want to start with a \fIm\fP of 4 or 5, faster processors (such as the Y! 70 and 84) may start with a \fIm\fP of 3 or 4. Y On the other Y hand, the \fIn\fP value is moderately important. It should be the number Y! of filesystem blocks contained by one cylinder of the disc but nothing Y! bad will happen if you have to guess at a number. Y These numbers determine the layout of the free list that will be constructed; Y the proper interleaving will help increase the speed of the file system. Y- If you have a non-DEC disk that emulates one of the disks listed, Y- you may be able to use these numbers as well, but check that Y- the actual disk geometry is the same as the emulated disk Y- (rather than the controller mapping onto a different physical disk). Y .PP Y- The earlier tables went into great detail specifying separate tables for Y- each cpu type. This is not necessary. In several cases the \fIm\fP Y- values were too high or the \fIn\fP values were too low. The following Y- table specifies the \fIn\fP parameter only. The \fIm\fP parameter selection Y- was explained in a previous paragraph. Y- .KS Y- .DS Y- .TS Y- cB s Y- l l. Y- Disk Interleaving Factor (\fIn\fP) Y- DISK Y- RL01/2 20 Y- RK06/7 33 Y- RM02 80 Y- RM03 80 Y- RM05 304 Y- RP04/5/6 209 Y- RA60 84 Y- RA70 181 Y- RA71 357 Y- RA72 510 Y- RA73 735 Y- RA80 217 Y- RA81 357 Y- RA82 435 Y- RA90 448 Y- RA92 448 Y- RC25 31 Y- RD31 34 Y- RD32 51 Y- RD33 59 Y- RD52 63 Y- RD53 72 Y- RD54 127 Y- RZ22 66 Y- RZ23 132 Y- RZ23L 78 Y- RZ24 152 Y- RZ24L 130 Y- RZ25 279 Y- RZ26 399 Y- RZ55 270 Y- RZ56 405 Y- RZ57 532 Y- RZ58 637 Y- .TE Y- .DE Y- .KE Y- .sp Y- See Y- \fImkfs\fP\|(8) Y- for more explanation of the values of \fIm\fP and \fIn\fP. Y- For \fIm\fP/\fIn\fP numbers for other drive types see \fI/etc/disktab\fP. Y- \fIn\fP would be calculated using the \fBnt\fP and \fBns\fP parameters Y- from \fI/etc/disktab\fP. For a disc with 512 byte sectors compute \fIn\fP Y- by multiplying \fBns\fP times \fBnt\fP and dividing the result by 2. Y- .PP Y Then run the standalone version of the \fImkfs\fP (8) program. Y In the following procedure, substitute the correct types Y for \fItp\fP and \fIdk\fP and the size determined above for \fIsize\fP: Y .DS Y .TS Y lw(1.5i) l. Y! \fB:\|\fP\fItp\|\fP(0,1) (\fImkfs\fP is tape file 1) Y \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP Y \fBMkfs\fP Y \fBfile system:\fP \fIdk\|\fP(0,0) (root is the first file system on drive 0) Y! \fBfile system size:\fP \fIsize\fP (count of 1024 byte blocks in root) Y! \fBinterleaving factor (m, 5 default):\fP \fIm\fP (interleaving, see above) Y! \fBinterleaving modulus (n, 10 default):\fP \fIn\fP (interleaving, see above) Y \fBisize = XX\fP (count of inodes in root file system) Y \fBm/n = \fP\fIm n\fP (interleave parameters) Y \fBExit called\fP Y--- 177,283 ---- Y substitute the correct disk type for \fIdk\fP Y and the tape type for \fItp\fP. Y .NH 3 Y! Step 2: creating the disk label Y .PP Y! The standalone \fIdisklabel\fP program is then run: Y .DS Y .TS Y! lw(1.5i) l. Y! \fB:\|\fP\fItp\|\fP(0,1) (\fIdisklabel\fP is tape file 1) Y! \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP Y! \fBdisklabel\fP Y! \fBDisk?\fP \fIdk\|\fP(0,0) (drive 0, partition 0) Y! d(isplay) D(efault) m(odify) w(rite) q(uit)? Y! ... Y! \fB:\fP (back at tape boot level) Y .TE Y .DE Y+ The \fIdisklabel\fP program is meant to be fairly intuitive. When prompted Y+ with a line of choices entering the key just before the left parenthesis Y+ selects the entry. Y .PP Y! If there is an existing label present on \fIdk\fP\|(0,0) it will be Y! used as the default. To have \fIdisklabel\fP create a new default based Y! on its idea of what the drive is select \fBD\fP. Then enter \fBm\fP to Y! modify/edit the label. Y .PP Y! The MSCP driver is quite good at identifying drives because it can query the Y! controller. Other drivers (notably the SMD (\fBxp\fP) driver) have to Y! deal with a much wider range of controllers which do not all have the Y! same capabilities for drive identification. When dealing with SMD Y! drives you must know the geometry of the drive so you can verify and Y! correct \fIdisklabel\fP's choices. Y .PP Y+ You can however, if using non-DEC SMD controllers, make things easy for Y+ \fIdisklabel\fP to determine what type of drive is being used. If your Y+ controller offers the choice of RM02 emulation you should select that choice. Y+ The standalone \fBxp\fP driver uses RM02 as the indication that drive Y+ identification capabilities Y+ not offered by DEC controllers are present. The driver will be able to Y+ determine the geometry of the drive in this case. This is \fBoptional\fP Y+ because you can explicitly specify all of the parameters to the standalone Y+ \fIdisklabel\fP program. Y+ .PP Y+ A full description of the standalone \fIdisklabel\fP program is in Appendix Y+ B of this document. Y+ .NH 3 Y+ Step 3: creating a UNIX ``root'' file system Y+ .PP Y+ Now create the root file system using the following procedure.\(ua Y+ .FS Y+ .IP \(ua Y+ \fBNote:\fP These instructions have changed quite a bit during the Y+ evolution of the system from \*(1B. Previously, Y+ if the disk on which you are creating a root file system was an \fBxp\fP Y+ disk you would have been asked to check the drive type register and possibly Y+ halt the processor to patch a location (hopefully before the driver Y+ accessed the drive). \fBThis is no longer needed\fP. Y+ All geometry and partition information is obtained from the disklabel Y+ created in step 2. Y+ We also used to give tables of \fBm\fP and \fBn\fP values for various Y+ disks, which are now purposely omitted. Y+ .FE Y+ .PP Y+ The size of the root ('a') filesystem was assigned in step 2 (creating the Y+ disk label). \fImkfs\fP will not allow a filesystem to be created if there Y+ is not a label present or if the partition size is 0. \fImkfs\fP Y+ looks at partition 0 ('a') in the disklabel for the root file system size. Y+ .PP Y Finally, determine the proper interleaving factors \fIm\fP and \fIn\fP Y! for your disk. Extensive testing has demonstrated Y that the choice of \fIm\fP is non critical (performance of a file system Y varying only by 3 to 4% for a wide range of \fIm\fP values). Values for Y \fIm\fP within the range from 2 to 5 give almost identical performance. Y Increasing \fIm\fP too much actually causes degraded performance because Y the free blocks are too far apart. Slower processors (such as the 73 and Y! 44) may want to start with a \fIm\fP of 3 or 4, faster processors (such as the Y! 70 and 84) may start with a \fIm\fP of 2 or 3. Y On the other Y hand, the \fIn\fP value is moderately important. It should be the number Y! of filesystem blocks contained by one cylinder of the disk, calculated Y! by dividing the number of sectors per cylinder by 2, rounding down if Y! needed. (This is what \fImkfs\fP does by default, based on the Y! geometry information in the disk label.) Y These numbers determine the layout of the free list that will be constructed; Y the proper interleaving will help increase the speed of the file system. Y .PP Y Then run the standalone version of the \fImkfs\fP (8) program. Y+ The values in square brackets at the size prompt is the default from Y+ the disklabel. Simply hit a return to accept the default. \fImkfs\fP Y+ will allow you to create a smaller filesystem but you can not enter a Y+ larger number than the one in brackets. Y In the following procedure, substitute the correct types Y for \fItp\fP and \fIdk\fP and the size determined above for \fIsize\fP: Y .DS Y .TS Y lw(1.5i) l. Y! \fB:\|\fP\fItp\|\fP(0,2) (\fImkfs\fP is tape file 2) Y \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP Y \fBMkfs\fP Y \fBfile system:\fP \fIdk\|\fP(0,0) (root is the first file system on drive 0) Y! \fBfile system size:\fP [NNNN] \fIsize\fP (count of 1024 byte blocks in root) Y! \fBinterleaving factor (m, 2 default):\fP \fIm\fP (interleaving, see above) Y! \fBinterleaving modulus (n, 127 default):\fP \fIn\fP (interleaving, see above) Y \fBisize = XX\fP (count of inodes in root file system) Y \fBm/n = \fP\fIm n\fP (interleave parameters) Y \fBExit called\fP Y*************** Y*** 320,339 **** Y .sp Y You now have an empty UNIX root file system. Y .NH 3 Y! Step 3: restoring the root file system Y .PP Y To restore the root file system onto it, type Y .DS Y .TS Y lw(1.5i) l. Y! \fB:\|\fP\fItp\|\fP(0,2) (\fIrestor\fP is tape file 2) Y \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP Y \fBRestor\fP Y! \fBTape?\fP \fItp\|\fP(0,4) (root \fIdump\fP is tape file 4) Y \fBDisk?\fP \fIdk\|\fP(0,0) (into root file system) Y! \fBLast chance before scribbling on disk.\fP (type a carriage return to start) Y .B Y! "End of tape" "(appears on same line as message above)" Y Exit called Y \fInn\fPBoot Y \fB:\fR (back at tape boot level) Y--- 293,312 ---- Y .sp Y You now have an empty UNIX root file system. Y .NH 3 Y! Step 4: restoring the root file system Y .PP Y To restore the root file system onto it, type Y .DS Y .TS Y lw(1.5i) l. Y! \fB:\|\fP\fItp\|\fP(0,3) (\fIrestor\fP is tape file 3) Y \fBBoot: bootdev=0nnnn bootcsr=0mmmmmm\fP Y \fBRestor\fP Y! \fBTape?\fP \fItp\|\fP(0,5) (root \fIdump\fP is tape file 5) Y \fBDisk?\fP \fIdk\|\fP(0,0) (into root file system) Y! \fBLast chance before scribbling on disk.\fP (type a carriage return to start) Y .B Y! "End of tape" \fR(appears on same line as message above)\fP Y Exit called Y \fInn\fPBoot Y \fB:\fR (back at tape boot level) Y*************** Y*** 340,356 **** Y .R Y .TE Y .sp Y! This takes about 8 minutes with a TZ30 on a 11/93. Y .DE Y If you wish, you may use the \fIicheck\fP program on the tape, Y! \fItp\|\fP(0,3), to check the consistency of the file system you have just Y! installed. Y .NH 3 Y! Step 4: booting UNIX Y .PP Y! You are now ready to boot from disk. It is best to read the rest Y! of this section first, since some systems must be patched while booting. Y! Then type: Y .DS Y .TS Y lw(1.5i) l. Y--- 313,329 ---- Y .R Y .TE Y .sp Y! This takes about 8 minutes with a TZ30 on a 11/93 and about 15 minutes using Y! a TK50 on a 11/73. Y .DE Y If you wish, you may use the \fIicheck\fP program on the tape, Y! \fItp\|\fP(0,4), to check the consistency of the file system you have just Y! installed. This has rarely been useful and is mostly for the voyeuristic. Y .NH 3 Y! Step 5: booting UNIX Y .PP Y! You are now ready to boot from disk. Y! Type: Y .DS Y .TS Y lw(1.5i) l. Y*************** Y*** 365,371 **** Y .\"CHECK Y \*(2B BSD UNIX #1: Sat Jul 4 01:33:03 PDT 1992 Y root@wlonex.iipo.gtegsc.com:/usr/src/sys/GENERIC Y! phys mem = \fI???\fP\(dd Y avail mem = \fI???\fP Y user mem = \fI???\fP Y Y--- 338,344 ---- Y .\"CHECK Y \*(2B BSD UNIX #1: Sat Jul 4 01:33:03 PDT 1992 Y root@wlonex.iipo.gtegsc.com:/usr/src/sys/GENERIC Y! phys mem = \fI???\fP Y avail mem = \fI???\fP Y user mem = \fI???\fP Y Y*************** Y*** 380,411 **** Y # Y .R Y .DE Y- .FS Y- .IP \(dd Y- \fBNote:\fP If you are booting from an \fIxp\fP with a drive type Y- that is not recognized, it will be necessary to patch the system before Y- it first accesses the root file system. Y- The \fBGENERIC\fP kernel \fIxp\fP driver prints out the addresses of Y- \fIxp_drive\fP and \fIxp_controller\fP and then delays for 10 seconds Y- (approximately). Y- Halt the processor after it has printed out the addresses Y- but before the disk has been accessed. Y .PP Y- Place the drive type number corresponding to your drive Y- at the address of \fIxp_drive\fP plus 2. Modify only the low byte, the Y- high byte is the drive unit number. Y- The address for the first controller's CSR is \fIxp_controller\fP plus 4. Y- It should be noted that at present the kernel may only be booted from a Y- controller at the standard/first CSR. An exception to this is that a MSCP Y- based kernel may be booted from drive 0 of any controller. Y- If you plan to use any drives other than 0 before you recompile Y- the system, you should patch the location for those drives. The \fIxp_drive\fP Y- structure in the \fBGENERIC\fP kernel is 012 bytes long. Y- Make the patches and continue the CPU. Y- The value before patching must be zero. If it is not, you have halted too Y- late and should try again. Y- .FE Y- .PP Y UNIX itself then runs for the first time and begins by printing out a banner Y identifying the release and Y version of the system that is in use and the date that it was compiled. Y--- 353,359 ---- Y*************** Y*** 457,480 **** Y si95uboot si SI 9500, CDC 9766 Y dvhpuboot xp Diva Comp V, Ampex 9300 Y hpuboot xp RP04/05/06 Y! rm03uboot xp RM02/03 Y rm05uboot xp RM05 or SI 9500, CDC 9766 Y si51uboot xp SI 6100, Fujitsu Eagle 2351A Y si94uboot xp Emulex SC01B/SC03B or SI 9400, Fujitsu 160 Y .TE Y .DE Y Once this is done, booting from this disk will load and execute the block Y! 0 bootstrap, which will in turn load /boot. The console will print Y .DS Y .TS Y lw(1.5i) l. Y .B Y! \fInn\fPBoot from \fIdk\fP(\fIctlr\fP,0,\fIcsr\fP) \fR(printed by /boot)\fP Y : Y .R Y .TE Y .DE Y! It automatically boots /\fIboot\fP for you; Y if /\fIboot\fP is not found, the system will hang/loop forever. Y The block 0 program is very small (has to fit in 512 bytes) and simple Y program, however, and can only Y--- 405,435 ---- Y si95uboot si SI 9500, CDC 9766 Y dvhpuboot xp Diva Comp V, Ampex 9300 Y hpuboot xp RP04/05/06 Y! rm03uboot xp RM03 Y rm05uboot xp RM05 or SI 9500, CDC 9766 Y si51uboot xp SI 6100, Fujitsu Eagle 2351A Y si94uboot xp Emulex SC01B/SC03B or SI 9400, Fujitsu 160 Y .TE Y .DE Y+ .B NOTE: Y+ If none of the above are correct (most likely with a SMD drive with differing Y+ geometry) then you will have to use a tape/floppy boot proceedure rather than Y+ a sector 0 bootblock. This can be fixed by creating a customized sector 0 Y+ boot program once the system sources have been loaded. Y+ .PP Y Once this is done, booting from this disk will load and execute the block Y! 0 bootstrap, which will in turn load /boot. \fB/boot\fP will print Y! on the console: Y .DS Y .TS Y lw(1.5i) l. Y .B Y! \fInn\fPBoot from \fIdk\fP(\fIctlr\fP,\fIunit\fP,\fIpart\fP) at \fIcsr\fP\fR Y : Y .R Y .TE Y .DE Y! The bootblock automatically loads and runs /\fIboot\fP for you; Y if /\fIboot\fP is not found, the system will hang/loop forever. Y The block 0 program is very small (has to fit in 512 bytes) and simple Y program, however, and can only Y*************** Y*** 489,498 **** Y name capability because of space considerations. No diagnostic message Y results if the file cannot be found. Y .NH 3 Y! Step 5: setting up the /usr file system Y .PP Y First set a shell variable to the name of your disk, so Y! the commands we give will work regardless of the disk you Y have; do one of the following: Y .DS Y .TS Y--- 444,453 ---- Y name capability because of space considerations. No diagnostic message Y results if the file cannot be found. Y .NH 3 Y! Step 6: setting up the /usr file system Y .PP Y First set a shell variable to the name of your disk, so Y! the commands used later will work regardless of the disk you Y have; do one of the following: Y .DS Y .TS Y*************** Y*** 506,582 **** Y .PP Y The next thing to do is to extract the rest of the data from the tape. Y You might wish to review the disk configuration information in section Y! titled \fB``Disk configuration''\fP before continuing; you will have Y to select a partition to restore the /usr file system into which is Y at least \fB25\fP Megabytes in size (this is just barely enough for Y the system binaries and such and leaves no room for the system Y! source.) The partitions used below are those most appropriate in Y! size. Find the disk you have in the following table and Y! execute the commands in the right hand portion of the table. Some Y! smaller discs (such as the RD51 and RL01/02) are not listed because they Y! do not have room to even begin loading /usr. These smaller drives can be Y! used as data discs (perhaps to mount /tmp on) but are not useable for loading Y! the /usr file system on to. Y .DS Y .TS Y l l. Y! DEC RM02/03 \fB#\fP name=xp0h; type=rm03 Y! DEC RM05 \fB#\fP name=xp0e; type=rm05 Y! DEC RP04/05 \fB#\fP name=xp0c; type=rp04 Y! DEC RP06 \fB#\fP name=xp0g; type=rp06 Y! DEC RK07 \fB#\fP name=hk0h; type=rk07 Y! DEC RA60 \fB#\fP name=ra0c; type=ra60 Y! DEC RA70 \fB#\fP name=ra0d; type=ra70 Y! DEC RA71 \fB#\fP name=ra0d; type=ra71 Y! DEC RA72 \fB#\fP name=ra0d; type=ra72 Y! DEC RA73 \fB#\fP name=ra0d; type=ra73 Y! DEC RA80 \fB#\fP name=ra0c; type=ra80 Y! DEC RA81 \fB#\fP name=ra0c; type=ra81 Y! DEC RA82 \fB#\fP name=ra0d; type=ra82 Y! DEC RA90 \fB#\fP name=ra0d; type=ra90 Y! DEC RA91 \fB#\fP name=ra0d; type=ra91 Y! DEC RA92 \fB#\fP name=ra0d; type=ra92 Y! DEC RD32 \fB#\fP name=ra0g; type=rd32 Y! DEC RD33 \fB#\fP name=ra0g; type=rd33 Y! DEC RD52 \fB#\fP name=ra0g; type=rd52 Y! DEC RD53 \fB#\fP name=ra0d; type=rd53 Y! DEC RD54 \fB#\fP name=ra0g; type=rd54 Y! DEC RZ22 \fB#\fP name=ra0g; type=rz22 Y! DEC RZ23 \fB#\fP name=ra0g; type=rz23 Y! DEC RZ23L \fB#\fP name=ra0g; type=rz23l Y! DEC RZ24 \fB#\fP name=ra0d; type=rz24 Y! DEC RZ24L \fB#\fP name=ra0d; type=rz24l Y! DEC RZ25 \fB#\fP name=ra0d; type=rz25 Y! DEC RZ26 \fB#\fP name=ra0d; type=rz26 Y! DEC RZ55 \fB#\fP name=ra0d; type=rz55 Y! DEC RZ56 \fB#\fP name=ra0d; type=rz56 Y! DEC RZ57 \fB#\fP name=ra0d; type=rz57 Y! DEC RZ58 \fB#\fP name=ra0d; type=rz58 Y! - Y! CDC 9766 \fB#\fP name=xp0e\(dd Y! CDC 9775 \fB#\fP name=xp0e\(dd Y! AMPEX 300M \fB#\fP name=xp0e\(dd Y! FUJITSU 160M \fB#\fP name=xp0d\(dd Y! FUJITSU 2351A \fB#\fP name=xp0d\(dd Y! AMPEX 330M \fB#\fP name=xp0c\(dd Y .TE Y .DE Y! .FS Y! .IP \(ua Y! Unfortunately the \fInewfs\fP(8) program is relatively primitive and Y! doesn't know the free list spacing for these non-DEC drives. An Y! appropriate \fImkfs\fP(8) command will have to be substituted for the Y! \fInewfs\fP command specified below. See \fI/etc/disktab\fP for Y! [hopefully] appropriate free list \fIm/n\fP numbers for some non-DEC Y! disks. Y! .FE Y! Find the tape you have in the following table and execute the Y commands in the right hand portion of the table: Y .DS Y .TS Y l l. Y DEC TM02/03, TE16/TU45/TU77 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV ht0; sync Y! DEC TS11, TU80/TS05 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV ts0; sync Y DEC TM11, TU10/TE10/TS03 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV tm0; sync Y DEC TMSCP, TK50/TZ30/TU81 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV tu0; sync Y EMULEX TC11 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV tm0; sync Y--- 461,498 ---- Y .PP Y The next thing to do is to extract the rest of the data from the tape. Y You might wish to review the disk configuration information in section Y! 4.3 before continuing; you will have Y to select a partition to restore the /usr file system into which is Y at least \fB25\fP Megabytes in size (this is just barely enough for Y the system binaries and such and leaves no room for the system Y! source.)\(ua Y! .FS Y! .IP \(ua Y! \fBNote:\fP Previously a lengthy table of partition names organized by Y! specific disk type was given. Y! With the introduction of disklabels this is no longer Y! necessary (or possible since each site can select whatever partitioning Y! scheme they desire). In step 2 (creating the disklabel) a partition should Y! have been created for \fI/usr\fP. If this was not done then it may be easier Y! to perform step 2 now than to use the more complex \fIdisklabel\fP\|(8) Y! program and \fIed\fP\|(1). Y! .FE Y! .PP Y! In the command below \fIpart\fP is the partition name (a-h) for the partition Y! which will hold /usr. Y .DS Y .TS Y l l. Y! \fBname=${disk}0${part} Y .TE Y .DE Y! Next, find the tape you have in the following table and execute the Y commands in the right hand portion of the table: Y .DS Y .TS Y l l. Y DEC TM02/03, TE16/TU45/TU77 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV ht0; sync Y! DEC TS11, TK25/TU80/TS05 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV ts0; sync Y DEC TM11, TU10/TE10/TS03 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV tm0; sync Y DEC TMSCP, TK50/TZ30/TU81 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV tu0; sync Y EMULEX TC11 \fB#\fP cd /dev; rm *mt*; ./MAKEDEV tm0; sync Y*************** Y*** 595,615 **** Y \fBNew password:\fP (password will not echo) Y \fBRetype new password:\fP Y \fB#\fP hostname \fImysitename\fP (set your hostname) Y! \fB#\fP newfs ${name} ${type} (create empty user file system) Y! (this takes a few minutes) Y! (if you wish to specify a different \fIm\fP value, use a command of the Y! form: newfs -m # ${name} ${type} Y! where # is the \fIm\fP parameter and must be between 1 and 31) Y \fB#\fP mount /dev/${name} /usr (mount the usr file system) Y \fB#\fP cd /usr (make /usr the current directory) Y \fB#\fP mt rew Y! \fB#\fP mt fsf 5 Y \fB#\fP tar xpbf 20 /dev/rmt12 (extract all of usr except usr/src) Y! (this takes about 15-20 minutes except for the TK50 and TZ30 which are Y! \fBmuch\fP slower) Y .TE Y .DE Y! The data on the sixth tape file has now been extracted. Y All that remains on the first tape is a small archive containing Y source for the kernel and include files. Y .PP Y--- 511,528 ---- Y \fBNew password:\fP (password will not echo) Y \fBRetype new password:\fP Y \fB#\fP hostname \fImysitename\fP (set your hostname) Y! \fB#\fP newfs ${name} (create empty user file system) Y! (this takes a minute) Y \fB#\fP mount /dev/${name} /usr (mount the usr file system) Y \fB#\fP cd /usr (make /usr the current directory) Y \fB#\fP mt rew Y! \fB#\fP mt fsf 6 Y \fB#\fP tar xpbf 20 /dev/rmt12 (extract all of usr except usr/src) Y! (this takes about 15-20 minutes except for the Y! TK50 and TZ30 which are \fBmuch\fP slower) Y .TE Y .DE Y! The data on the seventh tape file has now been extracted. Y All that remains on the first tape is a small archive containing Y source for the kernel and include files. Y .PP Y*************** Y*** 620,626 **** Y .DS Y .TS Y lw(2i) l. Y! \fB#\fP mt fsf (position tape at beginning of next tape file) Y \fB#\fP mkdir src (make directory for source) Y \fB#\fP cd src (make /usr/src the current directory) Y \fB#\fP tar xpbf 20 /dev/rmt12 (extract the system and include source) Y--- 533,539 ---- Y .DS Y .TS Y lw(2i) l. Y! \fB#\fP mt -f /dev/rmt12 fsf (position tape at beginning of next tape file) Y \fB#\fP mkdir src (make directory for source) Y \fB#\fP cd src (make /usr/src the current directory) Y \fB#\fP tar xpbf 20 /dev/rmt12 (extract the system and include source) Y*************** Y*** 675,683 **** Y second distribution tape\(ua Y .FS Y .IP \(ua Y! On the TK50 the remaining source is the 8th file on the cartridge. Y .FE Y! (with the exception on RK07's, RM03's, and RD52's and other small discs Y this will fit in the /usr file system): Y .DS Y \fB#\fP cd /usr/src Y--- 588,596 ---- Y second distribution tape\(ua Y .FS Y .IP \(ua Y! On the TK50 the remaining source is the 9th file on the cartridge. Y .FE Y! (with the exception of RK07's, RM03's, and RD52's and other small disks Y this will fit in the /usr file system): Y .DS Y \fB#\fP cd /usr/src Y*** /usr/doc/2.10/setup.2.11/3.t.old Sat Feb 6 00:26:06 1993 Y--- /usr/doc/2.10/setup.2.11/3.t Sun Jun 18 20:48:11 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)3.t 1.3 (2.11BSD GTE) Feb 6, 1993 Y .\" Y .ds lq `` Y .ds rq '' Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)3.t 1.4 (2.11BSD GTE) 1995/06/13 Y .\" Y .ds lq `` Y .ds rq '' Y*************** Y*** 64,70 **** Y /.rhosts \(ua for trusted machines and users Y /dev/MAKEDEV \(dd in case you added anything here Y /dev/MAKEDEV.local * for making local devices Y! /etc/disktab \(dd in case you changed disk partition sizes Y /etc/dtab \(dd table of devices to attach at boot time Y /etc/fstab \(ua disk configuration data Y /etc/ftpusers \(ua for local additions Y--- 64,70 ---- Y /.rhosts \(ua for trusted machines and users Y /dev/MAKEDEV \(dd in case you added anything here Y /dev/MAKEDEV.local * for making local devices Y! /etc/disktab * in case you changed disk partition sizes Y /etc/dtab \(dd table of devices to attach at boot time Y /etc/fstab \(ua disk configuration data Y /etc/ftpusers \(ua for local additions Y*************** Y*** 133,150 **** Y they will have to be incorporated into the new kernel. Y See section 4.2.3 and ``Building \*(2B UNIX Systems.'' Y .PP Y! Disk partitions in \*(2B have changed from those in 2.[89]BSD, especially Y! for the RK06/07, RM02/03 and MSCP drivers. The best place to look for Y! more information is in /etc/disktab and /sys/pdpuba/*.c (the driver sources). Y! There are several changes between \*(2B and \*(Ps. If you Y! have changed the disk partition sizes, be sure to make the necessary Y! table changes and boot your custom kernel BEFORE trying to access any of Y! your old file systems! Y! .PP Y! In any case, the manual pages in section 4 of the manual \fIare\fP correct Y! and describe the standard release partition arrangements accurately. Y! As always, the BUGS section lists disk labeling as a good thing (it should Y! also list providing the time, usw. to do it :-)). Y .NH 2 Y Merging your files from earlier PDP-11 UNIX systems into \*(2B Y .PP Y--- 133,143 ---- Y they will have to be incorporated into the new kernel. Y See section 4.2.3 and ``Building \*(2B UNIX Systems.'' Y .PP Y! With the introduction of disklabels the disk partitions in \*(2B the Y! /etc/disktab file has changed dramatically. There is a detailed description Y! later in this chapter about the changes. If you have modified the Y! partition tables in previous versions of \*(2B you will need to create Y! a new disktab entry or modify an existing one. Y .NH 2 Y Merging your files from earlier PDP-11 UNIX systems into \*(2B Y .PP Y*************** Y*** 312,320 **** Y It includes the terminal type and security options that were previously Y in /etc/ttytype and /etc/securettys. Y .PP Y! \fIsyslog\fP is the same as it was under \*(Ps. Y! See \fIsyslogd\fP\|(8) for details. Y! It is used by many of the system daemons Y to monitor system problems more closely, for example Y network routing changes. Y .PP Y--- 305,313 ---- Y It includes the terminal type and security options that were previously Y in /etc/ttytype and /etc/securettys. Y .PP Y! \fIsyslog\fP is the 4.4BSD-Lite version now. Y! See \fIsyslog\fP\|(3) and \fIsyslogd\fP\|(8) for details. Y! They are used by many of the system daemons Y to monitor system problems more closely, for example Y network routing changes. Y .PP Y*************** Y*** 480,482 **** Y--- 473,542 ---- Y of 255. \fImklost+found\fP\|(8) is really not needed, \fIfsck\fP\|(8) is Y now capable of automatically extending lost+found by up to the number Y of direct blocks in an inode. Y+ .NH 3 Y+ /etc/disktab Y+ .PP Y+ The format of /etc/disktab Y+ is now the same as 4.3BSD-Reno and 4.4BSD. Previously to describe a drive Y+ (an RM03 for example) the /etc/disktab Y+ file had entries of the form: Y+ .sp Y+ .nf Y+ :ty=removable:ns#32:nt#5:nc#823:sf: Y+ :b0=/mdec/rm03uboot: Y+ :pa#9600:ba#1024:fa#1024: Y+ :pb#9600:bb#1024:fb#1024: Y+ :pc#131520:bc#1024:fc#1024: Y+ :pf#121920:bf#1024:ff#1024: Y+ :pg#112320:bg#1024:fg#1024: Y+ :ph#131520:bh#1024:fh#1024: Y+ .fi Y+ .sp Y+ Note that there is no information at all about which cylinder a partition Y+ starts at or which partitions overlap and may not be used simultaneously. Y+ That information was kept in tables in the driver. If you modified Y+ /etc/disktab it would have no effect without also changing the driver and Y+ recompiling the kernel. Y+ .LP Y+ The new /etc/disktab file looks like this: Y+ .sp Y+ .nf Y+ :ty=removable:ns#32:nt#5:nc#823:sf: Y+ :b0=/mdec/rm03uboot: Y+ :pa#9600:oa#0:ba#1024:fa#1024:ta=2.11BSD: Y+ :pb#9600:ob#9600:bb#1024:fb#1024:tb=swap: Y+ :pc#131520:oc#0:bc#1024:fc#1024: Y+ :pf#121920:of#9600:bf#1024:ff#1024:tf=2.11BSD: Y+ :pg#112320:og#19200:bg#1024:fg#1024:tg=2.11BSD: Y+ :ph#131520:oh#0:bh#1024:fh#1024:th=2.11BSD Y+ .fi Y+ .sp Y+ .PP Y+ There are two new fields per partition, the 'o' (oa, ob, usw.) field Y+ specifies the offset in sectors that the partition begins at. The 't' Y+ field specifies the partition type. Only those partitions which are Y+ \fB2.11BSD\fP will be recognized by \fInewfs\fP\|(8) and the kernel as Y+ filesystems. Y+ The kernel also will not swap or place a crash dump on a partition that Y+ is not of type \fBswap\fP. Y+ .PP Y+ The two examples above are equivalent and provide an example of a Y+ translating an old style disktab entry into a new style entry. To translate Y+ a customized disktab entries you will need: 1) a copy of your Y+ current partition tables from the device driver, 2) a copy of the Y+ old disktab entry, 3) your current /etc/fstab file. In new disktab entries Y+ you should only place those partitions you actually use. There is no Y+ need to declare (as was done in the examples above) all of the possible Y+ partitions. Y+ .PP Y+ If you Y+ have changed the disk partition sizes, be sure to make the necessary Y+ /etc/disktab changes and label your disks Y+ BEFORE trying to access any of Y+ your old file systems! Y+ There are two ways to label your disks. The standalone disklabel program Y+ is one way. It is also possible to label disks using \fIdisklabel\fP\|(8) Y+ with the \-r option \- this works even when running on a kernel which does Y+ not support labels (\-r reads and writes the raw disk, thus it is possible Y+ to label disks on an older kernel as long as the \fIdisklabel\fP\|(8) Y+ program is present). Y*** /usr/doc/2.10/setup.2.11/4.t.old Sat Feb 6 00:26:26 1993 Y--- /usr/doc/2.10/setup.2.11/4.t Sun Jun 18 20:48:24 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)4.t 2.1 (2.11BSD GTE) Feb 6, 1993 Y .\" Y .de IR Y \fI\\$1\fP\|\\$2 Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)4.t 2.2 (2.11BSD GTE) 1995/06/16 Y .\" Y .de IR Y \fI\\$1\fP\|\\$2 Y*************** Y*** 237,245 **** Y or a small file system like, /tmp; Y the second partition, xp0b, Y is used for swapping or a small file system; and Y! a combination of the fifth,sixth,seventh partitions xp0e, xp0f, xp0g Y would hold user file systems. Y! .sp 2 Y .RS Y .PP Y \fBWarning:\fP for disks on which DEC standard 144 bad sector forwarding Y--- 237,245 ---- Y or a small file system like, /tmp; Y the second partition, xp0b, Y is used for swapping or a small file system; and Y! a combination of the remaining partitions (xp0d, xp0e, xp0f, xp0g, xp0h) Y would hold user file systems. Y! .sp Y .RS Y .PP Y \fBWarning:\fP for disks on which DEC standard 144 bad sector forwarding Y*************** Y*** 266,321 **** Y the bad sector forwarding information when disk packs are changed and so Y will erroneously use bad block forwarding information from the wrong packs! Y .RE Y .PP Y! .sp 2 Y! The space available on a disk varies per device. The amount of space Y! available on the common disk partitions is listed in the following table. Y! Not shown in the table are the partitions of each drive devoted Y! to the root file system and the swapping area. Y! .DS Y! .TS Y! center; Y! l l n l n. Y! Type Name Size Name Size Y! _ Y! rm02/03 xp?g 56 Mb xp?h 65.6 Mb Y! rm05 xp?c 114.2 Mb xp?e 80.1 Mb Y! rp04/05 xp?c 74.8 Mb Y! rp06 xp?c 74.8 Mb xp?e 157.2 Mb Y! rk06 hk?g 5.1 Mb hk?h 13 Mb Y! rk07 hk?g 18 Mb hk?h 26.5 Mb Y! rd53 ra?d 52.9 Mb Y! rd54 ra?c 135.2 Mb Y! ra60 ra?c 94.3 Mb ra?g 76.4 Mb Y! ra80 ra?c 91.2 Mb Y! ra81 ra?c 94.3 Mb ra?g 316.1 Mb Y! ra82 ra?c 148.3 Mb ra?f 148.3 Mb Y! .TE Y! .DE Y! .LP Y! Consult the manual pages for the specific drivers for other Y! supported disks or other partitions. Y .PP Y! Each disk also has a swapping area and Y! a root file system. Y The distributed system binaries occupy about 34 Megabytes Y! while the major sources occupy another 36 Megabytes. Y This overflows RK07, RL02 and RM03 systems, Y but fits easily on most other hardware configurations. \*(2B is quite Y happy on RD54 or larger. Simply fitting the distribution isn't enough, Y! there must still be space left for user files and spooling directories. Y .PP Y Be aware that the disks have their sizes measured in disk sectors (512 Y bytes), while the UNIX file system blocks are 1024 bytes each. Thus if a Y disk partition has 10000 sectors (disk blocks), it will have only 5000 Y UNIX file system blocks, and you \fImust\fP divide by 2 to use 5000 when Y! specifying the size to the \fImkfs\fP command for instance. All user Y programs report disk space in kilobytes and, where needed, disk sizes are Y always specified in units of sectors. The /etc/disktab file used in Y making file systems specifies disk partition sizes in sectors; the Y! default sector size may be overridden with the ``se'' attribute. Note Y that the only sector size currently supported is NBPG as defined in Y! \fI/sys/pdp/machparam.h\fP. Y .NH 3 Y Layout considerations Y .PP Y--- 266,317 ---- Y the bad sector forwarding information when disk packs are changed and so Y will erroneously use bad block forwarding information from the wrong packs! Y .RE Y+ .sp Y .PP Y! The space available on a disk varies, not surprisingly, per device. Y! Disklabels make a table giving sizes meaningless since there are no Y! predefined partition sizes embedded in the kernel any longer. The root Y! filesystem (\fBa\fP) must be at least 4Mb, preferably 6 to 7Mb if possible. Y! The swap area (almost always the \fBb\fP partition) should be about 3Mb or Y! so. If your system has a small amount (less than 2Mb) of memory you will Y! need more swap space, perhaps 4 or 5Mb. It is a rare case where more than Y! 5 or 6Mb of swap space is required. The system will run out of other Y! resources by the time enough activity is generated to need that much swap Y! space. Y .PP Y! The system (boot) disk has a swapping area and Y! a root file system. Other drives may use those partitions for data. Y! \fBRemember:\fP the \fBa\fP partition must start at sector 0 or Y! \fIdisklabel\fP\|(8) or else the kernel will not be able to read/write the Y! label. Y! .PP Y The distributed system binaries occupy about 34 Megabytes Y! while the major sources occupy another 36 Megabytes. Adding in the Y! miscellaneous sources, a few locate works of art bring the total for Y! a complete system to about 90 Megabytes. Y This overflows RK07, RL02 and RM03 systems, Y but fits easily on most other hardware configurations. \*(2B is quite Y happy on RD54 or larger. Simply fitting the distribution isn't enough, Y! there must still be space left for user files, objects when compiling Y! programs, spooling directories, usw. Y .PP Y Be aware that the disks have their sizes measured in disk sectors (512 Y bytes), while the UNIX file system blocks are 1024 bytes each. Thus if a Y disk partition has 10000 sectors (disk blocks), it will have only 5000 Y UNIX file system blocks, and you \fImust\fP divide by 2 to use 5000 when Y! specifying the size to the \fImkfs\fP command for instance. The Y! \fInewfs\fP\|(8) program performs this calculation automatically. You Y! should \fBnever\fP need to run \fImkfs\fP manually. Y! All user Y programs report disk space in kilobytes and, where needed, disk sizes are Y always specified in units of sectors. The /etc/disktab file used in Y making file systems specifies disk partition sizes in sectors; the Y! default sector size may be overridden with the ``se'' attribute. \fBNote\fP Y that the only sector size currently supported is NBPG as defined in Y! \fI/sys/pdp/machparam.h\fP. This restriction is enforced in several places Y! in the disklabeling process as a safeguard against specifying a sector Y! size other than NBPG (512). Any other sector size would produce strange Y! results and almost certainly curdled filesystems. Y .NH 3 Y Layout considerations Y .PP Y*** /usr/doc/2.10/setup.2.11/5.t.old Sat Feb 6 00:29:22 1993 Y--- /usr/doc/2.10/setup.2.11/5.t Sun Jun 18 20:53:04 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)5.t 2.1 (2.11BSD GTE) Feb 6, 1993 Y .\" Y .ds lq `` Y .ds rq '' Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)5.t 2.2 (2.11BSD GTE) 1995/06/16 Y .\" Y .ds lq `` Y .ds rq '' Y*************** Y*** 52,58 **** Y , sites should build and keep a non-networking kernel in ``/'' at all times, Y as a backup. \fBNOTE\fP: The ``/unix'' and ``/netnix'' imagines must Y have been created at the same time, do not attempt to use mismatched Y! images. Y .PP Y \*(2B provides support for the DARPA standard Internet Y protocols IP, ICMP, TCP, and UDP. These protocols may be used Y--- 52,60 ---- Y , sites should build and keep a non-networking kernel in ``/'' at all times, Y as a backup. \fBNOTE\fP: The ``/unix'' and ``/netnix'' imagines must Y have been created at the same time, do not attempt to use mismatched Y! images. The ability to have \fBboot\fP tell the kernel which network image Y! to load is on the wish list (had to have something take the place of Y! wishing for disklabels ;-)). Y .PP Y \*(2B provides support for the DARPA standard Internet Y protocols IP, ICMP, TCP, and UDP. These protocols may be used Y*************** Y*** 101,107 **** Y either the current, working drivers, or drivers that, at some time, Y worked on PDP-11's. The ones in ``vaxif'' are the current VAX drivers, Y and, as such, will have to have their memory usage changed, but serve Y! as an excellent example of how the hardware works.~ Y .DS Y .TS Y l l. Y--- 103,109 ---- Y either the current, working drivers, or drivers that, at some time, Y worked on PDP-11's. The ones in ``vaxif'' are the current VAX drivers, Y and, as such, will have to have their memory usage changed, but serve Y! as an excellent example of how the hardware works. Y .DS Y .TS Y l l. Y*************** Y*** 117,123 **** Y .TE Y .DE Y .PP Y! SL/IP is also available. It is suprisingly efficient. Over a 9600 baud Y line it is not unusual to see \fBftp\fP rates in the 800 bytes per second Y range (depending how busy the system is). Y .PP Y--- 119,125 ---- Y .TE Y .DE Y .PP Y! SL/IP is also available. It is surprisingly efficient. Over a 9600 baud Y line it is not unusual to see \fBftp\fP rates in the 800 bytes per second Y range (depending how busy the system is). Y .PP Y*************** Y*** 165,171 **** Y /dev/ptyp?, while the slave side is /dev/ttyp?. Pseudo terminals Y are also used by several programs not related to the network. \fBNOTE\fP: Y the terminal structures are 78 bytes each, declaring more than 16 pseudo Y! terminals is potentially wastefull of kernel D space. See the comment Y in the kernel config files. Y In addition to creating the pseudo terminals, Y be sure to install them in the Y--- 167,173 ---- Y /dev/ptyp?, while the slave side is /dev/ttyp?. Pseudo terminals Y are also used by several programs not related to the network. \fBNOTE\fP: Y the terminal structures are 78 bytes each, declaring more than 16 pseudo Y! terminals is potentially wasteful of kernel D space. See the comment Y in the kernel config files. Y In addition to creating the pseudo terminals, Y be sure to install them in the Y*************** Y*** 367,374 **** Y For example, an entry for the file Y transfer protocol server would appear as Y .DS Y! ftp stream tcp nowait root /etc/ftpd ftpd Y .DE Y Consult Y .IR inetd (8) Y for more detail on the format of the configuration file Y--- 369,380 ---- Y For example, an entry for the file Y transfer protocol server would appear as Y .DS Y! ftp stream tcp nowait root /etc/ftpd ftpd -l Y .DE Y+ or if you are using the \fItcp_wrapper\fP program as Y+ .DS Y+ ftp stream tcp nowait root /etc/tcpd ftpd -l Y+ .DE Y Consult Y .IR inetd (8) Y for more detail on the format of the configuration file Y*************** Y*** 411,443 **** Y and at other times that the server is not running, Y and therefore it need only contain addresses for local hosts. Y There is no equivalent service for network names yet. Y! The full host and network name data bases are normally derived from Y! a file retrieved from the Internet Network Information Center at Y! SRI. Y! To do this you should use the program /etc/gettable Y! to retrieve the NIC host data base, and the program Y .IR htable (8) Y! to convert it to the format used by the libraries. Y! You should change to the directory where you maintain your local Y! additions to the host table and execute the following commands. Y! .DS Y! \fB#\fP /etc/gettable nic.ddn.mil Y! \fBConnection to nic.ddn.mil opened.\fP Y! \fBHost table received.\fP Y! \fBConnection to nic.ddn.mil closed.\fP Y! \fB#\fP /etc/htable hosts.txt Y! \fBWarning, no localgateways file.\fP Y! \fB#\fP Y! .DE Y! The \fIhtable\fP program generates three files Y! in the local directory: \fIhosts\fP, \fInetworks\fP and \fIgateways\fP. Y! If a file ``localhosts'' is present in the working directory its Y! contents are first copied to the output file. Similarly, a Y! ``localnetworks'' file may be prepended to the output created Y! by \fIhtable\fP, Y! and `localgateways'' will be prepended to \fIgateways\fP. Y! It is usually wise to run \fIdiff\fP\|(1) on Y! the new host and network data bases before installing them in /etc. Y If you are using the host table for host name and address Y mapping, you should run \fImkhosts\fP\|(8) after installing Y \fI/etc/hosts\fP. Y--- 417,435 ---- Y and at other times that the server is not running, Y and therefore it need only contain addresses for local hosts. Y There is no equivalent service for network names yet. Y! The days of retrieving a host file containing all systems on the Internet Y! are over. Besides, you would grow very old and run out of disk space Y! while waiting for \fImkhosts\fP\|(8) to process a hosts file containing Y! the several million entries. Y! Therefore the details of retrieving a master hosts file using Y .IR htable (8) Y! and Y! .IR gettable (8) Y! have been removed from this document. However if you do use local hosts Y! files you will still need to run Y! .IR mkhosts (8) Y! and this is described below. Y! .PP Y If you are using the host table for host name and address Y mapping, you should run \fImkhosts\fP\|(8) after installing Y \fI/etc/hosts\fP. Y*************** Y*** 456,464 **** Y This procedure is essentially obsolete, however, except for individual hosts Y that are on the Milnet and do not forward packets from a local Y network. Y! Other situations require the use of an EGP server. It is highly doubtful Y! that an EGP server could ever be made to run on a PDP-11, the networking Y! can not even begin to handle the number of routes which would be received. Y .PP Y If you are connected to the Internet, it is highly recommended that Y you use the name server resolver routines for your host name and address Y--- 448,457 ---- Y This procedure is essentially obsolete, however, except for individual hosts Y that are on the Milnet and do not forward packets from a local Y network. Y! Other situations require the use of \fBgated\fP. Y! That program can never be made to run on a PDP-11 due to address space Y! considerations. Also, the networking code Y! could not even begin to handle the number of routes which would be received. Y .PP Y If you are connected to the Internet, it is highly recommended that Y you use the name server resolver routines for your host name and address Y*************** Y*** 573,579 **** Y setup here, the directory \fI~ftp/pub\fP is used. Y .PP Y NOTE: Mode 777 on the 'pub' directory can and has been abused! Changing the Y! mode to 555 is a good choice but would require adminstrative assistance for Y placing files in the 'pub' directory. Probably not a bad idea though. Y .PP Y Another issue to consider is the copy of \fI/etc/passwd\fP Y--- 566,572 ---- Y setup here, the directory \fI~ftp/pub\fP is used. Y .PP Y NOTE: Mode 777 on the 'pub' directory can and has been abused! Changing the Y! mode to 555 is a good choice but would require administrative assistance for Y placing files in the 'pub' directory. Probably not a bad idea though. Y .PP Y Another issue to consider is the copy of \fI/etc/passwd\fP Y*** /usr/doc/2.10/setup.2.11/6.t.old Sat Feb 6 00:29:44 1993 Y--- /usr/doc/2.10/setup.2.11/6.t Sun Jun 18 20:53:32 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)6.t 2.1 (2.11BSD GTE) Feb 6, 1993 Y .\" Y .de IR Y \fI\\$1\fP\|\\$2 Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)6.t 2.2 (2.11BSD GTE) 1995/06/16 Y .\" Y .de IR Y \fI\\$1\fP\|\\$2 Y*************** Y*** 188,194 **** Y /sys/pdpstand and doing: Y .DS Y make all Y! \\./maketape /dev/nrmtXX maketape.data Y dump 0u / Y .DE Y This is especially true when only one disk is available. Y--- 188,194 ---- Y /sys/pdpstand and doing: Y .DS Y make all Y! ./maketape /dev/nrmtXX maketape.data Y dump 0u / Y .DE Y This is especially true when only one disk is available. Y*************** Y*** 297,303 **** Y \fB#\fP cd /usr/src/bin Y \fB#\fP make date Y .DE Y! this will create an unstripped version of the binary of ``date'' Y in the current directory. To install the binary image, use the Y install command as in Y .DS Y--- 297,303 ---- Y \fB#\fP cd /usr/src/bin Y \fB#\fP make date Y .DE Y! this will create an unstriped version of the binary of ``date'' Y in the current directory. To install the binary image, use the Y install command as in Y .DS Y*** /usr/doc/2.10/setup.2.11/Makefile.old Fri Dec 7 15:40:37 1990 Y--- /usr/doc/2.10/setup.2.11/Makefile Tue Jun 13 19:46:05 1995 Y*************** Y*** 3,29 **** Y # All rights reserved. The Berkeley software License Agreement Y # specifies the terms and conditions for redistribution. Y # Y! # @(#)Makefile 6.2 (Berkeley) 9/8/88 Y # Y PRINTER=-Plz001 Y! PDEV= -TLN03 Y! TROFF= ditroff Y! NROFF= nroff Y! EQN= dieqn Y! TBL= ditbl Y! LPR= lpr -h -n ${PRINTER} Y Y! SRC= 0.t 1.t 2.t 3.t 4.t 5.t 6.t a.t Y Y! all: ${SRC} Y! ${EQN} ${SRC} | ${TBL} | ${TROFF} ${PAGES} -ms | ${LPR} Y Y nroff: ${SRC} Y! rm -f setup.NROFF Y! ${EQN} ${SRC} | ${TBL} | ${NROFF} ${PAGES} -ms > setup.NROFF Y Y clean: Y! rm -f setup.out ?.t.spell errs Errs MAKELOG Y Y spell: ${SRC} Y @for i in ${SRC}; do \ Y--- 3,32 ---- Y # All rights reserved. The Berkeley software License Agreement Y # specifies the terms and conditions for redistribution. Y # Y! # @(#)Makefile 6.2.1 (2.11BSD) 1995/06/12 Y # Y PRINTER=-Plz001 Y! LPR= lpr -h -n -Plz001 Y Y! SRC= 0.t 1.t 2.t 3.t 4.t 5.t 6.t a.t b.t Y Y! all: Y! @echo pick one of troff, nroff, groff or ditroff Y Y+ troff: ${SRC} Y+ eqn ${SRC} | tbl | troff ${PAGES} -ms > setup.out Y+ Y nroff: ${SRC} Y! eqn ${SRC} | tbl | nroff ${PAGES} -ms > setup.out Y Y+ groff: ${SRC} Y+ groff -e -t -ms -Tps ${SRC} > setup.out Y+ Y+ ditroff: ${SRC} Y+ dieqn ${SRC} | ditbl | ditroff ${PAGES} -ms > setup.out Y+ Y clean: Y! rm -f setup.out ?.t.spell Y Y spell: ${SRC} Y @for i in ${SRC}; do \ Y*** /usr/doc/2.10/setup.2.11/a.t.old Sat Feb 6 00:32:19 1993 Y--- /usr/doc/2.10/setup.2.11/a.t Tue Jul 11 20:50:16 1995 Y*************** Y*** 2,8 **** Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)a.t 2.0 (GTE) Feb 6, 1993 Y .\" Y .de IR Y \fI\\$1\fP\|\\$2 Y--- 2,8 ---- Y .\" All rights reserved. The Berkeley software License Agreement Y .\" specifies the terms and conditions for redistribution. Y .\" Y! .\" @(#)a.t 2.1 (GTE) 1995/06/16 Y .\" Y .de IR Y \fI\\$1\fP\|\\$2 Y*************** Y*** 73,81 **** Y Device Number Y - Y RK06/07 2 Y! MSCP (RA) Controllers 1 Y! MSCP (RA) Disks 2 Y! RL01/02 2 Y SMD (XP) Controllers 1 Y SMD (XP) Disks 2 Y TE16, TU45, TU77 (HT) Tape drives 2 Y--- 73,81 ---- Y Device Number Y - Y RK06/07 2 Y! MSCP (RA) Controllers 2 Y! MSCP (RA) Disks 3 Y! RL01/02 Drives 2 Y SMD (XP) Controllers 1 Y SMD (XP) Disks 2 Y TE16, TU45, TU77 (HT) Tape drives 2 Y*************** Y*** 89,99 **** Y and the 'b' partition the swap area (except for the RL02 which uses the Y second drive). The size of the swap partition is determined at run Y time, the kernel queries the driver for the number of block in the 'b' Y! partition. Y .NH 3 Y GENERIC kernel configuration file Y .PP Y .ta 8n 16n 24n 32n 40n 48n 56n 72n 80n Y .nf Y # Machine configuration file for 2.11BSD distributed kernel. Y # Y--- 89,101 ---- Y and the 'b' partition the swap area (except for the RL02 which uses the Y second drive). The size of the swap partition is determined at run Y time, the kernel queries the driver for the number of block in the 'b' Y! partition. \fBNOTE:\fP If the swap partition is not labeled as being Y! of type \fIswap\fP the kernel will panic. Y .NH 3 Y GENERIC kernel configuration file Y .PP Y .ta 8n 16n 24n 32n 40n 48n 56n 72n 80n Y+ .cs R 24 Y .nf Y # Machine configuration file for 2.11BSD distributed kernel. Y # Y*************** Y*** 126,132 **** Y # inappropriate (the if_il.c driver should have been checking if a Unibus Y # Map was present at runtime). Y Y! #LINEHZ 50 # clock frequency European Y LINEHZ 60 # clock frequency USA Y Y # PDP-11 machine type; allowable values are GENERIC, 44, 70, 73. GENERIC Y--- 128,134 ---- Y # inappropriate (the if_il.c driver should have been checking if a Unibus Y # Map was present at runtime). Y Y! #LINEHZ 50 # clock frequency European Y LINEHZ 60 # clock frequency USA Y Y # PDP-11 machine type; allowable values are GENERIC, 44, 70, 73. GENERIC Y*************** Y*** 133,139 **** Y # should only be used to build a distribution kernel. The only use of this Y # option is to select the proper in-line PS instructions (references to the Y # PSW use 'spl', 'mfps/mtps' or 'movb' instructions depending on the cpu type). Y! PDP11 GENERIC # distribution kernel Y #PDP11 44 # PDP-11/44 Y #PDP11 70 # PDP-11/70,45,50,55 Y #PDP11 73 # PDP-11/73,53,83,93,84,94 Y--- 135,141 ---- Y # should only be used to build a distribution kernel. The only use of this Y # option is to select the proper in-line PS instructions (references to the Y # PSW use 'spl', 'mfps/mtps' or 'movb' instructions depending on the cpu type). Y! PDP11 GENERIC # distribution kernel Y #PDP11 44 # PDP-11/44 Y #PDP11 70 # PDP-11/70,45,50,55 Y #PDP11 73 # PDP-11/73,53,83,93,84,94 Y*************** Y*** 147,153 **** Y Y # BOOTDEV is the letter combination denoting the autoboot device, Y # or NONE if not using the autoboot feature. Y! BOOTDEV NONE # don't autoboot Y #BOOTDEV dvhp # DIVA Comp/V boot device Y #BOOTDEV hk6 # rk06 boot device Y #BOOTDEV hk7 # rk07 boot device Y--- 149,155 ---- Y Y # BOOTDEV is the letter combination denoting the autoboot device, Y # or NONE if not using the autoboot feature. Y! BOOTDEV NONE # don't autoboot Y #BOOTDEV dvhp # DIVA Comp/V boot device Y #BOOTDEV hk6 # rk06 boot device Y #BOOTDEV hk7 # rk07 boot device Y*************** Y*** 202,209 **** Y # KERNEL CONFIGURATION # Y ######################################### Y Y! BADSECT NO # bad-sector forwarding Y! EXTERNALITIMES YES # map out inode time values Y UCB_CLIST NO # clists moved from kernel data space Y NOKA5 NO # KA5 not used except for buffers Y # and clists (_end < 0120000); Y--- 204,211 ---- Y # KERNEL CONFIGURATION # Y ######################################### Y Y! BADSECT NO # bad-sector forwarding Y! EXTERNALITIMES YES # map out inode time values Y UCB_CLIST NO # clists moved from kernel data space Y NOKA5 NO # KA5 not used except for buffers Y # and clists (_end < 0120000); Y*************** Y*** 353,359 **** Y # Defining FPSIM to YES compiles a floating point simulator into the kernel Y # which will catch floating point instruction traps from user space. This Y # doesn't work at present. Y! FPSIM NO # floating point simulator Y Y # To enable profiling, the :splfix script must be changed to use spl6 instead Y # of spl7 (see conf/:splfix.profile), also, you have to have a machine with a Y--- 355,361 ---- Y # Defining FPSIM to YES compiles a floating point simulator into the kernel Y # which will catch floating point instruction traps from user space. This Y # doesn't work at present. Y! FPSIM NO # floating point simulator Y Y # To enable profiling, the :splfix script must be changed to use spl6 instead Y # of spl7 (see conf/:splfix.profile), also, you have to have a machine with a Y*************** Y*** 362,367 **** Y # Y # Note that profiling is not currently working. We don't have any plans on Y # fixing it, so this is essentially a non-supported feature. Y! PROFILE NO # system profiling with KW11P clock Y Y! CGL_RTP NO # allow one real time process Y--- 364,370 ---- Y # Y # Note that profiling is not currently working. We don't have any plans on Y # fixing it, so this is essentially a non-supported feature. Y! PROFILE NO # system profiling with KW11P clock Y Y! INGRES NO # include the Ingres lock driver Y! .cs R Y*** /usr/doc/2.10/setup.2.11/spell.ok.old Fri Oct 26 10:31:46 1990 Y--- /usr/doc/2.10/setup.2.11/spell.ok Sun Jun 18 20:58:45 1995 Y*************** Y*** 119,124 **** Y--- 119,125 ---- Y JKReynolds Y KA5 Y KB Y+ KDJ Y KL11 Y KL11's Y KOV Y*************** Y*** 242,247 **** Y--- 243,249 ---- Y RH Y RH11 Y RH70 Y+ RK Y RK05 Y RK06 Y RK06's Y*************** Y*** 256,261 **** Y--- 258,264 ---- Y RL02's Y RLADDR Y RLs Y+ RM Y RM02 Y RM03 Y RM03's Y*************** Y*** 263,268 **** Y--- 266,272 ---- Y ROM Y ROMs Y ROOTDEV Y+ RP Y RP03 Y RP04 Y RP05 Y*************** Y*** 270,280 **** Y--- 274,287 ---- Y RPADDR Y RQDX2 Y RQDX3 Y+ RQZX Y RS232 Y RTP Y RUSAGE Y+ RX Y RX02 Y RX50 Y+ RZ Y Restor Y Rootdev Y SBI Y*************** Y*** 299,304 **** Y--- 306,312 ---- Y Swapdev Y TC11 Y TCP Y+ TE Y TE10 Y TE16 Y TELNET Y*************** Y*** 305,310 **** Y--- 313,319 ---- Y TFTP Y TIMEZONE Y TIU Y+ TK Y TM Y TM02 Y TM11 Y*************** Y*** 322,327 **** Y--- 331,337 ---- Y TU77 Y TU78 Y TU80 Y+ TZ Y Timezone Y Turlock Y UCB Y*************** Y*** 405,410 **** Y--- 415,422 ---- Y dialup Y dialups Y dict Y+ disklabel Y+ disklabels Y disktab Y dk Y dmc SHAR_EOF fi exit 0 # End of shell archive