|
|
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: .\" @(#)a.t 6.4 (Berkeley) 3/7/89 ! 17: .\" ! 18: .de IR ! 19: \fI\\$1\fP\|\\$2 ! 20: .. ! 21: .ds LH "Installing/Operating \*(4B ! 22: .nr H1 6 ! 23: .nr H2 0 ! 24: .ds RH "Appendix A \- bootstrap details ! 25: .ds CF \*(DY ! 26: .bp ! 27: .LG ! 28: .B ! 29: .ce ! 30: APPENDIX A \- BOOTSTRAP DETAILS ! 31: .sp 2 ! 32: .R ! 33: .NL ! 34: .PP ! 35: This appendix contains pertinent files and numbers regarding the ! 36: bootstrapping procedure for \*(4B. You should never have to ! 37: look at this appendix. However, if there are problems in installing ! 38: the distribution on your machine, the material contained here may ! 39: prove useful. ! 40: .SH ! 41: Contents of the distribution tape(s) ! 42: .PP ! 43: The distribution normally consists of three 1600bpi 2400' magnetic ! 44: tapes or one 6250bpi 2400' magnetic tape. ! 45: The layout of the 1600bpi tapes is listed below. The 6250bpi ! 46: tape is in the same order, but is only on one tape. ! 47: The first tape contains the following files on it. All ! 48: tape files are blocked in 10 kilobytes records, except for the ! 49: first file on the first tape that has 512 byte records. ! 50: .DS L ! 51: .TS ! 52: l l l. ! 53: Tape file Records* Contents ! 54: _ ! 55: one 210 8 bootstrap monitor programs and a ! 56: \fItp\fP\|(1) file containing \fIboot\fP, \fIformat\fP, and \fIcopy\fP ! 57: two 205 ``mini root'' file system ! 58: three 430 \fIdump\fP\|(8) of distribution root file system ! 59: four 3000 \fItar\fP\|(1) image of binaries and libraries in /usr ! 60: .TE ! 61: .FS ! 62: * The number of records in each tape file are approximate ! 63: and do not correspond to the actual tape. ! 64: .FE ! 65: .DE ! 66: The second tape contains the following files: ! 67: .DS L ! 68: .TS ! 69: l l l. ! 70: Tape file # Records Contents ! 71: _ ! 72: one 720 \fItar\fP\|(1) image of /sys, including GENERIC system ! 73: two 2500 \fItar\fP\|(1) image of /usr/src ! 74: three 580 \fItar\fP\|(1) image of /usr/lib/vfont ! 75: .TE ! 76: .DE ! 77: The third tape contains the following files: ! 78: .DS L ! 79: .TS ! 80: l l l. ! 81: Tape file # Records Contents ! 82: _ ! 83: one 3660 \fItar\fP\|(1) image of user contributed software ! 84: two 250 \fItar\fP\|(1) image of /usr/ingres ! 85: .TE ! 86: .DE ! 87: .PP ! 88: The distribution tape is made with the shell scripts located ! 89: in the directory /sys/dist. To build a distribution tape ! 90: one must first create a mini root file system with the \fIbuildmini\fP ! 91: shell script. ! 92: .DS ! 93: #!/bin/sh ! 94: # @(#)buildmini 4.7 (Berkeley) 6/23/85 ! 95: # ! 96: miniroot=hp0d ! 97: minitype=rm80 ! 98: # ! 99: date ! 100: umount /dev/${miniroot} ! 101: newfs -s 4096 ${miniroot} ${minitype} ! 102: fsck /dev/r${miniroot} ! 103: mount /dev/${miniroot} /mnt ! 104: cd /mnt; sh /sys/dist/get ! 105: cd /sys/dist; sync ! 106: umount /dev/${miniroot} ! 107: fsck /dev/${miniroot} ! 108: date ! 109: .DE ! 110: The \fIbuildmini\fP ! 111: script uses the \fIget\fP script to build the ! 112: file system. ! 113: .ID ! 114: #!/bin/sh ! 115: # ! 116: # @(#)get 4.23 (Berkeley) 4/9/86 ! 117: # ! 118: # Shell script to build a mini-root file system ! 119: # in preparation for building a distribution tape. ! 120: # The file system created here is image copied onto ! 121: # tape, then image copied onto disk as the "first" ! 122: # step in a cold boot of 4.2 systems. ! 123: # ! 124: DISTROOT=/nbsd ! 125: # ! 126: if [ `pwd` = '/' ] ! 127: then ! 128: echo You just '(almost)' destroyed the root ! 129: exit ! 130: fi ! 131: cp $DISTROOT/sys/GENERIC/vmunix . ! 132: rm -rf bin; mkdir bin ! 133: rm -rf etc; mkdir etc ! 134: rm -rf a; mkdir a ! 135: rm -rf tmp; mkdir tmp ! 136: rm -rf usr; mkdir usr usr/mdec ! 137: rm -rf sys; mkdir sys sys/floppy sys/cassette sys/consolerl ! 138: cp $DISTROOT/etc/disktab etc ! 139: cp $DISTROOT/etc/newfs etc; strip etc/newfs ! 140: cp $DISTROOT/etc/mkfs etc; strip etc/mkfs ! 141: cp $DISTROOT/etc/restore etc; strip etc/restore ! 142: cp $DISTROOT/etc/init etc; strip etc/init ! 143: cp $DISTROOT/etc/mount etc; strip etc/mount ! 144: cp $DISTROOT/etc/mknod etc; strip etc/mknod ! 145: cp $DISTROOT/etc/fsck etc; strip etc/fsck ! 146: cp $DISTROOT/etc/umount etc; strip etc/umount ! 147: cp $DISTROOT/etc/arff etc; strip etc/arff ! 148: cp $DISTROOT/etc/flcopy etc; strip etc/flcopy ! 149: cp $DISTROOT/bin/mt bin; strip bin/mt ! 150: cp $DISTROOT/bin/ls bin; strip bin/ls ! 151: cp $DISTROOT/bin/sh bin; strip bin/sh ! 152: cp $DISTROOT/bin/mv bin; strip bin/mv ! 153: cp $DISTROOT/bin/sync bin; strip bin/sync ! 154: cp $DISTROOT/bin/cat bin; strip bin/cat ! 155: cp $DISTROOT/bin/mkdir bin; strip bin/mkdir ! 156: cp $DISTROOT/bin/stty bin; strip bin/stty; ln bin/stty bin/STTY ! 157: cp $DISTROOT/bin/echo bin; strip bin/echo ! 158: cp $DISTROOT/bin/rm bin; strip bin/rm ! 159: cp $DISTROOT/bin/cp bin; strip bin/cp ! 160: cp $DISTROOT/bin/expr bin; strip bin/expr ! 161: cp $DISTROOT/bin/[ bin; strip bin/[ ! 162: cp $DISTROOT/bin/awk bin; strip bin/awk ! 163: cp $DISTROOT/bin/make bin; strip bin/make ! 164: cp $DISTROOT/usr/mdec/* usr/mdec ! 165: cp $DISTROOT/sys/floppy/[Ma-z0-9]* sys/floppy ! 166: cp $DISTROOT/sys/consolerl/[Ma-z0-9]* sys/consolerl ! 167: cp -r $DISTROOT/sys/cassette/[Ma-z0-9]* sys/cassette ! 168: cp $DISTROOT/sys/stand/boot boot ! 169: cp $DISTROOT/sys/stand/pcs750.bin pcs750.bin ! 170: cp $DISTROOT/.profile .profile ! 171: cat >etc/passwd <<EOF ! 172: root::0:10::/:/bin/sh ! 173: EOF ! 174: cat >etc/group <<EOF ! 175: wheel:*:0: ! 176: staff:*:10: ! 177: EOF ! 178: cat >etc/fstab <<EOF ! 179: /dev/hp0a:/a:xx:1:1 ! 180: /dev/up0a:/a:xx:1:1 ! 181: /dev/hk0a:/a:xx:1:1 ! 182: /dev/ra0a:/a:xx:1:1 ! 183: /dev/rb0a:/a:xx:1:1 ! 184: EOF ! 185: cat >xtr <<'EOF' ! 186: : ${disk?'Usage: disk=xx0 type=tt tape=yy xtr'} ! 187: : ${type?'Usage: disk=xx0 type=tt tape=yy xtr'} ! 188: : ${tape?'Usage: disk=xx0 type=tt tape=yy xtr'} ! 189: echo 'Build root file system' ! 190: newfs ${disk}a ${type} ! 191: sync ! 192: echo 'Check the file system' ! 193: fsck /dev/r${disk}a ! 194: mount /dev/${disk}a /a ! 195: cd /a ! 196: echo 'Rewind tape' ! 197: mt -f /dev/${tape}0 rew ! 198: echo 'Restore the dump image of the root' ! 199: restore rsf 3 /dev/${tape}0 ! 200: cd / ! 201: sync ! 202: umount /dev/${disk}a ! 203: sync ! 204: fsck /dev/r${disk}a ! 205: echo 'Root filesystem extracted' ! 206: echo ! 207: echo 'If this is an 8650 or 8600, update the console rl02' ! 208: echo 'If this is a 780 or 785, update the floppy' ! 209: echo 'If this is a 730, update the cassette' ! 210: EOF ! 211: chmod +x xtr ! 212: rm -rf dev; mkdir dev ! 213: cp $DISTROOT/sys/dist/MAKEDEV dev ! 214: chmod +x dev/MAKEDEV ! 215: cp /dev/null dev/MAKEDEV.local ! 216: cd dev ! 217: \&./MAKEDEV std hp0 hk0 up0 ra0 rb0 ! 218: \&./MAKEDEV ts0; mv rmt12 ts0; rm *mt*; ! 219: \&./MAKEDEV tm0; mv rmt12 tm0; rm *mt*; ! 220: \&./MAKEDEV ht0; mv rmt12 ht0; rm *mt*; ! 221: \&./MAKEDEV ut0; mv rmt12 ut0; rm *mt*; ! 222: \&./MAKEDEV mt0; mv rmt4 xt0; rm *mt*; mv xt0 mt0 ! 223: cd .. ! 224: sync ! 225: .DE ! 226: The mini root file system must have enough space to hold the ! 227: files found on a floppy or cassette. ! 228: .PP ! 229: Once a mini root file system is constructed, the \fImaketape\fP ! 230: script makes a distribution tape. ! 231: .ID ! 232: #!/bin/sh ! 233: # ! 234: # @(#)maketape 4.27 (Berkeley) 10/17/85 ! 235: # ! 236: # maketape [ 6250 | 1600 [ tapename [ remotetapemachine ] ] ] ! 237: miniroot=hp0d ! 238: tape=/dev/rmt12 ! 239: type=6250 ! 240: if [ $# -gt 0 ]; then type=$1; fi ! 241: if [ $# -gt 1 ]; then tape=$2; fi ! 242: tartape=$tape ! 243: if [ $# -gt 2 ]; then remote=$3; tartape='-'; fi ! 244: # ! 245: trap "rm -f /tmp/tape.$$; exit" 0 1 2 3 13 15 ! 246: $remote mt -t ${tape} rew ! 247: date ! 248: umount /dev/hp2g ! 249: umount /dev/hp2a ! 250: mount -r /dev/hp2a /c/nbsd ! 251: mount -r /dev/hp2g /c/nbsd/usr ! 252: cd tp ! 253: tp cmf /tmp/tape.$$ boot copy format ! 254: cd /nbsd/sys/mdec ! 255: echo "Build 1st level boot block file" ! 256: cat tsboot htboot tmboot mtboot utboot noboot noboot /tmp/tape.$$ | \e ! 257: $remote dd of=${tape} obs=512 conv=sync ! 258: cd /nbsd ! 259: sync ! 260: echo "Add dump of mini-root file system" ! 261: eval dd if=/dev/r${miniroot} count=205 bs=20b conv=sync ${remote+'|'} \e ! 262: ${remote-"of=$tape"} ${remote+'/usr/local/20b ">" $tape'} ! 263: echo "Add full dump of real file system" ! 264: /etc/${remote+r}dump 0uf $remote${remote+:}${tape} /c/nbsd ! 265: echo "Add tar image of /usr" ! 266: cd /nbsd/usr; eval tar cf ${tartape} adm bin dict doc games \e ! 267: guest hosts include lib local man mdec msgs new \e ! 268: preserve pub spool tmp ucb \e ! 269: ${remote+'| $remote /usr/local/20b ">" $tape'} ! 270: if [ ${type} != '6250' ] ! 271: then ! 272: echo "Done, rewinding first tape" ! 273: $remote mt -t ${tape} rew & ! 274: echo "Mount second tape and hit return when ready" ! 275: echo "(or type name of next tape drive)" ! 276: read x ! 277: if [ "$x" != "" ] ! 278: then tape=$x ! 279: fi ! 280: fi ! 281: echo "Add tar image of system sources" ! 282: cd /nbsd/sys; eval tar cf ${tartape} . \e ! 283: ${remote+'| $remote /usr/local/20b ">" $tape'} ! 284: echo "Add user source code" ! 285: cd /nbsd/usr/src; eval tar cf ${tartape} Makefile bin etc games \e ! 286: include lib local old ucb undoc usr.bin usr.lib \e ! 287: ${remote+'| $remote /usr/local/20b ">" $tape'} ! 288: echo "Add varian fonts" ! 289: cd /usr/lib/vfont; eval tar cf ${tartape} . \e ! 290: ${remote+'| $remote /usr/local/20b ">" $tape'} ! 291: if [ ${type} != '6250' ] ! 292: then ! 293: echo "Done, rewinding second tape" ! 294: $remote mt -t ${tape} rew & ! 295: echo "Mount third tape and hit return when ready" ! 296: echo "(or type name of next tape drive)" ! 297: read x ! 298: if [ "$x" != "" ] ! 299: then tape=$x ! 300: fi ! 301: fi ! 302: echo "Add user contributed software" ! 303: cd /nbsd/usr/src/new; eval tar cf ${tartape} * \e ! 304: ${remote+'| $remote /usr/local/20b ">" $tape'} ! 305: echo "Add ingres source" ! 306: cd /nbsd/usr/ingres; eval tar cf ${tartape} . \e ! 307: ${remote+'| $remote /usr/local/20b ">" $tape'} ! 308: echo "Done, rewinding tape" ! 309: $remote mt -t ${tape} rew & ! 310: .DE ! 311: .PP ! 312: Summarizing then, to create a distribution tape you can ! 313: use the above scripts and the following commands. ! 314: .DS ! 315: \fB#\fP \fIbuildmini\fP ! 316: \fB#\fP \fImaketape\fP ! 317: \&... ! 318: (For 1600bpi tapes, the following will appear twice asking you to mount ! 319: fresh tapes) ! 320: \fBDone, rewinding first tape\fP ! 321: \fBMount second tape and hit return when ready\fP ! 322: (remove the first tape and place a fresh one on the drive) ! 323: \&... ! 324: \fBDone, rewinding second tape\fP ! 325: .DE ! 326: .SH ! 327: Control status register addresses ! 328: .PP ! 329: The distribution uses many standalone device drivers ! 330: that presume the location of a UNIBUS device's control status ! 331: register (CSR). ! 332: The following table summarizes these values. ! 333: .DS ! 334: .TS ! 335: l l l. ! 336: Device name Controller CSR address (octal) ! 337: _ ! 338: ra DEC UDA50 0172150 ! 339: rb DEC 730 IDC 0175606 ! 340: rk DEC RK11 0177440 ! 341: rl DEC RL11 0174400 ! 342: tm EMULEX TC-11 0172520 ! 343: ts DEC TS11 0172520 ! 344: up EMULEX SC-21V 0176700 ! 345: ut SI 9700 0172440 ! 346: .TE ! 347: .DE ! 348: All MASSBUS controllers are located at standard offsets ! 349: from the base address of the MASSBUS adapter register bank. ! 350: BI bus controllers are located automatically. ! 351: .SH ! 352: Generic system control status register addresses ! 353: .PP ! 354: The ! 355: .I generic ! 356: version of the operating system supplied with the distribution ! 357: contains the UNIBUS devices listed below. ! 358: These devices will be recognized ! 359: if the appropriate control status registers respond at any of the ! 360: listed UNIBUS addresses. ! 361: .DS ! 362: .TS ! 363: l l l. ! 364: Device name Controller CSR addresses (octal) ! 365: _ ! 366: hk DEC RK11 0177440 ! 367: tm EMULEX TC-11 0172520 ! 368: tmscp DEC TU81, TMSCP 0174500 ! 369: ts DEC TS11 0172520 ! 370: ut SI 9700 0172440 ! 371: up EMULEX SC-21V 0176700, 0174400, 0176300 ! 372: ra DEC UDA-50 0172150, 0172550, 0177550 ! 373: rb DEC 730 IDC 0175606 ! 374: rl DEC RL11 0174400 ! 375: dm DM11 equivalent 0170500 ! 376: dh DH11 equivalent 0160020, 0160040 ! 377: dhu DEC DHU11 0160440, 0160500 ! 378: dz DEC DZ11 0160100, 0160110, ... 0160170 ! 379: dmf DEC DMF32 0160340 ! 380: dmz DEC DMZ32 0160540 ! 381: lp DEC LP11 0177514 ! 382: en Xerox 3MB ethernet 0161000 ! 383: ec 3Com ethernet 0164330 ! 384: ex Excelan ethernet 0164344 ! 385: il Interlan ethernet 0164000 ! 386: de DEC DEUNA 0174510 ! 387: .TE ! 388: .DE ! 389: If devices other than the above are located at any ! 390: of the addresses listed, the system may not bootstrap ! 391: properly.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.