Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bproc(8) — UNIX 32V

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tp(1)

init(8)

BPROC(8)  —  UNIX Programmer’s Manual

NAME

boot procedures − UNIX/32V startup

DESCRIPTION

How to start UNIX/32V.  UNIX/32V is started by placing it in memory at location zero and transferring to its entry address.  Since the system is not reenterable, it is necessary to read it in from disk or tape.  The LSI-11 console computer is used to do this. 

The LSI-11 must first be in the right frame of mind.  When it is, it will type three greater-than signs ‘>>>’ as a prompt.  If you do not see this prompt, type control-P and “HALT\r” to gain the attention of the LSI-11.  If the last printout on the console is a six-digit octal number and an at-sign ‘@’, then the LSI-11 has crashed and is in ODT mode.  Type “173000G” to boot the LSI-11.  If this fails, open the VAX-11 cabinet and flick the HALT/ENABLE switch on the LSI-11 first to HALT, then to ENABLE. 

To boot from disk, first put the LSI-11 in the right frame of mind and then mumble the following incantation through the console (parentheses indicate comments which should not be mumbled):

   >>>HALT
   >>>LINK(save the following sequence on the floppy)
   (the prompt should change to <<<)
   <<<HALT
   <<<UNJAM
   <<<INIT
   <<<D 30000 00009FDE
   <<<D + D0512001
   <<<D + D004A101
   <<<D + 0400C113
   <<<D + 10008F32
   <<<D + D40424C1
   <<<D + 8FD00CA1
   <<<D + 80000000
   <<<D + 320800C1
   <<<D + A1FE008F
   <<<D + 28C1D410
   <<<D + 14C1D404
   <<<D + C139D004
   <<<D + 00000400
   <<<START 30000
   <<<START 2
   (to exit from linking mode type ‘control-c’)
   <<<‘control-c’
   >>>PERFORM    (the magic word)

This causes the LSI-11 to read block 0, unit 0, MBA 0 into memory at location 0 and start the VAX-11 at location 0 when the read has finished.  In a standard file system, block 0 contains the program uboot. uboot executes the file /fboot which it finds in the file system which resides at the beginning of unit 0, MBA 0.  fboot prints a prompt, reads a file name (usually ‘unix’) from the console, finds that file, reads it into memory at location 0, and transfers to it. 

The second and subsequent times that the system is booted, you need only utter the magic word PERFORM; the LSI-11 will do all the chanting.  This takes all the fun out of booting, but it is faster. 

The above program is an assembled version of this code. 

RP06 disk (MBA 0, drive 0)
00009fdemoval*$0x20010000,r1# MBA 0
  512001
d0      movl$1,4(r1)# initialize MBA
  04a101
d0      movl$0x13,0x400(r1)# volume valid
0400c113
10008f32cvtwl$0x1000,0x424(r1)# 16-bit format
  0424c1
d4      clrl12(r1)# map reg. 0, offset 0
    0ca1
8fd0    movl$0x80000000,0x800(r1)# valid, page 0/0
80000000
  0800c1
32      cvtwl$-512,16(r1)# byte count
a1fe008f
      10
28c1d4  clrl0x428(r1)# cylinder
      04
14c1d4  clrl0x414(r1)# sector, track
      04
c139d0  movl$0x39,0x400(r1)# read 1 block
    0400
  00    halt

To boot from magnetic tape:  The tp(1) command places the bootstrap program mboot on block 0 of the tape.  When read into memory at location 0 and executed, mboot prompts with an equal sign ‘=’, reads a file name from the console, then loads and executes that file from the tp tape.  Unfortunately DEC does not provide a console command to read a block from tape to memory.  Here is a position-independent program which does:

TM03 magtape (MBA 1, drive 0) from load point:
20009fdemoval*$0x20012000,r1# MBA 1
  512001
d0      movl$1,4(r1)# initialize
  04a101
32      cvtwl$0x13c0,0x424(r1)# drive characteristics
c113c08f
    0424
a1d4    clrl12(r1)# map reg. 0, offset 0
      0c
008fd0  movl$0x80000000,0x800(r1)# valid, page 0/0
c1800000
    0800
8f32    cvtwl$-512,16(r1)# byte count
10a1fe00
00c139d0movl$0x39,0x400(r1)# read 1 block
      04
    00  halt
Then give the console command “START 0\r”.

mboot and fboot do not perform character erase and line kill editing.  Instead, they start over with the prompt for file name whenever the requested file cannot be found. 

Be sure that mboot exists whenever a tp tape is made.  Remember to put uboot and /fboot in file systems when running mkfs.

FILES

/unixUNIX/32V code
/usr/mdec/ubootdisk bootstrap
/fbootfile system bootstrap
/usr/mdec/mboot tp magtape bootstrap

SEE ALSO

tp(1), init(8)

7th Edition  —  UNIX/32V

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026