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