1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
|
OpenBSDInstallPrelude
There are several ways to install OpenBSD onto a disk. The easiest way
in terms of preliminary setup is to use the OpenBSD ramdisk kernel that can
be booted from tape.
Alternatively, if your MACHINE is hooked up in a network you can find a server
to arrange for a diskless setup, which is a convenient way to install on a
machine whose disk does not currently hold a usable operating system.
This is difficult to get set up correctly the first time, but easy to
use afterwards. (see ``Installing using a diskless setup'' below).
Booting from the Installation Media:
Prior to attempting an installation, you should make sure that everything
of value on the target system has been backed up. While installing OpenBSD
does not necessarily wipe out all the partitions on the hard disk, errors
during the install process can have unforeseen consequences and you will
probably render the system unbootable if you start, but do not complete
the installation. Having the installation media for the prior installation,
like a Motorola SystemV/MACHINE tape is good insurance if you want to be
able to "go back" for some reason.
After taking care of all that, bring your system down gracefully using
the shutdown(8) and/or halt(8) commands. This will get you to the BUG
prompt.
Booting from SCSI tape:
After creating the boot tape, boot it by typing the appropriate command
at the PROM:
167-bug> bo xx yy
Where `xx' is the SCSI controller number (00 for the built-in SCSI
controller), and `yy' is ten times the tape drive ID, except for the
MVME147, where `xx' should be the tape drive ID, and `yy' should be 00.
For example, booting from a tape drive using SCSI id 4:
147-bug> bo 04 00
for a MVME147, and
167-bug> bo 00 40
for any other MACHINE board.
Installing using a diskless setup:
First, you must setup a diskless client configuration on a server. If
you are using a OpenBSD system as the boot-server, have a look at the
diskless(8) manual page for guidelines on how to proceed with this.
If the server runs another operating system, you'll have to consult
documentation that came with it (on SunOS systems, add_client(8) and
the Sun System/Networks administrators guide constitute a good start;
on Solaris systems, share(1M) is a good starting point as well).
You should then setup your workstation using the NIOT command at the BUG
prompt. The Load Address should be 0x3F0000, and the Execution Address
should be 0x3F0000 as well. You may now boot your workstation from the
server by entering the NBO command at the BUG prompt:
167-bug> nbo 00 00 bsd.rd
If your BUG version does not understand the NIOT and NBO commands (most
MVME147 don't), you will have to boot via S-Records.
Booting from S-Records:
First, you must setup a diskless client configuration on a server. If
you are using a OpenBSD system as the boot-server, have a look at the
diskless(8) manual page for guidelines on how to proceed with this.
If the server runs another operating system, you'll have to consult
documentation that came with it (on SunOS systems, add_client(8) and
the Sun System/Networks administrators guide constitute a good start;
on Solaris systems, share(1M) is a good starting point as well).
Second, make sure you use a terminal emulator able to read files from the
local machine and send their contents over the serial link. OpenBSD ships
with both cu(1) and tip(1), but others can be used.
After reseting your MACHINE board, enter "LO" at the BUG prompt. If you get
an error message, switch directories (enter "SD") and retry. The MACHINE
should be awaiting a S-Record program now.
From your terminal emulator, send the contents of the ``sboot'' file over
the line. Depending on the speed of the serial link, this will take some
time, but no more than a couple of minutes.
If you don't get a prompt back after a few minutes, send a break, reset
your MACHINE board, and retry.
When the transfer is finished, enter "GO" at the BUG prompt. The S-Records
boot loader will start. This is a very crude bootloader which will attempt
to fetch a secondary boot program via TFTP requests, like the NBO command.
This will cause the kernel provided by the diskless setup to be booted.
After the initial probe messages you'll asked to start the install
or upgrade procedure.
Installing using the tape or netboot procedure:
OpenBSDInstallPart2
Boot your machine from the installation media as described above.
It will take a while to load the kernel especially from a floppy
or slow network connection, most likely more than a minute. If
some action doesn't eventually happen, or the spinning cursor has
stopped and nothing further has happened, either your boot media
is bad, your diskless setup isn't correct, or you may have
a hardware or configuration problem.
OpenBSDBootMsgs
While booting, you will probably see several warnings. You
may be warned that the kernel can't figure out what device
it booted from. Do not be alarmed, this is completely normal.
This warning occurs because while OpenBSD/MACHINE can boot from
the floppy drive, the kernel itself lacks a floppy driver for some
MACHINE models.
You will next be asked for your terminal type. You should choose
the terminal type from amongst those listed.
(If your terminal type is xterm, just use vt100).
After entering the terminal type you will be greeted by a
welcome message and asked if you really want to continue.
Assuming you answered yes, the install program will then tell
you which disks of that type it can install on, and ask you
which it should use. The name of the disk is typically "sd0".
Reply with the name of your disk.
Next you will have to edit or create a disklabel for the disk
OpenBSD is being installed on. The installation script will
invoke the text editor allowing you to do this. Note that
partition 'c' inside this disk label should ALWAYS reflect the
entire disk, including any non-OpenBSD portions. The root file
system should be in partition 'a', and swap is usually in partition
'b'. It is recommended that you create separate partitions for
root and /usr, you may also want to specify /var and /home
partitions.
The swap partition (usually 'b') should have a type of "swap", all
other native OpenBSD partitions should have a type of "4.2BSD".
Block and fragment sizes are usually 8192 and 1024 bytes, but can
also be 16384 and 2048 bytes.
The install program will now label your disk and ask which file
systems should be created on which partitions. It will auto-
matically select the 'a' partition to be the root file system.
Next it will ask for which disk and partition you want a file
system created on. This will be the same as the disk name (e.g.
"sd0") with the letter identifying the partition (e.g. "d")
appended (e.g. "sd0d"). Then it will ask where this partition is
to be mounted, e.g. /usr. This process will be repeated until
you type "done".
At this point you will be asked to confirm that the file system
information you have entered is correct, and given an opportunity
to change the file system table. Next it will create the new file
systems as specified, OVERWRITING ANY EXISTING DATA. This is the
point of no return.
After all your file systems have been created, the install program
will give you an opportunity to configure the network. The network
configuration you enter (if any) can then be used to do the install
from another system using NFS, HTTP or FTP, and will also be the
configuration used by the system after the installation is complete.
If you select to configure the network, the install program will
ask you for a name of your system and the DNS domain name to use.
Note that the host name should be without the domain part, and that
the domain name should NOT {:-include-:} the host name part.
Next the system will give you a list of network interfaces you can
configure. For each network interface you select to configure, it
will ask for the IP address to use, the symbolic host name to use,
the netmask to use and any media flags to set.
After all network interfaces have been configured the install pro-
gram will ask for a default route and IP address of the primary
name server to use. You will also be presented with an opportunity
to edit the host table.
At this point you will be allowed to edit the file system table
that will be used for the remainder of the installation and that
will be used by the finished system, following which the new file
systems will be mounted to complete the installation.
After these preparatory steps have been completed, you will be
able to extract the distribution sets onto your system. There
are several install methods supported; FTP, HTTP, tape, CD-ROM, NFS
or a local disk partition.
OpenBSDFTPInstall
OpenBSDHTTPInstall
OpenBSDTAPEInstall(4)
OpenBSDCDROMInstall
OpenBSDNFSInstall
OpenBSDDISKInstall(,{:-only -:})
OpenBSDCommonFS
OpenBSDCommonURL
OpenBSDCongratulations
Net Boot or Diskless Setup Information:
The set up is similar to SunOS diskless setup, but not identical, because
the Sun setup assumes that the bootblocks load a kernel image, which then
uses NFS to access the exported root partition, while the OpenBSD bootblocks
use internal NFS routines to load the kernel image directly from the
exported root partition.
Please understand that no one gets this right the first try, since
there is a lot of setup and all the host daemons must be running and
configured correctly. If you have problems, extract the diskless(8)
manpage, find someone who's been through it before and use the host
syslog and tcpdump(8) to get visibility of what's happening (or not).
Your MACHINE expects to be able to download a second stage bootstrap
program via TFTP after having acquired its IP address through RevARP when
instructed to boot "over the net". It will look for a filename composed of
the machine's IP address followed by the machine's architecture, separated
by a period. For example, a MACHINE board which has been assigned IP
address 130.115.144.11, will make an TFTP request for `8273900B.MACHINE'.
Normally, this file is a symbolic link to an appropriate second-stage
boot program, which should be located in a place where the TFTP daemon
can find it (remember, many TFTP daemons run in a chroot'ed environment).
You can find the boot program in `/usr/mdec/netboot' in the OpenBSD/MACHINE
distribution.
After the boot program has been loaded into memory and given control by
the BUG, it starts locating the machine's remote root directory through
the BOOTPARAM protocol. First a BOOTPARAM WHOAMI request is broadcast
on the local net. The answer to this request (if it comes in) contains
the client's name. This name is used in next step, a BOOTPARAM GETFILE
request -- sent to the server that responded to the WHOAMI request --
requesting the name and address of the machine that will serve the client's
root directory, as well as the path of the client's root on that server.
Finally, this information (if it comes in) is used to issue a REMOTE MOUNT
request to the client's root filesystem server, asking for an NFS file
handle corresponding to the root filesystem. If successful, the boot
program starts reading from the remote root filesystem in search of the
kernel which is then read into memory.
Unpack `base{:--:}OSrev.tgz' and `etc{:--:}OSrev.tgz' on the server in the root directory
for your target machine. If you elect to use a separately NFS-mounted
filesystem for `/usr' with your diskless setup, make sure the "./usr" base
files in base{:--:}OSrev.tgz end up in the correct location. One way to do this is
to temporarily use a loopback mount on the server, re-routing <root>/usr to
your server's exported OpenBSD "/usr" directory. Also put the kernel and
the install/upgrade scripts into the root directory.
A few configuration files need to be edited:
<root>/etc/hosts
Add the IP addresses of both server and client.
<root>/etc/myname
This files contains the client's hostname; use the same
name as in <root>/etc/hosts.
<root>/etc/fstab
Enter the entries for the remotely mounted filesystems.
For example:
server:/export/root/client / nfs rw 0 0
server:/export/exec/MACHINE.OpenBSD /usr nfs rw 0 0
Now you must populate the the `/dev' directory for your client. If you server
runs SunOS 4.x, you can simply change your working directory to `<root>/dev'
and run the MAKEDEV script: `sh MAKEDEV all'.
On SunOS 5.x systems, MAKEDEV can also be used, but there'll be error
messages about unknown user and groups. These errors are inconsequential
for the purpose of installing OpenBSD. However, you may want to correct them
if you plan to the diskless setup regularly. In that case, you may re-run
MAKEDEV on your OpenBSD machine once it has booted.
|