boot procedures \- UNIX startup
.I "How to start UNIX.||"
UNIX is started by placing it in memory
at location zero and transferring to zero.
Since the system is not reenterable,
it is necessary to read it in from disk or tape.
To boot from disk: type the console command ``BOOT''
(which may be abbreviated ``B'')
when the console is in LSI-11 mode.
It may be necessary to type control-P
to gain the attention of the LSI-11.
This loads and executes a standalone boot program
The boot program relocates itself into high memory, and types a `:'
as a prompt on the console.
It then reads from the console a device specification (see below) followed
immediately by a pathname.
finds the corresponding file on the given device, loads that file
into memory location zero, and starts the program at the entry address
specified in the program header (after clearing off the high bit
of the specified entry address.)
Normal line editing character can be used in specifying the pathname.
If you have an rp06 or rm03 disk and wish to boot off of a file
system which starts at cylinder 0 of unit 0, you can type ``hp(0,0)vmunix''
to the boot prompt. On Ernie Co-vax, ``up(0,0)vmunix'' would specify
a UNIBUS ampex 9300 drive.
.B "Device specifications."
A device specificaion has the following form:
is the type of the device to be searched,
is the unit number of the device,
is the minor device index.
The following list of supported devices may vary from installation to
rp RP06 or RM03 on MASSBUS
For tapes, the minor device number gives a file offset.
.B "Emergency bootstraps."
If the console BOOT command does not work, here is a position-independent
program which will read the boot block (block 0) from a RP06 or RM03 disk,
on the MASSBUSS; the boot block will then boot in the file
off the file system at cylinder 0 of the RP, in the same way that the
console floppy would bring the program in.
.if t .ta .3i 1i 1.6i 3.5i
RP06 disk (MBA 0, drive 0)
00009fde moval *$0x20010000,r1 # MBA 0
d0 movl $1,4(r1) # initialize MBA
d0 movl $0x13,0x400(r1) # volume valid
10008f32 cvtwl $0x1000,0x424(r1) # 16-bit format
d4 clrl 12(r1) # map reg. 0, offset 0
8fd0 movl $0x80000000,0x800(r1) # valid, page 0/0
32 cvtwl $-512,16(r1) # byte count
28c1d4 clrl 0x428(r1) # cylinder
14c1d4 clrl 0x414(r1) # sector, track
c139d0 movl $0x39,0x400(r1) # read 1 block
To boot from magnetic tape: The
command places the bootstrap program
on block 0 of the tape. When read into memory at location 0 and executed,
prompts with an equal sign `=', reads a file name from the console,
then loads and executes that file from the
tape. Unfortunately DEC does not provide a console command to read
a block from tape to memory. Here is a position-independent program
TM03 magtape (MBA 1, drive 0) from load point:
.if t .ta .3i 1i 1.6i 3.5i
20009fde moval *$0x20012000,r1 # MBA 1
d0 movl $1,4(r1) # initialize
32 cvtwl $0x14c0,0x424(r1) # drive characteristics
a1d4 clrl 12(r1) # map reg. 0, offset 0
008fd0 movl $0x80000000,0x800(r1) # valid, page 0/0
8f32 cvtwl $-512,16(r1) # byte count
00c139d0 movl $0x39,0x400(r1) # read 1 block
Then give the console command ``START 0\er''.
does not perform character erase and line kill editing. Instead,
it starts over with the prompt for file name whenever the requested
tape is made. Remember to put an appropriate block 0 boot and a
in file systems when running
.ta \w'/usr/mdec/mboot 'u
/usr/mdec/uboot rp disk bootstrap
/boot backup system bootstrap