Home | History | Annotate | Line # | Download | only in alpha
install revision 1.11
      1 	$NetBSD: install,v 1.11 1998/07/05 13:59:25 ross Exp $	
      2 
      3 0. 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         
     14 1. 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 
     22 2. 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 
     30 2.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 
     59 2.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 
     81 2.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 
    144 2.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 
    164 3. 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 
    179 3.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 
    199 3.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 
    210 3.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. A typical organization is 50 MB for root, 150-250 MB for
    244     swap, and the remaining space for /usr. With enough swap space
    245     configured, you can make /tmp a nice, fast mfs. See man 8
    246     mount_mfs, and note that the mfs will require swap space for
    247     the largest planned amount of /tmp storage. It doesn't return
    248     space when files are deleted, but just keeps it its own freelist
    249     so the swap space required is equal to the highwater mark of
    250     /tmp use, plus space required to back up main memory and store
    251     inactive images.
    252 
    253     Once you've specified this information, the install script will
    254     write the disklabel, install boot blocks to make the disk
    255     bootable, initialise the filesystems, and mount them all under
    256     /mnt. You're now ready to go on to the next step.
    257 
    258 4. Installing NetBSD
    259 
    260     To install NetBSD you'll have to get access to the tar files
    261     that contain the operating system, and extract them to your
    262     disk.  You can get access to the tar files through either a
    263     network or from a CD-ROM.
    264 
    265 4.1 Preparing to Install from a CD-ROM
    266 
    267     All you need to do is mount the CD-ROM, which will generally
    268     be device cd0. (The initial boot messages will tell you what
    269     the CD-ROM drive is probed as.) This would be done with:
    270 
    271         mount -r -t cd9660 /dev/cd0a /mnt2
    272 
    273 4.2 Preparing to Install from the Network
    274 
    275     The first thing you need to do is configure the loopback network
    276     interface, which is done with the command
    277 
    278         ifconfig lo0 127.0.0.1
    279 
    280     Then you will have to configure your Ethernet card. The command
    281 
    282         ifconfig -l
    283 
    284     will give you a list of the network interfaces on your system.
    285     It will show you your ethernet cards first, followed by lo0
    286     (the loopback interface that we configured above), ppp0 (the
    287     PPP interface) and sl0 (the SLIP interface).
    288 
    289     To configure your ethernet card, type
    290 
    291         ifconfig <if> inet <addr> [netmask <netmask>] [media <media>]
    292 
    293     Where <if> is the network card (interface), <addr> is the IP
    294     address, the optional <netmask> parameter is the network mask,
    295     and the optional <media> parameter is one of:
    296 
    297         10base2         BNC connector, 10 Mbps
    298         AUI             AUI connector, 10 Mbps
    299         10baseT/UTP     Twisted pair connector, 10 Mbps
    300         100baseTX       Twisted pair connector, 100 Mbps
    301         100baseFX       Fibre-optic connector, 100 Mbps
    302         100baseT4       T4 twisted pair interface, 100 Mbps
    303 
    304     If the host you are getting the data files from is not on the
    305     local network, you will also have to configure a gateway into
    306     your system. Do this with
    307 
    308         route add default <gateway-IP-address>
    309 
    310     In order to save space on the install floppy, the resolver does
    311     not implement the DNS protocol, ignores /etc/resolv.conf and
    312     does only host table lookups.  You can specify all host addresses
    313     as IP numbers or you can enter the host names and numbers into
    314     /etc/hosts. For example, you can prepare a hosts table beforehand,
    315     and ftp(1) it down (by IP number) to /etc/hosts. This is not
    316     stored on the floppy but on the temporary ramdisk filesystem,
    317     so it must be repeated on any subsequent reboots from floppy.
    318 
    319     Once networking has been configured, you may mount the directory
    320     with the install files via NFS, or download them via FTP.
    321 
    322     To mount them via nfs, type
    323 
    324         mount -t nfs <hostname:/path/to/nfs/volume> /mnt2
    325 
    326     If this volume has been exported read-only, you may need the
    327     `-r' option to mount.
    328 
    329     To download the install sets with ftp, create a directory in
    330     which to put them and then use the ftp client to download them.
    331     Mirror sites are listed at: "http://www.netbsd.org/Sites/net.html".
    332     A typical session might be:
    333 
    334         mkdir /mnt/usr/release
    335         cd /mnt/usr/release
    336         ftp 204.152.184.75	 (ftp.netbsd.org when this was written)
    337         [all the following commmands are given to the ftp program
    338             after logging in]
    339         prompt
    340         cd /pub/NetBSD/NetBSD-1.3.2/alpha/binary/sets
    341         mget *
    342         bye
    343 
    344     Feel free, of course, to leave off the sets that you don't need
    345     if you don't plan to install everything.
    346 
    347     You are now ready to proceed to step 4.3.
    348 
    349 4.3 Extracting the Operating System Files
    350 
    351     This is quite simple. Change to the root directory of your hard
    352     drive (which is /mnt if you've used the standard install script
    353     to this point) by typing
    354 
    355         cd /mnt
    356 
    357     For this and the following commands, replace `/mnt/usr/release/'
    358     with the path to your NFS volume or CD-ROM if that's how you
    359     chose to access your install files instead.
    360 
    361     The sets and kernel are extracted with
    362 
    363 	cd /mnt
    364         for i in base kern comp etc games man misc text; do
    365             tar xpfz /mnt/usr/release/$i.tgz;
    366 	done
    367 
    368     or (but do NOT unpack source/toolchain.tgz from / or /mnt) perhaps:
    369 
    370 	cd /mnt
    371 	for i in /mnt/usr/release/[a-z]*.tgz; do
    372 	    echo $i
    373 	    tar xpfz $i
    374 	done
    375 
    376     Now make the device nodes:
    377 
    378 	cd /mnt/dev
    379 	sh ./MAKEDEV all
    380 
    381     Unmount the file systems and halt. The exact instructions to
    382     type here will depend on the file systems you created, but
    383     typically the commands are:
    384 
    385 	cd /
    386 	umount /mnt/usr
    387 	umount /mnt
    388 	sync		# not needed but traditional
    389 	halt
    390 
    391     You should now be at the SRM console's >>> prompt and can reboot
    392     into the new configuration (possibly after an optional power cycle)
    393     with a command such as:
    394 
    395         boot dka0
    396 
    397     This command might be: `boot dka100' if your drive is on ID 1.
    398     You can usually use `show device' to see a full list of bootable
    399     devices in your system). Your system will come up in single-user
    400     mode, ready for you to configure it.
    401 
    402 4.4 Optional Toolchain Source Module
    403 
    404     The source to the toolchain components is available in:
    405 
    406 	.../alpha/source/toolchain.tgz
    407 
    408     This module unpacks into ./toolchain, so:
    409 
    410 	cd /usr/local
    411 	tar xpfz .../toolchain.tgz
    412 
    413 
    414 5. Configuring NetBSD
    415 
    416     Configuring your NetBSD system requires editing the /etc/rc.conf
    417     file. Most of this file is fairly self-explanatory, but you
    418     can `man rc.conf' for further explanations. Remember to set
    419     `rc_configured' to YES so you will boot multi-user, set `hostname'
    420     and possibly `defaultroute', and add an ifconfig_int for your
    421     interface <int>, along the lines of
    422 
    423         ifconfig_de0="inet 123.45.67.89 netmask 255.255.255.0"
    424 
    425     or, if you have myname.my.dom in /etc/hosts:
    426 
    427         ifconfig_de0="inet myname.my.dom netmask 255.255.255.0"
    428 
    429     You will also want either to run named or add an /etc/resolv.conf
    430     file (`man resolv.conf' for information on this), use `vipw' to add
    431     accounts to your system, edit /etc/aliases to forward root mail to
    432     the right place (run `newaliases' afterwards) and edit /etc/rc.local
    433     to run any local daemons you use.
    434