|
|
1.1 ! root 1: .\" Copyright (c) 1980, 1986, 1988 Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted ! 5: .\" provided that the above copyright notice and this paragraph are ! 6: .\" duplicated in all such forms and that any documentation, ! 7: .\" advertising materials, and other materials related to such ! 8: .\" distribution and use acknowledge that the software was developed ! 9: .\" by the University of California, Berkeley. The name of the ! 10: .\" University may not be used to endorse or promote products derived ! 11: .\" from this software without specific prior written permission. ! 12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 15: .\" ! 16: .\" @(#)2.t 6.3 (Berkeley) 3/7/89 ! 17: .\" ! 18: .ds lq `` ! 19: .ds rq '' ! 20: .ds LH "Installing/Operating \*(4B ! 21: .ds RH Bootstrapping ! 22: .ds CF \*(DY ! 23: .bp ! 24: .nr H1 2 ! 25: .nr H2 0 ! 26: .bp ! 27: .LG ! 28: .B ! 29: .ce ! 30: 2. BOOTSTRAP PROCEDURE ! 31: .sp 2 ! 32: .R ! 33: .NL ! 34: .PP ! 35: \fBNote\fP: The \*(4B release contains only Tahoe filesystems and executable ! 36: images. ! 37: The procedures in this section cannot be used on the VAX ! 38: with the \*(4B distribution tape supplied by Berkeley. ! 39: However, it is possible to make a boot tape that can be used in this way ! 40: by extracting the sources in the distribution tape on a VAX, compiling, ! 41: and making a tape using the procedures described in Appendix A. ! 42: .\" This section explains the bootstrap procedure that can be used ! 43: .\" to get the kernel supplied with this distribution running on your machine. ! 44: If you are not currently running 4.2BSD or 4.3BSD you will ! 45: have to do a full bootstrap using a 4.3BSD tape; ! 46: to install the \*(4B release, the new sources must then be loaded ! 47: and compiled. ! 48: Chapter 3 describes how to upgrade an existing 4.2BSD or 4.3BSD system. ! 49: programs. ! 50: An understanding of the operations used in a full bootstrap ! 51: is very helpful in performing an upgrade as well. ! 52: In either case, it is highly desirable to read and understand ! 53: the remainder of this document before proceeding. ! 54: .NH 2 ! 55: Converting pre-4.2BSD Systems ! 56: .PP ! 57: The file system format was changed between 3BSD and 4.0BSD, ! 58: and again between 4.1BSD and 4.2BSD. ! 59: At a minimum you will have to dump any old file systems, ! 60: and then restore them onto the \*(4B file system. ! 61: Sites running 3BSD or 32/V may be able to modify the \fIrestore\fP ! 62: program to understand the old 512 byte block file system, ! 63: but this has never been tried. ! 64: The dump format used in 4.0BSD and 4.1BSD is backward-compatible ! 65: with that used in \*(4B (which is unchanged from 4.2BSD). ! 66: That is, the \*(4B \fIrestore\fP program understands ! 67: how to read 4.0BSD and 4.1BSD dump tapes, although \*(4B dump tapes cannot ! 68: be restored under 4.0BSD or 4.1BSD. ! 69: It is also desirable to make a convenient copy of system configuration ! 70: files for use as guides when setting up the new system; ! 71: the list of files to save from 4.2BSD systems in chapter 3 ! 72: may be used as a guideline. ! 73: .PP ! 74: The first step is to dump your file systems with \fIdump\fP\|(8). ! 75: For the utmost of safety this should be done to magtape. ! 76: However, if you enjoy gambling with your life ! 77: (or you have a VERY friendly user community) ! 78: and you have enough disk space, you can try ! 79: converting your file systems while copying to a new disk partition ! 80: by piping the output of \fIdump\fP directly into \fIrestore\fP ! 81: after bringing up \*(4B. ! 82: If you select the latter tack, ! 83: a version of the 4.1BSD dump program that runs under \*(4B is ! 84: provided in \fI/etc/dump.4.1\fP. ! 85: Beware that file systems created under \*(4B can ! 86: use about 5-10% more disk space for file system related information ! 87: than under 4.1BSD. Thus, before dumping each file system it is ! 88: a good idea to remove any files that may be easily regenerated. ! 89: Since all programs should be recompiled under the new ! 90: system, your best bet is to remove any object files. File ! 91: systems with at least 10% free space on them should restore into ! 92: an equivalently sized \*(4B file system without problem. ! 93: .NH 2 ! 94: Booting from tape ! 95: .PP ! 96: The tape bootstrap procedure used to create a ! 97: working system involves the following major ! 98: steps: ! 99: .IP 1) ! 100: Format a disk pack with the \fIformat\fP program. ! 101: .IP 2) ! 102: Copy a ``mini root'' file system from the ! 103: tape onto the swap area of the disk. ! 104: .IP 3) ! 105: Boot the UNIX system on the ``mini root''. ! 106: .IP 4) ! 107: Restore the full root file system using \fIrestore\fP\|(8). ! 108: .IP 5) ! 109: Build a console floppy, cassette, or RL02 pack for bootstrapping. ! 110: .IP 6) ! 111: Reboot the completed root file system. ! 112: .IP 7) ! 113: Label the disks with the \fIdisklabel\fP(8) program. ! 114: .IP 8) ! 115: Build and restore the /usr file system from tape ! 116: with \fItar\fP\|(1). ! 117: .IP 9) ! 118: Extract the system and utility files and contributed software ! 119: as desired. ! 120: .PP ! 121: Certain of these steps are dependent on your hardware ! 122: configuration. Formatting the disk pack used for the ! 123: root file system may require using the DEC standard ! 124: formatting programs. Also, if you are bootstrapping ! 125: the system on an 11/750, no console cassette is created. ! 126: .PP ! 127: Bootstrapping an 8600 is a bit more difficult than bootstrapping ! 128: the other machines. The procedures for loading the toggle program ! 129: and reading the tape bootstrap monitor described in Appendix B must be ! 130: used if you do not have access to a console RL02 pack ! 131: with a UNIX bootstrap. ! 132: Such a pack may be made on an 8600 already running UNIX, ! 133: or on another \*(4B system with an RL02 drive ! 134: using the procedures in 4.1.1. ! 135: One may be required to enter the toggle program more than once. ! 136: After the bootstrap monitor is loaded, device addresses will be the same ! 137: as if the machine were an 11/780. ! 138: UNIBUS and MASSBUS adaptors are numbered from zero across both SBIA's ! 139: (if present). ! 140: .PP ! 141: The following sections describe the above steps in detail. ! 142: In these sections references to disk drives are of the ! 143: form \fIxx\fP(\fIn\fP,\fIm\fP) ! 144: and references to files on tape drives are of the form ! 145: \fIyy\fP(\fIn\fP,\fIm\fP) where \fIxx\fP and \fIyy\fP ! 146: are names described in section 1.4 and \fIn\fP ! 147: and \fIm\fP are the unit and offset numbers described in ! 148: section 1.4. Commands ! 149: you are expected to type are shown in italics, while that ! 150: information printed by the system is shown emboldened. ! 151: Throughout the installation steps the ! 152: reboot switch on a 780 or 730 should be set to ! 153: off; on an 8600 or 750 set the power-on action to halt. (In ! 154: normal operation a 780 or 730 will have the reboot ! 155: switch on and an 8600 or 750 will have the power-on action set ! 156: to reboot/restart.) ! 157: .PP ! 158: If you encounter problems while following the instructions in ! 159: this part of the document, refer to Appendix C for help in ! 160: troubleshooting. ! 161: .NH 3 ! 162: Step 1: formatting the disk ! 163: .PP ! 164: All disks used with \*(4B should be formatted to insure ! 165: the proper handling of physically corrupted disk sectors. ! 166: If you have DEC disk drives, you should use the standard ! 167: DEC formatter to format your disks. If not, the ! 168: .I format ! 169: program included in the distribution, or a vendor supplied ! 170: formatting program, may be used to format disks. The ! 171: .I format ! 172: program is capable of formatting ! 173: any of the following supported distribution devices: ! 174: .DS ! 175: .TS ! 176: lw(1.5i) l. ! 177: EMULEX MASSBUS: AMPEX Capricorn, 9300, CDC 9766, 9775, ! 178: FUJITSU 330M, 2351 Eagle ! 179: EMULEX SC-21V, SC-31 AMPEX 9300, Capricorn, CDC 9730, 9766, ! 180: UNIBUS: FUJITSU 160M, 330M ! 181: EMULEX SC-31 UNIBUS: FUJITSU 2351 Eagle ! 182: .TE ! 183: .DE ! 184: .PP ! 185: If you have run a pre-4.1BSD version of UNIX on the packs you ! 186: are planning to use for bootstrapping it is likely that the ! 187: bad sector information on the packs has been destroyed, since ! 188: it was accessible as normal data in the last several tracks of ! 189: the disk. You should therefore run the ! 190: formatter again to make sure the information is valid. ! 191: .PP ! 192: On an 11/750, to use a disk pack as a bootstrap device, ! 193: sectors 0 through 15, the disk sectors in the file ! 194: ``/boot'' (the program that ! 195: loads the system image), ! 196: and the file system indices that lead to this file ! 197: must not have any errors. ! 198: On an 8600, 11/780, or 11/730, the ``boot'' program is loaded from ! 199: the console medium and includes device drivers for the ! 200: ``hp'' and ``up'' disks that do ! 201: ECC correction and bad sector forwarding; consequently, on ! 202: these machines the system may be bootstrapped on these disks ! 203: even if the disk is not error free in critical locations. ! 204: In general, if the first 15884 sectors of your disk are ! 205: clean you are safe; if not you can take your chances. ! 206: .PP ! 207: To load the ! 208: .I format ! 209: program, insert the distribution TU58 cassette or RX01 floppy ! 210: disk in the appropriate console device (on the 11/730 use ! 211: cassette 0) and do the following steps. ! 212: .PP ! 213: If you have an 8600 start the bootstrap monitor using the ! 214: procedure described in Appendix B. Then give the command: ! 215: .RT ! 216: .DS ! 217: \fB=\|\fIformat\fR ! 218: .DE ! 219: .PP ! 220: If you have an 11/780 give the commands: ! 221: .RT ! 222: .DS ! 223: \fB>>>\|\fIHALT\fR ! 224: \fB>>>\|\fIUNJAM\fR ! 225: \fB>>>\|\fIINIT\fR ! 226: \fB>>>\|\fILOAD FORMAT\fR ! 227: \fB>>>\|\fISTART 2\fR ! 228: .DE ! 229: .PP ! 230: If you have an 11/750 give the commands: ! 231: .DS ! 232: \fB>>>\|\fII\fR ! 233: \fB>>>\|\fIB DDA0\fR ! 234: \fB=\|\fIformat\fR ! 235: .DE ! 236: .PP ! 237: If you have an 11/730 give the commands: ! 238: .DS ! 239: \fB>>>\|\fIH\fR ! 240: \fB>>>\|\fII\fR ! 241: \fB>>>\|\fIL DD0:FORMAT\fR ! 242: \fB>>>\|\fIS 2\fR ! 243: .DE ! 244: .PP ! 245: The ! 246: .I format ! 247: program should now be running and awaiting your input: ! 248: .DS ! 249: \fBDisk format/check utility\fP ! 250: ! 251: \fBEnable debugging (1=bse, 2=ecc, 3=bse+ecc)?\fP ! 252: .DE ! 253: .PP ! 254: If you made a mistake loading the program off the TU58 cassette ! 255: or using the bootstrap monitor loaded for the 8600 ! 256: the ``='' prompt should reappear and you can retype the program ! 257: name. If something else happened, you may have a bad distribution ! 258: cassette or floppy, or your hardware may be broken; refer to ! 259: Appendix C for help in troubleshooting. If you are unable to ! 260: load programs off the distributed medium, ! 261: consult Appendix B for an alternate (more painful) approach. ! 262: .PP ! 263: .I Format ! 264: will create sector headers and verify the integrity of each ! 265: sector formatted. Remember ! 266: .I format ! 267: runs only on the ! 268: .B up ! 269: and ! 270: .B hp ! 271: drives listed above. ! 272: .I Format ! 273: will prompt for the information required as shown below. ! 274: Questions with default answers appear with the default in parentheses ! 275: at the prompt; a carriage return will take the default. ! 276: If you err in answering questions, ! 277: ``Delete'' erases the last character typed, and ``^U'' erases ! 278: the current input line. ! 279: .DS ! 280: .ta 2i ! 281: \fBEnable debugging (0=none, 1=bse, 2=ecc, 3=bse+ecc)?\fP \fI0\fP ! 282: \fBDevice to format?\fP \fIxx(0,0)\fP ! 283: ...(the old bad sector table is read; ignore any errors that occur here)... ! 284: \fBFormatting drive \fIxx\fP0 on adaptor 0: verify (yes/no)?\fP \fIyes\fP ! 285: \fBDevice data: #cylinders=842, #tracks=20, #sectors=48\fP ! 286: \fBStarting cylinder (0):\fP (hit RETURN to accept the defaults) ! 287: \fBStarting track (0):\fP ! 288: \fBEnding cylinder (841):\fP ! 289: \fBEnding track (19):\fP ! 290: \fBAvailable test patterns are:\fP ! 291: .in +1.0i ! 292: \fB1 - (f00f) RH750 worst case\fP ! 293: \fB2 - (ec6d) media worst case\fP ! 294: \fB3 - (a5a5) alternating 1's and 0's\fP ! 295: \fB4 - (ffff) Severe burnin (up to 48 passes)\fP ! 296: .in -1.0i ! 297: \fBPattern (one of the above, other to restart)?\fP \fI2\fP ! 298: \fBMaximum number of bit errors to allow for soft ECC (3):\fP ! 299: \fBStart formatting...make sure the drive is online\fP ! 300: ...(soft ecc's and other errors are reported as they occur)... ! 301: ...(if 4 write check errors were found, the program terminates like this)... ! 302: \fBErrors:\fP ! 303: \fBBad sector: 0\fP ! 304: \fBWrite check: 4\fP ! 305: \fBHard ECC: 0\fP ! 306: \fBOther hard: 0\fP ! 307: \fBMarked bad: 0\fP ! 308: \fBSkipped: 0\fP ! 309: \fBTotal of 4 hard errors revectored.\fP ! 310: \fBWriting bad sector table at block 524256\fP ! 311: ...(524256 is the block # of the first block in the bad sector table)... ! 312: \fBDone\fP ! 313: .DE ! 314: Once the root device has been formatted, ! 315: .I format ! 316: will prompt for another disk to format. Halt the machine by ! 317: typing ``control-P'' and ``H'' (the ``H'' is necessary only on ! 318: the 780 and 8600, but does not hurt on the other machines). ! 319: .DS ! 320: \fBEnable debugging (1=bse, 2=ecc, 3=bse+ecc)?\fP\fI^P\fP ! 321: \fB>>>\|\fIH\fR ! 322: .DE ! 323: .PP ! 324: It may be necessary to format other drives before constructing ! 325: file systems on them; this can be done at a later time with the ! 326: steps just performed. ! 327: .I Format ! 328: can also be used in an extended test mode (pattern 4) ! 329: that uses numerous test patterns ! 330: in up to 48 passes to detect as many disk surface errors as possible; ! 331: this test may be run for many hours, depending on the CPU and controller. ! 332: On an 11/780, this can be sped up significantly by ! 333: setting the clock fast. ! 334: It may be run for some number of passes, then either terminated or continued ! 335: according to the errors found to that point. ! 336: .NH 3 ! 337: Step 2: copying the mini-root file system ! 338: .PP ! 339: The second step is to run a simple program, ! 340: \fIcopy\fP, which copies a small root ! 341: file system into the second partition of the disk. ! 342: This file system will serve as the base for creating the actual root ! 343: file system to be restored. The version of the operating ! 344: system maintained on the ``mini-root'' file system understands ! 345: that it should not swap on top of itself, thereby allowing double use ! 346: of the disk partition. \fICopy\fP is loaded just as the ! 347: \fIformat\fP program was loaded; for example, on an 8600 or 8200, ! 348: one must enter the toggle and the bootstrap monitor ! 349: as described in Appendix B and then: ! 350: .DS ! 351: .TS ! 352: lw(2i) l. ! 353: (copy mini root file system) ! 354: \fB=\fP\|\fIcopy\fP ! 355: \fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) ! 356: \fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) ! 357: \fBCopy completed: 205 records copied\fP ! 358: \fBFrom:\fP ! 359: .TE ! 360: .DE ! 361: while for an 11/780: ! 362: .DS ! 363: .TS ! 364: lw(2i) l. ! 365: (copy mini root file system) ! 366: \fB>>>\fP\|\fILOAD COPY\fP ! 367: \fB>>>\fP\|\fISTART 2\fP ! 368: \fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) ! 369: \fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) ! 370: \fBCopy completed: 205 records copied\fP ! 371: \fBFrom:\fP ! 372: .TE ! 373: .DE ! 374: or for an 11/750: ! 375: .DS ! 376: .TS ! 377: lw(2i) l. ! 378: (copy mini root file system) ! 379: \fB>>>\fP\|\fIB DDA0\fP ! 380: \fB=\fP\|\fIcopy\fP ! 381: \fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) ! 382: \fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) ! 383: \fBCopy completed: 205 records copied\fP ! 384: \fBFrom:\fP ! 385: .TE ! 386: .DE ! 387: and for an 11/730: ! 388: .DS ! 389: .TS ! 390: lw(2i) l. ! 391: (copy mini root file system) ! 392: \fB>>>\fP\|\fIL DD0:COPY\fP ! 393: \fB>>>\fP\|\fIS 2\fP ! 394: \fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) ! 395: \fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) ! 396: \fBCopy completed: 205 records copied\fP ! 397: \fBFrom:\fP ! 398: .TE ! 399: (As above, `delete' erases characters and `^U' erases lines.) ! 400: .DE ! 401: .NH 3 ! 402: Step 3: booting from the mini-root file system ! 403: .PP ! 404: You now have the minimal set of tools necessary to create a ! 405: root file system and restore the file system contents from tape. ! 406: To access this file system load the bootstrap program ! 407: and boot the version of unix that has been placed in the ! 408: ``mini-root'': ! 409: .DS ! 410: (follow the procedure in Appendix B to load the bootstrap monitor) ! 411: .TS ! 412: lw(2i) l. ! 413: (load bootstrap program) ! 414: \fB=\fP\|\fIboot\fP ! 415: \fBBoot\fP ! 416: \fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) ! 417: .TE ! 418: .DE ! 419: or, on an 11/780: ! 420: .DS ! 421: .TS ! 422: lw(2i) l. ! 423: (load bootstrap program) ! 424: \fB>>>\fP\|\fIBOOT ANY\fP ! 425: \fBBoot\fP ! 426: \fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) ! 427: .TE ! 428: .DE ! 429: or, on an 11/750: ! 430: .DS ! 431: .TS ! 432: lw(2i) l. ! 433: (load bootstrap program) ! 434: \fB>>>\fP\|\fIB DDA0\fP ! 435: \fB=\fP\|\fIboot\fP ! 436: \fBBoot\fP ! 437: \fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) ! 438: .TE ! 439: .DE ! 440: or, on an 11/730: ! 441: .DS ! 442: .TS ! 443: lw(2i) l. ! 444: (load bootstrap program) ! 445: \fB>>>\fP\|\fIL DD0:BOOT\fP ! 446: \fB>>>\fP\|\fID RB 3\fP ! 447: \fB>>>\fP\|\fIS 2\fP ! 448: \fBBoot\fP ! 449: \fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) ! 450: .TE ! 451: (As above, `delete' erases characters and `^U' erases lines.) ! 452: .DE ! 453: .LP ! 454: The standalone boot program should then read the system from ! 455: the mini root file system you just created, and the system should boot: ! 456: .DS ! 457: .B ! 458: 271944+78848+92812 start 0x12e8 ! 459: 4.3 BSD UNIX #1: Wed Apr 9 23:33:59 PST 1988 ! 460: [email protected]:/usr/src/sys/GENERIC ! 461: real mem = \fIxxx\fP ! 462: avail mem = \fIyyy\fP ! 463: \fI\&... information about available devices ...\fP ! 464: root device? ! 465: .R ! 466: .DE ! 467: .PP ! 468: The first three numbers are printed out by the bootstrap ! 469: programs and are the sizes of different ! 470: parts of the system (text, initialized and uninitialized data). The ! 471: system also allocates several system data structures after it starts ! 472: running. The sizes of these structures are based on the amount of available ! 473: memory and the maximum count of active users expected, as declared in a system ! 474: configuration description. This will be discussed later. ! 475: .PP ! 476: UNIX itself then runs for the first time and begins by printing out a banner ! 477: identifying the release and ! 478: version of the system that is in use and the date that it was compiled. ! 479: .PP ! 480: Next the ! 481: .I mem ! 482: messages give the ! 483: amount of real (physical) memory and the ! 484: memory available to user programs ! 485: in bytes. ! 486: For example, if your machine has 16 megabytes of memory, ! 487: \fIxxx\fP will be 16777216. ! 488: .PP ! 489: The messages that come out next show what devices were found on ! 490: the current processor. These messages are described in ! 491: \fIautoconf\fP\|(4). ! 492: The distributed system may not have ! 493: found all the communications devices you have (dh's, dz's, etc.), ! 494: or all the mass storage peripherals you have especially ! 495: if you have more than ! 496: two of anything. You will correct this soon, when you create ! 497: a description of your machine from which to configure UNIX. ! 498: The messages printed at boot here contain much of the information ! 499: that will be used in creating the configuration. ! 500: In a correctly configured system most of the information ! 501: present in the configuration description ! 502: is printed out at boot time as the system verifies that each device ! 503: is present. ! 504: .PP ! 505: The \*(lqroot device?\*(rq prompt was printed by the system ! 506: and is now asking you for the name of the root file system to use. ! 507: This happens because the distribution system is a \fIgeneric\fP ! 508: system. It can be bootstrapped on any VAX cpu and with its root device ! 509: and paging area on any available disk drive. You should respond ! 510: to the root device question with \fIxx0*\fP. This response ! 511: supplies two pieces of information: ! 512: first, \fIxx0\fP shows that the disk it is running on is drive ! 513: 0 of type \fIxx\fP, secondly the \*(lq*\*(rq shows that the system is ! 514: running \*(lqatop\*(rq the paging area. The latter is most important, ! 515: otherwise the system will attempt to page on top of itself and ! 516: chaos will ensue. ! 517: You will later build a system tailored to your configuration that ! 518: will not ask this question when it is bootstrapped. ! 519: .DS ! 520: \fBroot device?\fP \fIxx0*\fP ! 521: WARNING: preposterous time in file system \-\- CHECK AND RESET THE DATE! ! 522: \fBerase ^?, kill ^U, intr ^C\fP ! 523: \fB#\fP ! 524: .DE ! 525: .PP ! 526: The \*(lqerase ...\*(rq message is part of /.profile ! 527: that was executed by the root shell when it started. This message ! 528: is present to remind you that the line character erase, ! 529: line erase, and interrupt characters are set to be what ! 530: is standard on DEC systems; this insures that things are ! 531: consistent with the DEC console interface characters. ! 532: .NH 3 ! 533: Step 4: restoring the root file system ! 534: .PP ! 535: UNIX is now running, ! 536: and the `UNIX Programmer's manual' applies. ! 537: The `#' is the prompt from the shell, ! 538: and lets you know that you are the super-user, ! 539: whose login name is \*(lqroot\*(rq. To complete installation ! 540: of the bootstrap system two steps remain. First, the root ! 541: file system must be created, and second a boot floppy or ! 542: cassette must be constructed. ! 543: .PP ! 544: To create the root file system the shell script \*(lqxtr\*(rq ! 545: should be run as follows: ! 546: .DS ! 547: \fB# \fIdisk=xx0 type=tt tape=yy xtr\fR ! 548: .DE ! 549: where \fIxx0\fP is the name of the disk on which the root ! 550: file system is to be restored (unit 0), \fItt\fP is the type of ! 551: drive on which the root file system is to be restored ! 552: (see the table below), ! 553: and \fIyy\fP is the name ! 554: of the tape drive on which the distribution tape is mounted. ! 555: .PP ! 556: If the root file system is to reside on a disk other than ! 557: unit 0 (as the information printed out ! 558: during autoconfiguration shows), you will ! 559: have to create the necessary special files in /dev and use ! 560: the appropriate value. For example, if the root should be ! 561: placed on hp1, you must create /dev/rhp1a and /dev/hp1a using ! 562: the MAKEDEV script in /dev as follows: ! 563: .DS ! 564: \fB# \fIcd /dev; MAKEDEV hp1\fR ! 565: .DE ! 566: The following table lists the various drive \fItype\fPs. ! 567: .DS ! 568: .TS ! 569: l l | l l. ! 570: Drive Type Drive Type ! 571: _ ! 572: DEC RM03 type=rm03 DEC RM05 type=rm05 ! 573: DEC RM80 type=rm80 DEC RP06 type=rp06 ! 574: DEC RP07 type=rp07 DEC RK07 type=rk07 ! 575: DEC RA80 type=ra80 DEC RA60 type=ra60 ! 576: DEC RA81 type=ra81 DEC R80 type=rb80 ! 577: DEC RA70 type=ra70 DEC RA82 type=ra82 ! 578: DEC RD53 type=rd53 DEC RD54 type=rd54 ! 579: CDC 9766 type=9766 CDC 9775 type=9775 ! 580: AMPEX 300M type=9300 AMPEX 330M type=capricorn ! 581: FUJITSU 160M type=fuji160 FUJITSU 330M type=capricorn ! 582: FUJITSU 404M type=eagle ! 583: .TE ! 584: .DE ! 585: This will generate many messages regarding the construction ! 586: of the file system and the restoration of the tape contents, ! 587: but should eventually stop with the messages: ! 588: .DS ! 589: ... ! 590: \fBRoot filesystem extracted\fP ! 591: ! 592: \fBIf this is an 8600, update the console RL02\fP ! 593: \fBIf this is an 8200, update the floppy\fP ! 594: \fBIf this is a 780, update the floppy\fP ! 595: \fBIf this is a 730, update the cassette\fP ! 596: \fB#\fP ! 597: .DE ! 598: .NH 3 ! 599: Step 5: creating a boot floppy or cassette ! 600: .PP ! 601: If the machine is an 8600, 8200, 11/780 or 11/730, a boot floppy, ! 602: cassette, or console RL02 should be constructed according to the ! 603: instructions in chapter 4. For 11/750's, bootstrapping is performed by ! 604: using a boot prom and special code located in sectors 0-15 of the ! 605: root file system. The ! 606: .I disklabel ! 607: program installs the needed code. ! 608: .\" XXX needs thought: ! 609: Locate the disk name and type from the table in step 7, then ! 610: run the following command: ! 611: .DS ! 612: \fB#\fP \fIdisklabel -rw ${disk}0 $type "optional_pack_name" ! 613: .DE ! 614: On an 11/780 with old-style (MS780C) interleaved memory, or other ! 615: configurations that ! 616: require alteration of the standard boot files, this step may ! 617: be left for later. ! 618: .NH 3 ! 619: Step 6: rebooting the completed root file system ! 620: .PP ! 621: With the above work completed, all that is left is to reboot: ! 622: .DS ! 623: .ta 3.5i ! 624: \fB#\|\fIsync\fR (synchronize file system state) ! 625: \fB#\|\fI^P\fR (halt machine) ! 626: \fB>>>\|\fIHALT\fR (for 11/780's) ! 627: \fB>>>\|\fIUNJAM\fR (for 8600's or 11/780's only) ! 628: \fB>>>\|\fII\fR (initialize processor state) ! 629: \fB>>>\|\fIB xxS\fR (on an 11/750, use \fIB/2\fP; see below for 8200) ! 630: \&...(boot program is eventually loaded)... ! 631: \fBBoot\fP ! 632: \fB: \fIxx(x,0)vmunix\fR (\fIvmunix\fP brought in off root) ! 633: \fB271944+78848+92812 start 0x12e8 ! 634: \fB4.3 BSD UNIX #1: Wed Apr 9 23:33:59 PST 1988 ! 635: \fB [email protected]:/usr/src/sys/GENERIC ! 636: \fBreal mem = \fIxxx\fR ! 637: \fBavail mem = \fIyyy\fR ! 638: \fI\&... information about available devices ...\fP ! 639: \fBroot on xx0\fP ! 640: WARNING: preposterous time in file system \-\- CHECK AND RESET THE DATE! ! 641: \fBerase ^?, kill ^U, intr ^C\fP ! 642: \fB#\fP ! 643: ! 644: .DE ! 645: .PP ! 646: On an 8200, ! 647: or if the root device selected by the kernel is not correct, ! 648: it is necessary to boot using the option to ask for the root ! 649: device. ! 650: On the 8200, use \fIB/R5:800\fP followed by \[email protected]\fP; ! 651: on the 11/750, use \fIB/3\fP; on the other processors, use \fIBOOT ANY\fP. ! 652: At the prompt from the bootstrap, use the same device specification ! 653: above: \fIxx(x,0)vmunix\fP. ! 654: Then, to the question ``root device?,'' ! 655: respond with \fIxx\fP0. ! 656: See section 6.1 and appendix C if the system does not reboot properly. ! 657: .PP ! 658: The system is now running single user on the installed ! 659: root file system. The next section tells how to complete ! 660: the installation of distributed software on the /usr file system. ! 661: .NH 3 ! 662: Step 7: placing labels on the disks ! 663: .PP ! 664: First set up shell variables, so that ! 665: the commands we give will work regardless of the disk you have. ! 666: You might wish to review the disk configuration information in section 4.3 ! 667: before continuing; the partitions used below are those most appropriate ! 668: in size. ! 669: Find the disk you have in the following table and execute ! 670: the commands in the right hand portion of the table: ! 671: .DS ! 672: .TS ! 673: l l. ! 674: DEC RM03 \fB#\fI disk=hp; name=hp0g; type=rm03\fR ! 675: DEC RM05 \fB#\fI disk=hp; name=hp0g; type=rm05\fR ! 676: DEC RM80 \fB#\fI disk=hp; name=hp0g; type=rm80\fR ! 677: DEC RP06 \fB#\fI disk=hp; name=hp0g; type=rp06\fR ! 678: DEC RP07 \fB#\fI disk=hp; name=hp0h; type=rp07\fR ! 679: DEC RK07 \fB#\fI disk=hk; name=hk0g; type=rk07\fR ! 680: DEC RA60 \fB#\fI disk=ra; name=ra0h; type=ra60\fR ! 681: DEC RA70 \fB#\fI disk=ra; name=ra0h; type=ra70\fR ! 682: DEC RA80 \fB#\fI disk=ra; name=ra0h; type=ra80\fR ! 683: DEC RA81 \fB#\fI disk=ra; name=ra0h; type=ra81\fR ! 684: DEC RA82 \fB#\fI disk=ra; name=ra0h; type=ra82\fR ! 685: DEC R80 \fB#\fI disk=rb; name=rb0h; type=rb80\fR ! 686: UNIBUS CDC 9766 \fB#\fI name=up0g; type=9766\fR ! 687: UNIBUS AMPEX 300M \fB#\fI disk=up; name=up0g; type=9300\fR ! 688: UNIBUS AMPEX 330M \fB#\fI disk=up; name=up0g; type=capricorn\fR ! 689: UNIBUS FUJITSU 160M \fB#\fI disk=up; name=up0g; type=fuji160\fR ! 690: UNIBUS FUJITSU 330M \fB#\fI disk=up; name=up0g; type=capricorn\fR ! 691: UNIBUS FUJITSU 404M \fB#\fI disk=up; name=up0h; type=eagle\fR ! 692: MASSBUS CDC 9766 \fB#\fI disk=up; name=hp0g; type=9766\fR ! 693: MASSBUS AMPEX 300M \fB#\fI disk=up; name=hp0g; type=9300\fR ! 694: MASSBUS AMPEX 330M \fB#\fI disk=up; name=hp0g; type=capricorn\fR ! 695: MASSBUS FUJITSU 330M \fB#\fI disk=up; name=hp0g; type=capricorn\fR ! 696: MASSBUS FUJITSU 404M \fB#\fI disk=up; name=hp0h; type=eagle\fR ! 697: .TE ! 698: .DE ! 699: If you have a DEC RA disk, but it is on a KDB50, insert a `k': ! 700: .DS ! 701: \fB#\fP \fIdisk=k$disk; name=k$name ! 702: .DE ! 703: Next find the tape you have in the following table and execute the ! 704: commands in the right hand portion of the table: ! 705: .DS ! 706: .TS ! 707: l l. ! 708: DEC TE16/TU45/TU77 \fB#\fI cd /dev; MAKEDEV ht0; sync\fR ! 709: DEC TU78 \fB#\fI cd /dev; MAKEDEV mt0; sync\fR ! 710: DEC TS11 \fB#\fI cd /dev; MAKEDEV ts0; sync\fR ! 711: DEC TK50/TK70/TA80/TA81 \fB#\fI cd /dev; MAKEDEV tmscp0; sync\fR ! 712: EMULEX TC11 \fB#\fI cd /dev; MAKEDEV tm0; sync\fR ! 713: SI 9700 \fB#\fI cd /dev; MAKEDEV ut0; sync\fR ! 714: .TE ! 715: .DE ! 716: .PP ! 717: On hp and ra disks (excluding those on the KDB50), ! 718: \*(4B uses disk labels in the first sector of each disk to contain ! 719: information about the geometry of the drive and the partition layout. ! 720: This information is written with \fIdisklabel\fP\|(8). ! 721: To label the disk containing the root file system, ! 722: run the following command: ! 723: .DS ! 724: \fB#\fP \fIdisklabel -rw ${disk}0 $type "optional_pack_name" ! 725: .DE ! 726: This sets up the default partition table. \fIType\fP can ! 727: be any name listed in /etc/disktab; if you want something other ! 728: than the default tables, you can edit /etc/disktab and add ! 729: a new name: e.g., ``ra81-local.'' Alternatively, you can ! 730: use the \fI\-e\fP option to edit the label; ! 731: you will have to set the ``EDITOR'' environment variable to /bin/ed: ! 732: .DS ! 733: \fB#\fP \fIEDITOR=/bin/ed; export EDITOR\fP ! 734: .DE ! 735: .PP ! 736: You should label all your disks as soon as possible, but you ! 737: \fImust\fP label the root pack on a VAX-11/750, ! 738: even if labels are not supported (e.g., on ``up'' disks), ! 739: as this also creates the boot block. ! 740: As a general rule, it is always safe to run \fIdisklabel\fP: ! 741: if labels are not supported on some disk, ! 742: nothing of consequence will happen. ! 743: .NH 3 ! 744: Step 8: setting up the /usr file system ! 745: .PP ! 746: The next thing to do is to extract the rest of the data from ! 747: the tape: ! 748: .br ! 749: .ne 5 ! 750: .sp ! 751: .DS ! 752: .TS ! 753: lw(2i) l. ! 754: \fB#\fI date \fRyymmddhhmm (set date, see \fIdate\fP\|(1)) ! 755: \&.... ! 756: \fB#\fI passwd root\fR (set password for super-user) ! 757: \fBNew password:\fP (password will not echo) ! 758: \fBRetype new password:\fP ! 759: \fB#\fI hostname \fRmysitename (set your hostname) ! 760: \fB#\fI newfs ${name} ${type}\fR (create empty user file system) ! 761: (this takes a few minutes) ! 762: \fB#\fI mount /dev/${name} /usr\fR (mount the usr file system) ! 763: \fB#\fI cd /usr\fR (make /usr the current directory) ! 764: \fB#\fI mt fsf\fR ! 765: \fB#\fI tar xpbf 20 /dev/rmt12\fR (extract all of usr except usr/src) ! 766: (this takes about 15-20 minutes) ! 767: .TE ! 768: .DE ! 769: If the tape had been rewound or positioned incorrectly before the \fItar\fP, ! 770: it may be repositioned by the following commands. ! 771: .DS ! 772: \fB#\fI mt rew\fR ! 773: \fB#\fI mt fsf 3\fR ! 774: .DE ! 775: The data on the fourth tape file has now been extracted. ! 776: If you are using 1600bpi tapes, ! 777: the first reel of the distribution is no longer needed; ! 778: the remainder of the installation procedure uses the second ! 779: reel of tape that should be mounted in place of the first. ! 780: The first instruction below is ignored if using 1600bpi tapes. ! 781: The installation procedure continues from this point on the 6250bpi tape. ! 782: .DS ! 783: .TS ! 784: lw(2i) l. ! 785: \fB#\fI mt fsf\fR (do not do on 1600bpi tapes) ! 786: \fB#\fI mkdir src\fR (make directory for source) ! 787: \fB#\fI mkdir src/sys\fR (make directory for system source) ! 788: \fB#\fI cd src/sys\fR (make /usr/sys the current directory) ! 789: \fB#\fI tar xpbf 20 /dev/rmt12 \fR (extract the system source) ! 790: (this takes about 5-10 minutes) ! 791: \fB#\fI cd /\fR (back to root) ! 792: \fB#\fI chmod 755 / /usr /usr/src /usr/src/sys\fR ! 793: \fB#\fI rm \-f sys\fR ! 794: \fB#\fI ln \-s usr/src/sys sys\fR (make a symbolic link to the system source) ! 795: \fB#\fI umount /dev/${name}\fR (unmount /usr) ! 796: .TE ! 797: .DE ! 798: .PP ! 799: You can check the consistency of the /usr file system by doing ! 800: .DS ! 801: \fB#\fI fsck /dev/r${name}\fR ! 802: .DE ! 803: The output from ! 804: .I fsck ! 805: should look something like: ! 806: .DS ! 807: .B ! 808: ** /dev/r\fIxx\fP0h ! 809: ** Last Mounted on /usr ! 810: ** Phase 1 - Check Blocks and Sizes ! 811: ** Phase 2 - Check Pathnames ! 812: ** Phase 3 - Check Connectivity ! 813: ** Phase 4 - Check Reference Counts ! 814: ** Phase 5 - Check Cyl groups ! 815: 671 files, 3497 used, 137067 free (75 frags, 34248 blocks) ! 816: .R ! 817: .DE ! 818: .PP ! 819: If there are inconsistencies in the file system, you may be prompted ! 820: to apply corrective action; see the document describing ! 821: .I fsck ! 822: for information. ! 823: .PP ! 824: To use the /usr file system, you should now remount it by ! 825: saying ! 826: .DS ! 827: \fB#\fI /etc/mount /dev/${name} /usr\fR ! 828: .DE ! 829: You can then extract the source code for the commands ! 830: (except on RK07's and RM03's this will fit in the /usr file system): ! 831: .DS ! 832: \fB#\fI cd /usr/src\fR ! 833: \fB#\fI mt fsf\fR ! 834: \fB#\fI tar xpb 20\fR ! 835: .DE ! 836: If you get an error at this point, most likely it was ! 837: a problem with tape positioning. ! 838: You can reposition the tape by rewinding it and ! 839: then skipping over the files already read (see \fImt\fP\|(1)). ! 840: .NH 3 ! 841: Additional software ! 842: .PP ! 843: There is one additional tape file on the distribution tape(s) ! 844: which has not been installed to this point; ! 845: it contains user contributed software in \fItar\fP\|(1) format. ! 846: On the 1600bpi tape set, this file is the sole file on the third tape. ! 847: It can be installed by positioning the tape ! 848: using \fImt\fP\|(1) and reading ! 849: in the files as was done for /usr/src above. ! 850: As distributed, the user contributed software should be placed in /usr/src/new. ! 851: It may be extracted by mounting the appropriate tape (if not already mounted), ! 852: positioning the tape at the beginning of this file (for 6250bpi), ! 853: and extracting with ! 854: .IR tar : ! 855: .DS ! 856: \fB#\fP \fIcd /usr/src\fP ! 857: \fB#\fP \fImkdir new\fP ! 858: \fB#\fP \fIchmod 755 new\fP ! 859: \fB#\fP \fIcd new\fP ! 860: \fB#\fP \fItar xpb 20\fP ! 861: .DE ! 862: Several of the directories for large contributed software subsystems ! 863: have been placed in a single archive file and compressed to allow ! 864: .NH 2 ! 865: Additional conversion information ! 866: .PP ! 867: After setting up the new \*(4B filesystems, ! 868: you may restore the user files that were saved on tape before beginning ! 869: the conversion. ! 870: Note that the \*(4B \fIrestore\fP program does ! 871: its work on a mounted file system using normal system operations ! 872: (unlike the older \fIrestor\fP that accessed the raw file ! 873: system device and deposited inodes in the appropriate locations ! 874: on disk). This means that file system dumps may be restored even ! 875: if the characteristics of the file system changed. To restore ! 876: a dump tape for, say, the /a file system something like the following ! 877: would be used: ! 878: .DS ! 879: \fB#\fI mkdir /a\fR ! 880: \fB#\fI disklabel -rw hp1 eagle\fR ! 881: \fB#\fI newfs hp1g\fR ! 882: \fB#\fI mount /dev/hp1g /a\fR ! 883: \fB#\fI cd /a\fR ! 884: \fB#\fI restore r\fR ! 885: .DE ! 886: If you chose to convert 4.1BSD filesystems while copying to a new disk area, ! 887: do so by piping the output of \fIdump.4.1\fP directly into \fIrestore\fP ! 888: after bringing up \*(4B. ! 889: .PP ! 890: If \fItar\fP images were written instead of doing a dump, you should ! 891: be sure to use the `p' option when reading the files back. ! 892: No matter how you restore a file system, be sure and check its ! 893: integrity with \fIfsck\fP when the job is complete. ! 894: .PP ! 895: To convert a compiler from 4.1BSD ! 896: to \*(4B you should simply have to recompile and relink the ! 897: various parts. If the processor is written in itself, for instance ! 898: a P\s-2ASCAL\s0 compiler written in P\s-2ASCAL\s0, the important step in ! 899: converting is to save a working copy of the 4.1BSD binary before ! 900: converting to \*(4B. Then, once the system has been changed over, ! 901: the 4.1BSD binary should be used in the rebuilding process. ! 902: To do this, you should enable the 4.1 compatibility ! 903: option when you configure the kernel (see section 4.3). ! 904: .PP ! 905: If no working 4.1BSD binary exists, or the language processor ! 906: uses some nonstandard system call, you will likely have to compile ! 907: the language processor into an intermediate form, such as assembly ! 908: language, on a 4.1BSD system, then bring the intermediate form ! 909: to \*(4B for assembly and loading.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.