.pa 1
.he 'BOOT PROCEDURES (VIII)'2/6/73'BOOT PROCEDURES (VIII)'
.ti 0
NAME		bos, maki, vcboot, msys, et__ al__.
.sp
.ti 0
DESCRIPTION
.br
.in 8
On
the RF disk, the highest 16K words are
reserved for stand-alone programs.
These 16K words are allocated as follows:
.sp
bos		(1K)
.br
Warm UNIX	(7K)
.br
Cold UNIX	(8K)
.sp
The program bos___ (Bootstrap Operating System)
examines the console switches and executes
one of several internal programs depending on the setting.
The following settings are currently recognized:
.sp
.in +8
.ti -8
???	Will read Warm UNIX from
the RF into core location 0 and transfer to 600.
.sp
.ti -8
1	Will read Cold UNIX from the
RF into core location 0 and transfer to 600.
.sp
.ti -8
10	Will dump all of memory
from core location 0 onto DECtape drive 7
and then halt.
.sp
.ti -8
20	Will read 256 words from RK0 into
core 0 and transfer to zero.
This is the procedure to boot
DOS from an RK.
.sp
.ti -8
40	This is the same as 10 above, but
instead of halting, UNIX warm is loaded.
.sp
.ti -8
0	Will load a standard UNIX binary paper tape
into core location 0 and transfer to 0.
.sp
.ti -8
77500	Will load the standard DEC absolute and binary
loaders and transfer to 77500.
.sp
.in 8
All manual methods of booting the system involve
manipulation of the console switches.
In order for this to be possible,
the panel must be unlocked
and the machine must be halted.
Also, remember that at the time UNIX comes up,
the console switches must contain 773030
for a single-user system; anything else gives
a multi-user system.

There are four temperatures of boots.
They are:

.in +4
Hot boot: restart the system without refreshing
its code, that is simply by transferring to
its start.
The only use for this procedure is if the
system has been patched and one doesn't wish
to redo the patches.
The procedure is:

	600 in switches
	Load address
	(773030 in switches for single-user system)
	start

Warm boot: refresh system code from the RF disk, but
the "panic" routine must be in core.
Best for general use if it works, since
outstanding I/O
is cleaned up.
Procedure:

	602 in switches
	load address
	(773030 in switches for single-user system)
	start  (flushes any I/O, then executes bos___)

Cool boot: RF disk is OK, but nothing in core.
Procedure:

	UTIL DECtape on drive 0
	773030 in switches
	load address
	(602 in switches for multi-user system)
	start
	type "boot" on console tty to load bos___

Cold boot: nothing in core, nothing on RF.
Best to have an expert around for this
one.
Procedure:

	INIT DECtape on drive 0
	773030 in switches
	load address
	1 in switches
	start
	(machine halts. last chance to preserve RF!)
	773030 in switches
	continue
	(reads in basic files)

UNIX is then up, but for various reasons, one should
do a warm boot (single user) right away.
At this point also, one might
consider whether the INIT tape UNIX is the
latest version.
If there is reason for doubt,
mount the /sys disk pack, change to directory
/sys/sys, do "msys u unix", and reboot.
Then get the /bin-/etc-/lib tape which contains
the rest of of the RF disk,
and do an "mt x".
Conceivably, "create errors" due to lack of some
directories will occur; make the directories,
then try again.
Set the date correctly; the system starts off
at time 0.

At this point UNIX is in full operation and
can be rebooted for
a multi-user system.
.sp
.in 8
Here is what happens during a cold boot:
the INIT tape contains a program called
.ul
vcboot.
The ROM program reads vcboot
from the tape into
core location 0 and transfers to it.
vcboot then reads 16K words from
the DECtape (blocks 1-32)
and copies the data to the highest 16K words of
the RF.
Thus this initializes the read-only part of the RF.
vcboot then reads in bos___ and executes it.
bos___ reads in Cold UNIX and executes that.
Cold UNIX halts for a last chance before
it completely initializes the RF file system.
When continue is pressed,
Cold UNIX initializes the RF.
It then reads the DECtape for initialization files
starting from block 33.
Normal operation then commences
with the execution of "/etc/init".
.sp
The INIT tape is made by the program maki____
running under UNIX.
maki____ writes vcboot______ on block 0 of
.ul
/dev/tap7.
It then copies the RF 16K words (using
.ul
/dev/rf0)
onto blocks 1 thru 32.
It has internally a list of files to
be copied from block 33 on.
This list follows:
.sp
.nf
.in +8
/etc/init
/bin/chmod
/bin/date
/bin/login
/bin/ls
/bin/mkdir
/etc/mount
/bin/sh
/bin/tap
/bin/mt
.in -8
.fi
.sp
Thus this is the set of programs available after a cold boot.
init____ and sh__ are mandatory.
For multi-user UNIX,
getty_____ and login_____ are also necessary.
mkdir_____ is necessary due to a bug in tap___.
mt__, tap___ and mount_____ are useful to
bring in new files.
As soon as possible, date____ should be done.
That leaves ls__ and chmod_____ as frosting.
.sp
The last link in this incestuous
daisy chain is the program msys____.
.sp
   msys____ char file
.sp
will copy the file file____ onto the
RF read only slot specified by the character char____.
Char is taken from the following set:
.sp
   b_ bos
   u_ Warm UNIX
   1_ Cold UNIX
.sp
.in 16
.ti 0
FILES		/dev/rf0,
/dev/tap?
.sp
.ti 0
SEE ALSO	init(VII),
tap(I),
sh(I),
mkdir(I)
.sp
.ti 0
DIAGNOSTICS	--
.sp
.ti 0
BUGS		This
section is very configuration dependent.
