Annotation of researchv10dc/dist/man/v4/man8/bproc.8, revision 1.1

1.1     ! root        1: .tr |
        !             2: .th "BOOT PROCEDURES" VIII 11/1/73
        !             3: .sh NAME
        !             4: boot procedures \*- UNIX startup
        !             5: .sh DESCRIPTION
        !             6: The advent of the new system has
        !             7: changed the boot procedures.
        !             8: .it "These procedures apply only to C-language systems."
        !             9: .s3
        !            10: .it "How to start UNIX.||"
        !            11: UNIX is started by placing it in core
        !            12: starting at location zero and transferring to zero.
        !            13: There are various ways to do this.
        !            14: If
        !            15: UNIX is still intact after it has been running,
        !            16: the most obvious method is
        !            17: simply to transfer to zero.
        !            18: .s3
        !            19: The
        !            20: .it tp
        !            21: command places a bootstrap program
        !            22: on the
        !            23: otherwise unused block zero of the tape.
        !            24: The DECtape version of this program is
        !            25: called
        !            26: .it tboot,
        !            27: the magtape version
        !            28: .it mboot.
        !            29: If
        !            30: .it tboot
        !            31: or
        !            32: .it mboot
        !            33: is read into location zero and
        !            34: executed there,
        !            35: it will type `=' on the console,
        !            36: read in a
        !            37: .it tp
        !            38: entry name,
        !            39: load that entry into core,
        !            40: and transfer to zero.
        !            41: Thus the next easiest way to run UNIX
        !            42: is to maintain the UNIX code on a tape using
        !            43: .it tp.
        !            44: Then when a boot is required,
        !            45: execute (somehow) a program
        !            46: which reads in and jumps to
        !            47: the first block of the tape.
        !            48: In response to the `='
        !            49: prompt,
        !            50: type the entry name of the system on the tape
        !            51: (we use plain `unix').
        !            52: It is strongly recommended that a current version of
        !            53: the system be maintained in this way,
        !            54: even if the first or third methods of booting the
        !            55: system are usually used.
        !            56: .s3
        !            57: The standard
        !            58: DEC ROM which loads DECtape is sufficient to
        !            59: read in
        !            60: .it tboot,
        !            61: but the
        !            62: magtape ROM loads block one, not zero.
        !            63: If no suitable ROM is available,
        !            64: magtape and DECtape programs are presented below which may be
        !            65: manually placed in core and executed.
        !            66: .s3
        !            67: A third method of rebooting the system involves the otherwise unused
        !            68: block zero of each UNIX file system.
        !            69: The single-block program
        !            70: .it uboot
        !            71: will read a UNIX pathname from the console,
        !            72: find the corresponding file on a device,
        !            73: load that file into core location zero,
        !            74: and transfer to it.
        !            75: The current version of this boot program
        !            76: reads a single character (either
        !            77: .bd p
        !            78: or
        !            79: .bd k
        !            80: for RP or RK, both drive 0)
        !            81: to specify which device is to be
        !            82: searched.
        !            83: .it Uboot
        !            84: operates under very
        !            85: severe space constraints.
        !            86: It supplies no prompts, except that it
        !            87: echos a carriage return and line feed after the
        !            88: .bd p
        !            89: or
        !            90: .bd k.
        !            91: No diagnostic is provided if the indicated file cannot be found,
        !            92: nor is there any means of correcting typographical errors in the
        !            93: file name except to start the program over.
        !            94: .it Uboot
        !            95: can reside on any of the standard
        !            96: file systems or may be loaded from a
        !            97: .it tp
        !            98: tape as described above.
        !            99: .s3
        !           100: The standard DEC disk ROMs will load and execute
        !           101: .it uboot
        !           102: from block zero.
        !           103: .s3
        !           104: .it "The switches.||"
        !           105: The console switches play an important role in the
        !           106: use and especially the booting of UNIX.
        !           107: During operation,
        !           108: the console switches are
        !           109: examined 60 times per second,
        !           110: and the contents of the address specified by the switches
        !           111: are displayed in the display register.
        !           112: (This is not true on the 11/40
        !           113: since there is no display register on that machine.)
        !           114: If the switch address is even,
        !           115: the address is interpreted in kernel (system)
        !           116: space;
        !           117: if odd,
        !           118: the rounded-down address is interpreted in
        !           119: the current user space.
        !           120: .s3
        !           121: If any diagnostics are produced by the system,
        !           122: they are printed on the console only if
        !           123: the switches are non-zero.
        !           124: Thus it is wise to have a non-zero value in the
        !           125: switches at all times.
        !           126: .s3
        !           127: During the startup of the
        !           128: system,
        !           129: the
        !           130: .it init
        !           131: program (VIII)
        !           132: reads the switches and
        !           133: will come up single-user
        !           134: if the switches are set to 173030.
        !           135: .s3
        !           136: It is unwise to have a non-existent address in the
        !           137: switches.
        !           138: This causes a bus error in the system
        !           139: (displayed as 177777)
        !           140: at the rate of 60 times per second.
        !           141: If there is a transfer of more than
        !           142: 16ms duration on a device with a data rate
        !           143: faster than the bus error timeout
        !           144: (approx 10\*us)
        !           145: then a permanent disk non-existent-memory error will occur.
        !           146: .s3
        !           147: .it "ROM programs.||"
        !           148: Here are some programs which are suitable for
        !           149: installing in read-only memories,
        !           150: or for manual keying into core
        !           151: if no ROM is present.
        !           152: Each program is position-independent
        !           153: but should be placed well above location 0
        !           154: so it will not be overwritten.
        !           155: Each reads a block from the
        !           156: beginning of a device into core location
        !           157: zero.
        !           158: The octal words constituting the program are
        !           159: listed on the left.
        !           160: .s3
        !           161: .ne 5
        !           162: .nf
        !           163: DECtape (drive 0) from endzone:
        !           164: .if n .ta 3 11 15 23 38
        !           165: .if t .ta .3i 1i 1.4i 2i 3.5i
        !           166:        012700          mov     $tcba,r0
        !           167:        177346
        !           168:        010040          mov     r0,-(r0)        / use tc addr for wc
        !           169:        012710          mov     $3,(r0) / read bn forward
        !           170:        000003
        !           171:        105710  1:      tstb    (r0)    / wait for ready
        !           172:        002376          bge     1b
        !           173:        112710          movb    $5,(r0) / read (forward)
        !           174:        000005
        !           175:        000777          br      .       / loop; now halt and start at 0
        !           176: .s3
        !           177: DECtape (drive 0) with search:
        !           178:        012700  1:      mov     $tcba,r0
        !           179:        177346
        !           180:        010040          mov     r0,-(r0)        / use tc addr for wc
        !           181:        012740          mov     $4003,-(r0)     / read bn reverse
        !           182:        004003
        !           183:        005710  2:      tst     (r0)
        !           184:        002376          bge     2b      / wait for error
        !           185:        005760          tst     -2(r0)  / loop if not end zone
        !           186:        177776
        !           187:        002365          bge     1b
        !           188:        012710          mov     $3,(r0) / read bn forward
        !           189:        000003
        !           190:        105710  2:      tstb    (r0)    / wait for ready
        !           191:        002376          bge     2b
        !           192:        112710          movb    $5,(r0) / read (forward)
        !           193:        000005
        !           194:        105710  2:      tstb    (r0)    / wait for ready
        !           195:        002376          bge     2b
        !           196:        005007          clr     pc      / transfer to zero
        !           197: .s3
        !           198: .fi
        !           199: Caution: both of these DECtape programs will (literally) blow a fuse
        !           200: if 2 drives are dialed to zero.
        !           201: .s3
        !           202: .nf
        !           203: Magtape from load point:
        !           204:        012700          mov     $mtcma,r0
        !           205:        172526
        !           206:        010040          mov     r0,-(r0)        / usr mt addr for wc
        !           207:        012740          mov     $60003,-(r0)    / read 9-track
        !           208:        060003
        !           209:        000777          br      .       / loop; now halt and start at 0
        !           210: .s3
        !           211: RK (drive 0):
        !           212:        012700          mov     $rkmr,r0
        !           213:        177414
        !           214:        005040          clr     -(r0)
        !           215:        005040          clr     -(r0)
        !           216:        010040          mov     r0,-(r0)
        !           217:        012740          mov     $5,-(r0)
        !           218:        000005
        !           219:        105710  1:      tstb    (r0)
        !           220:        002376          bge     1b
        !           221:        005007          clr     pc
        !           222: .s3
        !           223: RP (drive 0)
        !           224:        012700          mov     $rpmr,r0
        !           225:        176726
        !           226:        005040          clr     -(r0)
        !           227:        005040          clr     -(r0)
        !           228:        005040          clr     -(r0)
        !           229:        010040          mov     r0,-(r0)
        !           230:        012740          mov     $5,-(r0)
        !           231:        000005
        !           232:        105710  1:      tstb    (r0)
        !           233:        002376          bge     1b
        !           234:        005007          clr     pc
        !           235: .dt
        !           236: .sh FILES
        !           237: /usr/sys/unix \*- UNIX code
        !           238: .br
        !           239: /usr/mdec/mboot \*- \fItp\fR magtape bootstrap
        !           240: .br
        !           241: /usr/mdec/tboot \*- \fItp\fR DECtape bootstrap
        !           242: .br
        !           243: /usr/mdec/uboot \*- file system bootstrap
        !           244: .sh "SEE ALSO"
        !           245: tp(I), init(VII)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.