install revision 1.1.2.2 1 1.1.2.2 perry
2 1.1.2.2 perry 0. Introduction
3 1.1.2.2 perry
4 1.1.2.2 perry This is the first release of NetBSD/alpha, and the installation
5 1.1.2.2 perry program is still rather primitive. It also hasn't been tested
6 1.1.2.2 perry very well, so there may be bugs in it. However, if you have
7 1.1.2.2 perry problems, don't despair; most problems you might encounter are
8 1.1.2.2 perry very easy to fix. We suggest you join the port-alpha list (see
9 1.1.2.2 perry the section on mailing lists on www.netbsd.org) and ask questions
10 1.1.2.2 perry there. Also report problem you've gotten around there or by using
11 1.1.2.2 perry send-pr so that they can be fixed for the next release.
12 1.1.2.2 perry
13 1.1.2.2 perry 1. General
14 1.1.2.2 perry
15 1.1.2.2 perry The following is a walk-through of the steps you will take
16 1.1.2.2 perry while getting NetBSD installed on your hard disk. It's divided
17 1.1.2.2 perry into three basic components: booting NetBSD (section 2 below),
18 1.1.2.2 perry preparing the disk (section 3 below), and loading the operating
19 1.1.2.2 perry system files onto the disk (section 4 below).
20 1.1.2.2 perry
21 1.1.2.2 perry 2. Booting NetBSD
22 1.1.2.2 perry
23 1.1.2.2 perry You have two choices of how to boot your machine. If you have a
24 1.1.2.2 perry floppy drive, you may boot from that. This is probably the simplest
25 1.1.2.2 perry way of getting started. If you don't have a floppy drive, you will
26 1.1.2.2 perry need to set yourself up for a boot from a file server on the
27 1.1.2.2 perry network, which is a little more complex.
28 1.1.2.2 perry
29 1.1.2.2 perry 2.1 Making and Booting a Floppy
30 1.1.2.2 perry
31 1.1.2.2 perry The 3.5", 1.44 MB boot floppy image is found under the
32 1.1.2.2 perry NetBSD/alpha _VER distribution directory in the file
33 1.1.2.2 perry alpha/installation/floppy/floppy-144. You need to take this disk
34 1.1.2.2 perry image and put it on a floppy disk.
35 1.1.2.2 perry
36 1.1.2.2 perry If you have a Unix system handy, you can do this with a command
37 1.1.2.2 perry like the following:
38 1.1.2.2 perry
39 1.1.2.2 perry dd if=floppy-144 of=/dev/rfd0a
40 1.1.2.2 perry
41 1.1.2.2 perry If the Unix system you are using is not a NetBSD system, you will
42 1.1.2.2 perry probably need to replace `/dev/rfd0a' with the name of the floppy
43 1.1.2.2 perry device on your particular system.
44 1.1.2.2 perry
45 1.1.2.2 perry If you have an MS-DOS or Windows system available, you can use the
46 1.1.2.2 perry `rawrite.exe' utility to transfer the image to a floppy disk. This
47 1.1.2.2 perry utility is provided with the NetBSD/i386 install tools, under
48 1.1.2.2 perry i386/installation/misc; a documentation file, `rawrite.doc' is
49 1.1.2.2 perry available there as well.
50 1.1.2.2 perry
51 1.1.2.2 perry Once the floppy has been made, you simply need to put it in the
52 1.1.2.2 perry drive and type
53 1.1.2.2 perry
54 1.1.2.2 perry boot dva0
55 1.1.2.2 perry
56 1.1.2.2 perry Now you may skip to section 3.
57 1.1.2.2 perry
58 1.1.2.2 perry 2.2 Booting over the Network
59 1.1.2.2 perry
60 1.1.2.2 perry Booting NetBSD/alpha _VER over a network requires a BOOTP server,
61 1.1.2.2 perry a TFTP server and an NFS server. (These are usually all run on
62 1.1.2.2 perry the same machine.) There are three basic stages to the boot:
63 1.1.2.2 perry
64 1.1.2.2 perry 1.The Alpha console software sends a BOOTP request to get its own
65 1.1.2.2 perry address, the address of the TFTP server and the file to
66 1.1.2.2 perry download. It downloads this file, which is the second stage
67 1.1.2.2 perry bootstrap, via TFTP and then executes it.
68 1.1.2.2 perry
69 1.1.2.2 perry 2.The second stage bootstrap uses further information in the BOOTP
70 1.1.2.2 perry packet that the console received to find the NFS server and path
71 1.1.2.2 perry and retreive the kernel (the file /netbsd). After loading the
72 1.1.2.2 perry kernel into memory, it executes it.
73 1.1.2.2 perry
74 1.1.2.2 perry 3.The kernel probes and configures the devices, and then sends
75 1.1.2.2 perry out another BOOTP request so it can find out its address, the NFS
76 1.1.2.2 perry server, and path. (The kernel probably should get this information
77 1.1.2.2 perry from the console, but it currently doesn't.) It then mounts its
78 1.1.2.2 perry root via NFS and continues.
79 1.1.2.2 perry
80 1.1.2.2 perry 2.2.1 Setting Up the Server
81 1.1.2.2 perry
82 1.1.2.2 perry You will need to set up your server to serve BOOTP, TFTP and NFS.
83 1.1.2.2 perry
84 1.1.2.2 perry The NFS setup is quite simple. If you want to run a full system
85 1.1.2.2 perry from the network, untar the NetBSD snapshot or distribution into
86 1.1.2.2 perry a directory on your server and NFS export that directory to the
87 1.1.2.2 perry client. (Make sure you put a kernel there as well.)
88 1.1.2.2 perry
89 1.1.2.2 perry You'll want to map root to `root' (rather than the default
90 1.1.2.2 perry `nobody') when you export your root filesystem. A typical
91 1.1.2.2 perry /etc/exports line on a NetBSD system would be:
92 1.1.2.2 perry
93 1.1.2.2 perry /usr/export/alpha -maproot=0 myclient.mydom.com
94 1.1.2.2 perry
95 1.1.2.2 perry If you just want to get the install kernel loaded so that you
96 1.1.2.2 perry can download sets to the local hard drive of that machine, you
97 1.1.2.2 perry need nothing other than the install kernel in the NFS root
98 1.1.2.2 perry directory on your server.
99 1.1.2.2 perry
100 1.1.2.2 perry For the TFTP setup, you need to copy the second stage bootstrap,
101 1.1.2.2 perry netboot, into an appropriately named file (I use boot.netbsd.alpha)
102 1.1.2.2 perry in the directory used by your TFTP server. If you extracted a full
103 1.1.2.2 perry snapshot, you can get the netboot program from /usr/mdec/netboot;
104 1.1.2.2 perry if not, you can get this from the installation/netboot directory
105 1.1.2.2 perry where you found the alpha distribution.
106 1.1.2.2 perry
107 1.1.2.2 perry For the BOOTP server you need to specify the:
108 1.1.2.2 perry
109 1.1.2.2 perry hardware type (Ethernet)
110 1.1.2.2 perry hardware address (Ethernet MAC address)
111 1.1.2.2 perry IP address of the client
112 1.1.2.2 perry subnet mask of the client
113 1.1.2.2 perry address of of the TFTP/NFS server
114 1.1.2.2 perry name of the second stage bootstrap loaded via TFTP
115 1.1.2.2 perry path to the root for the client (mounted via NFS)
116 1.1.2.2 perry
117 1.1.2.2 perry Here's an example for a Unix system running bootpd:
118 1.1.2.2 perry
119 1.1.2.2 perry myhost.mydom.com:\
120 1.1.2.2 perry :ht=ethernet:ha=0000c0391ae4:\
121 1.1.2.2 perry :ip=192.168.1.2:sm=255.255.255.0:\
122 1.1.2.2 perry :sa=192.168.1.1:bf=boot.netbsd.alpha:rp=/usr/export/alpha:
123 1.1.2.2 perry
124 1.1.2.2 perry 2.2.2 The Alpha Console
125 1.1.2.2 perry
126 1.1.2.2 perry The only Ethernet device the console on most Alpha systems knows
127 1.1.2.2 perry how to boot from is the onboard Ethernet interface or a DEC Tulip
128 1.1.2.2 perry (21040, 21041, 21140) based PCI Ethernet card. I've tested an
129 1.1.2.2 perry older SMC 100 Mbps card that uses this chip and it works fine.
130 1.1.2.2 perry Many older systems will not be able to use the newer 2.0 stepping
131 1.1.2.2 perry of the 21140, however. If your system appears not to be receiving
132 1.1.2.2 perry packets, this may be the problem.
133 1.1.2.2 perry
134 1.1.2.2 perry Once you're set up, you should be able to boot with:
135 1.1.2.2 perry
136 1.1.2.2 perry boot ewa0
137 1.1.2.2 perry
138 1.1.2.2 perry 3. Preparing the Disk
139 1.1.2.2 perry
140 1.1.2.2 perry If you're going to be running a diskless machine, the steps so
141 1.1.2.2 perry far have prepared you to run, and you can skip to section 5
142 1.1.2.2 perry ("Configuration") below.
143 1.1.2.2 perry
144 1.1.2.2 perry If you are going to run NetBSD from a local hard drive, however,
145 1.1.2.2 perry this hard drive needs to be prepared. This preparation consists
146 1.1.2.2 perry of putting a label on the disk, which includes information on
147 1.1.2.2 perry the sizes and placement of the partition into which the disk
148 1.1.2.2 perry is divided, putting the boot blocks on the disk, and initialising
149 1.1.2.2 perry the filesystems on the partitions. This work is done by the
150 1.1.2.2 perry `install' script from the boot floppy (or boot kernel, if you
151 1.1.2.2 perry booted it via NFS with the INSTALL kernel).
152 1.1.2.2 perry
153 1.1.2.2 perry 3.1 Running Install
154 1.1.2.2 perry
155 1.1.2.2 perry When you first boot the INSTALL kernel you will be given the
156 1.1.2.2 perry options of `install' or `shell'. Choose `install' and the
157 1.1.2.2 perry install script will start.
158 1.1.2.2 perry
159 1.1.2.2 perry If, at any time, you have made a mistake in the install script
160 1.1.2.2 perry and want to abort, press ^C. This will take you to a shell
161 1.1.2.2 perry prompt. You can then restart the install script by typing
162 1.1.2.2 perry `/install', or halt the machine by typing `halt'.
163 1.1.2.2 perry
164 1.1.2.2 perry 3.1 Answering the Install Questions
165 1.1.2.2 perry
166 1.1.2.2 perry These will for the most part be fairly obvious. You may install
167 1.1.2.2 perry on either a SCSI or an IDE disk, and you will be prompted for
168 1.1.2.2 perry the disk to install on. The disks in your system will be numbered
169 1.1.2.2 perry starting at xd0 (where x is an `s' for SCSI disks, `w' for IDE
170 1.1.2.2 perry disks) based on the SCSI ID or IDE drive order; if you have
171 1.1.2.2 perry more than one disk, watch the boot messages carefully to see
172 1.1.2.2 perry which ones are probed as which numbers.
173 1.1.2.2 perry
174 1.1.2.2 perry Once you've selected a disk to install on, you'll be prompted
175 1.1.2.2 perry for the geometry. This is also displayed in the boot messages,
176 1.1.2.2 perry and you'll be given a chance to review the boot messages again
177 1.1.2.2 perry to get the exact figures for the number of cylinders, heads
178 1.1.2.2 perry and sectors.
179 1.1.2.2 perry
180 1.1.2.2 perry After this you must specify the size of your partitions.
181 1.1.2.2 perry Generally you'll be giving the sizes in cylinders; the install
182 1.1.2.2 perry program will tell you how many bytes there are in each cylinder.
183 1.1.2.2 perry
184 1.1.2.2 perry The swap partition is the second thing you specify, after the
185 1.1.2.2 perry root partition. Regardless of the size of your disk, you'll
186 1.1.2.2 perry want to specify a swap partition that's at least as large as
187 1.1.2.2 perry the amount of RAM you have, and probably not less than 64 MB
188 1.1.2.2 perry in any case.
189 1.1.2.2 perry
190 1.1.2.2 perry If you have a small disk (under 500 MB), it's probably best to
191 1.1.2.2 perry devote all of the disk (excepting 64 MB or more for the swap)
192 1.1.2.2 perry to the root partition.
193 1.1.2.2 perry
194 1.1.2.2 perry If you have more space, we recommend devoting at least 32 MB,
195 1.1.2.2 perry and preferably 48 MB, to the root partition. /usr will need
196 1.1.2.2 perry 150 MB or so if you're not installing X, 200 MB or so if you
197 1.1.2.2 perry are.
198 1.1.2.2 perry
199 1.1.2.2 perry Once you've specified this information, the install script will
200 1.1.2.2 perry write the disklabel, install boot blocks to make the disk
201 1.1.2.2 perry bootable, initialise the filesystems, and mount them all under
202 1.1.2.2 perry /mnt. You're now ready to go on to the next step.
203 1.1.2.2 perry
204 1.1.2.2 perry 4. Installing NetBSD
205 1.1.2.2 perry
206 1.1.2.2 perry To install NetBSD you'll have to get access to the tar files
207 1.1.2.2 perry that contain the operating system, and extract them to your
208 1.1.2.2 perry disk. You can get access to the tar files through either a
209 1.1.2.2 perry network or from a CD-ROM.
210 1.1.2.2 perry
211 1.1.2.2 perry 4.1 Preparing to Install from a CD-ROM
212 1.1.2.2 perry
213 1.1.2.2 perry All you need to do is mount the CD-ROM, which will generally
214 1.1.2.2 perry be device cd0. (The initial boot messages will tell you what
215 1.1.2.2 perry the CD-ROM drive as probed as.) This would be done with:
216 1.1.2.2 perry
217 1.1.2.2 perry mount -r -t cd9660 /dev/cd0a /mnt2
218 1.1.2.2 perry
219 1.1.2.2 perry 4.2 Preparing to Install from the Network
220 1.1.2.2 perry
221 1.1.2.2 perry The first thing you need to do is configure the loopback network
222 1.1.2.2 perry interface, which is done with the command
223 1.1.2.2 perry
224 1.1.2.2 perry ifconfig lo0 127.0.0.1
225 1.1.2.2 perry
226 1.1.2.2 perry Then you will have to configure your Ethernet card. The command
227 1.1.2.2 perry
228 1.1.2.2 perry ifconfig -l
229 1.1.2.2 perry
230 1.1.2.2 perry will give you a list of the network interfaces on your system.
231 1.1.2.2 perry It will show you your ethernet cards first, followed by lo0
232 1.1.2.2 perry (the loopback interface that we configured above), ppp0 (the
233 1.1.2.2 perry PPP interface) and sl0 (the SLIP interface).
234 1.1.2.2 perry
235 1.1.2.2 perry To configure your ethernet card, type
236 1.1.2.2 perry
237 1.1.2.2 perry ifconfig <if> inet <addr> [netmask <netmask>] [media <media>]
238 1.1.2.2 perry
239 1.1.2.2 perry Where <if> is the network card (interface), <addr> is the IP
240 1.1.2.2 perry address, the optional <netmask> parameter is the network mask,
241 1.1.2.2 perry and the optional <media> parameter is one of:
242 1.1.2.2 perry
243 1.1.2.2 perry 10base2 BNC connector, 10 Mbps
244 1.1.2.2 perry AUI AUI connector, 10 Mbps
245 1.1.2.2 perry 10baseT Twisted pair connector, 10 Mbps
246 1.1.2.2 perry 100baseTX Twisted pair connector, 100 Mbps
247 1.1.2.2 perry 100baseFX Fibre-optic connector, 100 Mbps
248 1.1.2.2 perry 100baseT4 T4 twisted pair interface, 100 Mbps
249 1.1.2.2 perry
250 1.1.2.2 perry If the host you are getting the data files from is not on the
251 1.1.2.2 perry local network, you will also have to configure a gateway into
252 1.1.2.2 perry your system. Do this with
253 1.1.2.2 perry
254 1.1.2.2 perry route add default <gateway-IP-address>
255 1.1.2.2 perry
256 1.1.2.2 perry If you will need name services you can set up a /etc/resolv.conf
257 1.1.2.2 perry file for those with a `nameserver <ip-address>' line in it, e.g.:
258 1.1.2.2 perry
259 1.1.2.2 perry echo "nameserver 198.41.0.4" >>/etc/resolv.conf
260 1.1.2.2 perry
261 1.1.2.2 perry Once networking has been configured, you may mount the directory
262 1.1.2.2 perry with the install files via NFS, or download them via FTP.
263 1.1.2.2 perry
264 1.1.2.2 perry To mount them via nfs, type
265 1.1.2.2 perry
266 1.1.2.2 perry mount -t nfs <hostname:/path/to/nfs/volume> /mnt2
267 1.1.2.2 perry
268 1.1.2.2 perry If this volume has been exported read-only, you may need the
269 1.1.2.2 perry `-r' option to mount.
270 1.1.2.2 perry
271 1.1.2.2 perry To download the install sets with ftp, create a directory in
272 1.1.2.2 perry which to put them and then use the ftp client to download them.
273 1.1.2.2 perry A typical session might be:
274 1.1.2.2 perry
275 1.1.2.2 perry mkdir /mnt/var/tmp
276 1.1.2.2 perry cd /mnt/var/tmp
277 1.1.2.2 perry ftp ftp.netbsd.org
278 1.1.2.2 perry [all the following commmands are given to the ftp program
279 1.1.2.2 perry after logging in]
280 1.1.2.2 perry prompt
281 1.1.2.2 perry cd /pub/NetBSD/NetBSD-1.3/alpha/binary/sets
282 1.1.2.2 perry mget *
283 1.1.2.2 perry cd /pub/NetBSD/NetBSD-1.3/alpha/binary/kernel
284 1.1.2.2 perry get netbsd-GENERIC.gz
285 1.1.2.2 perry cd /pub/NetBSD/NetBSD-1.3/alpha/binary/toolchain
286 1.1.2.2 perry get netbsd-GENERIC.gz
287 1.1.2.2 perry bye
288 1.1.2.2 perry
289 1.1.2.2 perry Feel free, of course, to leave off the sets that you don't need
290 1.1.2.2 perry if you don't install everything.
291 1.1.2.2 perry
292 1.1.2.2 perry You are now ready to proceed to step 4.3.
293 1.1.2.2 perry
294 1.1.2.2 perry 4.3 Extracting the Operating System Files
295 1.1.2.2 perry
296 1.1.2.2 perry This is quite simple. Change to the root directory of your hard
297 1.1.2.2 perry drive (which is /mnt if you've used the standard install script
298 1.1.2.2 perry to this point) by typing
299 1.1.2.2 perry
300 1.1.2.2 perry cd /mnt
301 1.1.2.2 perry
302 1.1.2.2 perry Then extract the kernel with:
303 1.1.2.2 perry
304 1.1.2.2 perry zcat /mnt/var/tmp/netbsd-GENERIC.gz >/mnt/netbsd
305 1.1.2.2 perry
306 1.1.2.2 perry For this and the following commands, replace `/mnt/var/tmp/'
307 1.1.2.2 perry with the path to your NFS volume or CD-ROM if that's how you
308 1.1.2.2 perry chose to access your install files instead.
309 1.1.2.2 perry
310 1.1.2.2 perry The sets are extracted with
311 1.1.2.2 perry
312 1.1.2.2 perry for file in base comp etc games man misc text; do
313 1.1.2.2 perry tar --unlink -t -z -f /mnt/var/tmp/$file;
314 1.1.2.2 perry done
315 1.1.2.2 perry
316 1.1.2.2 perry and the toolchain with
317 1.1.2.2 perry
318 1.1.2.2 perry tar --unlink -t -z -f /mnt/var/tmp/toolchain.tar.gz
319 1.1.2.2 perry
320 1.1.2.2 perry You will now be ready to reboot from your hard disk. Type `sync'
321 1.1.2.2 perry twice to make sure all the data is written out to disk and then
322 1.1.2.2 perry type `halt' to halt your system and go back to the monitor. At
323 1.1.2.2 perry this point you should be able to reboot your system with
324 1.1.2.2 perry
325 1.1.2.2 perry boot dka0
326 1.1.2.2 perry
327 1.1.2.2 perry (or `boot dka100' if your disk drive is on ID 1, etc.). Your
328 1.1.2.2 perry system will come up in single-user mode, ready for you to
329 1.1.2.2 perry configure it.
330 1.1.2.2 perry
331 1.1.2.2 perry 5. Configuring NetBSD
332 1.1.2.2 perry
333 1.1.2.2 perry Configuring your NetBSD system requires editing the /etc/rc.conf
334 1.1.2.2 perry file. Most of this file is fairly self-explanatory, but you
335 1.1.2.2 perry can `man rc.conf' for further explanations. Remember to set
336 1.1.2.2 perry `rc_configured' to YES so you will boot multi-user, set `hostname'
337 1.1.2.2 perry and possibly `defaultroute', and add an ifconfig_int for your
338 1.1.2.2 perry interface <int>, along the lines of
339 1.1.2.2 perry
340 1.1.2.2 perry ifconfig_de0="inet myname.my.dom 123.45.67.89 netmask 255.255.255.0"
341 1.1.2.2 perry
342 1.1.2.2 perry You will also want either to run named or add an /etc/resolv.conf
343 1.1.2.2 perry file (`man resolv.conf' for information on this), use `vipw' to add
344 1.1.2.2 perry accounts to your system, edit /etc/aliases to forward root mail to
345 1.1.2.2 perry the right place (run `newaliases' afterwards) and edit /etc/rc.local
346 1.1.2.2 perry to run any local daemons you use.
347