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