|
|
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.