Commit | Line | Data |
---|---|---|
7ce1c4b5 BJ |
1 | .TH BPROC 8 VAX-11 |
2 | .UC | |
3 | .tr | | |
4 | .SH NAME | |
5 | boot procedures \- UNIX startup | |
6 | .SH DESCRIPTION | |
7 | .I "How to start UNIX.||" | |
8 | UNIX is started by placing it in memory | |
9 | at location zero and transferring to zero. | |
10 | Since the system is not reenterable, | |
11 | it is necessary to read it in from disk or tape. | |
12 | .PP | |
13 | To boot from disk: type the console command ``BOOT'' | |
14 | (which may be abbreviated ``B'') | |
15 | when the console is in LSI-11 mode. | |
16 | It may be necessary to type control-P | |
17 | to gain the attention of the LSI-11. | |
18 | This loads and executes a standalone boot program | |
19 | .I boot | |
20 | off the floppy. | |
21 | The boot program relocates itself into high memory, and types a `:' | |
22 | as a prompt on the console. | |
23 | It then reads from the console a device specification (see below) followed | |
24 | immediately by a pathname. | |
25 | .I Boot | |
26 | finds the corresponding file on the given device, loads that file | |
27 | into memory location zero, and starts the program at the entry address | |
28 | specified in the program header (after clearing off the high bit | |
29 | of the specified entry address.) | |
30 | Normal line editing character can be used in specifying the pathname. | |
31 | .PP | |
32 | If you have an rp06 or rm03 disk and wish to boot off of a file | |
33 | system which starts at cylinder 0 of unit 0, you can type ``hp(0,0)vmunix'' | |
34 | to the boot prompt. On Ernie Co-vax, ``up(0,0)vmunix'' would specify | |
35 | a UNIBUS ampex 9300 drive. | |
36 | .PP | |
37 | .B "Device specifications." | |
38 | A device specificaion has the following form: | |
39 | .IP | |
40 | device(unit, minor) | |
41 | .PP | |
42 | where | |
43 | .I device | |
44 | is the type of the device to be searched, | |
45 | .I unit | |
46 | is the unit number of the device, | |
47 | and | |
48 | .I minor | |
49 | is the minor device index. | |
50 | The following list of supported devices may vary from installation to | |
51 | installation: | |
52 | .ta 5 10 | |
53 | .nf | |
54 | rp RP06 or RM03 on MASSBUS | |
55 | up AMPEX 9300 on UNIBUS | |
56 | ht TE16 | |
57 | .fi | |
58 | .PP | |
59 | For tapes, the minor device number gives a file offset. | |
60 | .PP | |
61 | .B "Emergency bootstraps." | |
62 | If the console BOOT command does not work, here is a position-independent | |
63 | program which will read the boot block (block 0) from a RP06 or RM03 disk, | |
64 | on the MASSBUSS; the boot block will then boot in the file | |
65 | .B /boot | |
66 | off the file system at cylinder 0 of the RP, in the same way that the | |
67 | console floppy would bring the program in. | |
68 | .PP | |
69 | .nf | |
70 | .if n .ta 3 14 21 41 49 | |
71 | .if t .ta .3i 1i 1.6i 3.5i | |
72 | RP06 disk (MBA 0, drive 0) | |
73 | 00009fde moval *$0x20010000,r1 # MBA 0 | |
74 | \0\0512001 | |
75 | d0 movl $1,4(r1) # initialize MBA | |
76 | \0\004a101 | |
77 | d0 movl $0x13,0x400(r1) # volume valid | |
78 | 0400c113 | |
79 | 10008f32 cvtwl $0x1000,0x424(r1) # 16-bit format | |
80 | \0\00424c1 | |
81 | d4 clrl 12(r1) # map reg. 0, offset 0 | |
82 | \0\0\0\00ca1 | |
83 | 8fd0 movl $0x80000000,0x800(r1) # valid, page 0/0 | |
84 | 80000000 | |
85 | \0\00800c1 | |
86 | 32 cvtwl $-512,16(r1) # byte count | |
87 | a1fe008f | |
88 | \0\0\0\0\0\010 | |
89 | 28c1d4 clrl 0x428(r1) # cylinder | |
90 | \0\0\0\0\0\004 | |
91 | 14c1d4 clrl 0x414(r1) # sector, track | |
92 | \0\0\0\0\0\004 | |
93 | c139d0 movl $0x39,0x400(r1) # read 1 block | |
94 | \0\0\0\00400 | |
95 | \0\000 halt | |
96 | .fi | |
97 | .PP | |
98 | To boot from magnetic tape: The | |
99 | .IR tp (1) | |
100 | command places the bootstrap program | |
101 | .I mboot | |
102 | on block 0 of the tape. When read into memory at location 0 and executed, | |
103 | .I mboot | |
104 | prompts with an equal sign `=', reads a file name from the console, | |
105 | then loads and executes that file from the | |
106 | .I tp | |
107 | tape. Unfortunately DEC does not provide a console command to read | |
108 | a block from tape to memory. Here is a position-independent program | |
109 | which does: | |
110 | .PP | |
111 | .nf | |
112 | TM03 magtape (MBA 1, drive 0) from load point: | |
113 | .if n .ta 3 14 21 41 49 | |
114 | .if t .ta .3i 1i 1.6i 3.5i | |
115 | 20009fde moval *$0x20012000,r1 # MBA 1 | |
116 | \0\0512001 | |
117 | d0 movl $1,4(r1) # initialize | |
118 | \0\004a101 | |
119 | 32 cvtwl $0x14c0,0x424(r1) # drive characteristics | |
120 | c114c08f | |
121 | \0\0\0\00424 | |
122 | a1d4 clrl 12(r1) # map reg. 0, offset 0 | |
123 | \0\0\0\0\0\00c | |
124 | 008fd0 movl $0x80000000,0x800(r1) # valid, page 0/0 | |
125 | c1800000 | |
126 | \0\0\0\00800 | |
127 | 8f32 cvtwl $-512,16(r1) # byte count | |
128 | 10a1fe00 | |
129 | 00c139d0 movl $0x39,0x400(r1) # read 1 block | |
130 | \0\0\0\0\0\004 | |
131 | \0\0\0\000 halt | |
132 | Then give the console command ``START 0\er''. | |
133 | .fi | |
134 | .PP | |
135 | .I mboot | |
136 | does not perform character erase and line kill editing. Instead, | |
137 | it starts over with the prompt for file name whenever the requested | |
138 | file cannot be found. | |
139 | .PP | |
140 | Be sure that | |
141 | .I mboot | |
142 | exists whenever a | |
143 | .I tp | |
144 | tape is made. Remember to put an appropriate block 0 boot and a | |
145 | .IR /boot | |
146 | in file systems when running | |
147 | .IR mkfs . | |
148 | .SH FILES | |
149 | .ta \w'/usr/mdec/mboot 'u | |
150 | /vmunix UNIX code | |
151 | .br | |
152 | /usr/mdec/uboot rp disk bootstrap | |
153 | .br | |
154 | /boot backup system bootstrap | |
155 | .br | |
156 | /usr/mdec/mboot | |
157 | .IR tp "" | |
158 | magtape bootstrap | |
159 | .SH "SEE ALSO" | |
160 | tp(1), init.vm(8) |