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