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