32V/usr/man/man8/bproc.8

Compare this file to the similar file:
Show the results in this format:

.TH  BPROC 8 "UNIX/32V"
.tr |
.SH NAME
boot procedures \- UNIX/32V startup
.SH DESCRIPTION
.I "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.
.PP
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\er''
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.
.PP
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):
.PP
.nf
   \fI>>>\|\fRHALT
   \fI>>>\|\fRLINK		(save the following sequence on the floppy)
   			(the prompt should change to <<<)
   \fI<<<\|\fRHALT
   \fI<<<\|\fRUNJAM
   \fI<<<\|\fRINIT
   \fI<<<\|\fRD 30000 00009FDE
   \fI<<<\|\fRD + D0512001
   \fI<<<\|\fRD + D004A101
   \fI<<<\|\fRD + 0400C113
   \fI<<<\|\fRD + 10008F32
   \fI<<<\|\fRD + D40424C1
   \fI<<<\|\fRD + 8FD00CA1
   \fI<<<\|\fRD + 80000000
   \fI<<<\|\fRD + 320800C1
   \fI<<<\|\fRD + A1FE008F
   \fI<<<\|\fRD + 28C1D410
   \fI<<<\|\fRD + 14C1D404
   \fI<<<\|\fRD + C139D004
   \fI<<<\|\fRD + 00000400
   \fI<<<\|\fRSTART 30000
   \fI<<<\|\fRSTART 2
   (to exit from linking mode type `control-c')
   \fI<<<\|\fR`control-c'
   \fI>>>\|\fRPERFORM    (the magic word)
.fi
.PP
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
.IR uboot .
.I uboot
executes the file
.I /fboot
which it finds in the file system which resides at the beginning of
unit 0, MBA 0.
.I 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.
.PP
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.
.PP
The above program is an assembled version of this code.
.PP
.nf
.if n .ta 3 14 21 41 49
.if t .ta .3i 1i 1.6i 3.5i
RP06 disk (MBA 0, drive 0)
	00009fde	moval	*$0x20010000,r1	# MBA 0
	\0\0512001
	d0      	movl	$1,4(r1)	# initialize MBA
	\0\004a101
	d0      	movl	$0x13,0x400(r1)	# volume valid
	0400c113
	10008f32	cvtwl	$0x1000,0x424(r1)	# 16-bit format
	\0\00424c1
	d4      	clrl	12(r1)	# map reg. 0, offset 0
	\0\0\0\00ca1
	8fd0    	movl	$0x80000000,0x800(r1)	# valid, page 0/0
	80000000
	\0\00800c1
	32      	cvtwl	$-512,16(r1)	# byte count
	a1fe008f
	\0\0\0\0\0\010
	28c1d4  	clrl	0x428(r1)	# cylinder
	\0\0\0\0\0\004
	14c1d4  	clrl	0x414(r1)	# sector, track
	\0\0\0\0\0\004
	c139d0  	movl	$0x39,0x400(r1)	# read 1 block
	\0\0\0\00400
	\0\000    	halt
.fi
.PP
To boot from magnetic tape:  The
.IR tp (1)
command places the bootstrap program
.I mboot
on block 0 of the tape.  When read into memory at location 0 and executed,
.I mboot
prompts with an equal sign `=', reads a file name from the console,
then loads and executes that file from the
.I 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:
.PP
.nf
TM03 magtape (MBA 1, drive 0) from load point:
.if n .ta 3 14 21 41 49
.if t .ta .3i 1i 1.6i 3.5i
	20009fde	moval	*$0x20012000,r1	# MBA 1
	\0\0512001
	d0      	movl	$1,4(r1)	# initialize
	\0\004a101
	32      	cvtwl	$0x13c0,0x424(r1)	# drive characteristics
	c113c08f
	\0\0\0\00424
	a1d4    	clrl	12(r1)	# map reg. 0, offset 0
	\0\0\0\0\0\00c
	008fd0  	movl	$0x80000000,0x800(r1)	# valid, page 0/0
	c1800000
	\0\0\0\00800
	8f32    	cvtwl	$-512,16(r1)	# byte count
	10a1fe00
	00c139d0	movl	$0x39,0x400(r1)	# read 1 block
	\0\0\0\0\0\004
	\0\0\0\000  	halt
Then give the console command ``START 0\er''.
.fi
.PP
.IR 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.
.PP
Be sure that
.I mboot
exists whenever a
.I tp
tape is made.  Remember to put
.IR uboot\  and\  /fboot
in file systems when running
.IR mkfs .
.SH FILES
.ta \w'/usr/mdec/mboot   'u
/unix	UNIX/32V code
.br
/usr/mdec/uboot	disk bootstrap
.br
/fboot	file system bootstrap
.br
/usr/mdec/mboot	
.IR tp ""
magtape bootstrap
.SH "SEE ALSO"
tp(1), init(8)