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
|
dnl $OpenBSD: install,v 1.9 2003/08/10 21:04:06 miod Exp $
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, it is possible to
setup another machine as a server for 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 the section `Installing using a diskless setup' below).
Booting from the Installation Media:
Prior to attempting an installation, everything of value on the target
system should be 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 will probably leave the system
unbootable if the installation process is not completed. Availability of the
installation media for the prior installation, such as a Motorola
SystemV/MACHINE tape is always a good insurance, should it be necessary to
"go back" for some reason.
After taking care of all that, the system should be brought down gracefully
using the shutdown(8) and/or halt(8) commands, which will eventually go bakc
to the ``BUG>'' prompt (it may be necessary to send a break if the system is
completely halted).
Booting from SCSI tape:
dnl XXX 188 does not have built-in devices - will need quite a whack once
dnl 188 support is back.
Bootable tapes can be booted with the following command at the prompt:
187-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.
For example, booting from a tape drive using SCSI id 4 on the built-in
controller:
187-Bug> bo 00 40
Installing using a diskless setup:
First, a diskless client configuration should be setup on a server. If the
boot server is an OpenBSD system, the diskless(8) manual page will provide
detailed information on the process.
If the server runs another operating system, the setup instructions will
likely be available as part of the 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, the MACHINE workstation should then be setup using the NIOT command
at the BUG prompt. The ``Load Address'' value should be 0xAF0000, and the
``Execution Address'' value should be 0xAF0000 as well.
Then, it should be possible to boot the machine from the server by entering
the NBO command at the BUG prompt:
187-Bug> nbo 00 00 bsd.rd
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 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
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).
OpenBSDInstallPart3
OpenBSDInstallPart4
OpenBSDInstallPart5(sd0)
OpenBSDInstallNet({:-CD-ROM, NFS, -:})
OpenBSDFTPInstall
OpenBSDHTTPInstall
OpenBSDTAPEInstall(4)
OpenBSDCDROMInstall
OpenBSDNFSInstall
OpenBSDDISKInstall(,{:-only -:})
OpenBSDCommonFS(NFS)
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 `/dev' directory for your client. If the server
runs SunOS 4.x, you can simply change your working directory to `<root>/dev'
and run the MAKEDEV script: `sh MAKEDEV all' (this might require the edition
of MAKEDEV to change the PATH for it to work properly).
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.
|