NetBSD/distrib/notes/alpha/install

412 lines
16 KiB
Plaintext

$NetBSD: install,v 1.13 1998/09/07 21:48:08 veego Exp $
0. Introduction
It's getting easier with every release to install NetBSD/alpha.
If you do have problems, don't despair; most complications you
might encounter are very easy to fix. We strongly suggest you
join the port-alpha list (see the section on mailing lists on
http://www.netbsd.org) and ask questions there. Also, please
report any problems you've encountered or solved by using the
mailing list or by running send-pr(1) so that they can be fixed
for the next release.
1. General
The following is a walk-through of the steps you will take
while getting NetBSD installed on your hard disk. It's divided
into three basic components: booting NetBSD (section 2 below),
preparing the disk (section 3 below), and loading the operating
system files onto the disk (section 4 below).
2. Booting NetBSD
You have two choices of how to boot your machine. If you have a
floppy drive, you may boot from that. This is probably the simplest
way of getting started. If you don't have a floppy drive, you will
need to set yourself up for a boot from a file server on the
network, which is a little more complex.
2.1 Making and Booting a Floppy
The 3.5", 1.44 MB boot floppy image is found under the
NetBSD/alpha _VER distribution directory in the file
alpha/installation/floppy/floppy-144. You need to take this disk
image and put it on a floppy disk.
If you have a Unix system handy, you can do this with a command
like the following:
dd if=floppy-144 of=/dev/rfd0a bs=18k
If the Unix system you are using is not a NetBSD system, you will
probably need to replace `/dev/rfd0a' with the name of the floppy
device on your particular system.
If you have an MS-DOS or Windows system available, you can use
the `rawrite.exe' utility to transfer the image to a floppy
disk. This utility is provided with the NetBSD/i386 install
tools, under i386/installation/misc; a documentation file,
`rawrite.doc' is available there as well.
Once the floppy has been made, you simply need to put it in the
drive and type
boot dva0
Now you may skip to section 3.
2.2 Booting over the Network
Booting NetBSD/alpha _VER over a network requires a BOOTP or
DHCP server, a TFTP server and an NFS server. (These are usually
all run on the same machine.) There are three basic stages to
the boot:
1.The Alpha console software sends a BOOTP request to get its
own address, the address of the TFTP server and the file to
download. It downloads this file, which is the second stage
bootstrap, via TFTP and then executes it.
2.The secondary boot program resends the BOOTP request, this
time also locating the NFS server and root path. It mounts the
root path via NFS and reads in and transfers to the kernel: /netbsd.
3.The kernel probes and configures the devices, and then sends
out another BOOTP request so it can find out its address, the NFS
server, and path. (The kernel probably should get this information
from the console, but it currently doesn't.) It then mounts its
root via NFS and continues.
2.2.1 Setting Up the Server
You will need to set up your server to serve BOOTP, TFTP and NFS.
The NFS setup is quite simple. If you want to run a full system
from the network, untar the NetBSD snapshot or distribution
into a directory on your server and NFS export that directory
to the client. (Make sure you put a kernel there as well, and
create the device nodes in /dev with `sh ./MAKEDEV all'. Detailed
instructions on netbooting can be found by visiting the
Alpha platform page of www.NetBSD.org. At the time of this
release, the URL for the netbooting instructions is:
http://www.netbsd.org/Ports/alpha/netboot.html
You'll want to map root to `root' (rather than the default
`nobody') when you export your root filesystem. A typical
/etc/exports line on a NetBSD system would be:
/usr/export/alpha -maproot=0 myclient.mydom.com
If you just want to get the install kernel loaded so that you
can download sets to the local hard drive of that machine, you
need nothing other than the install kernel in the NFS root
directory on your server.
For the TFTP setup, you need to copy the second stage bootstrap,
netboot, into an appropriately named file (I use boot.netbsd.alpha)
in the directory used by your TFTP server. If you extracted a full
snapshot, you can get the netboot program from /usr/mdec/netboot;
if not, you can get this from the installation/netboot directory
where you found the alpha distribution.
For the BOOTP server you need to specify the:
hardware type (Ethernet)
hardware address (Ethernet MAC address)
IP address of the client
subnet mask of the client
address of of the TFTP/NFS server
name of the second stage bootstrap loaded via TFTP
path to the root for the client (mounted via NFS)
Here's an example for a Unix system running bootpd:
myhost.mydom.com:\
:ht=ethernet:ha=0000c0391ae4:\
:ip=192.168.1.2:sm=255.255.255.0:\
:sa=192.168.1.1:bf=boot.netbsd.alpha:rp=/usr/export/alpha:
And here's an example for a Unix system running dhcpd:
host axp {
hardware ethernet 0:0:c0:39:1a:e4;
fixed-address 192.168.1.2;
option host-name "myhost.mydom.com";
filename "boot.netbsd.alpha";
option root-path "/usr/export/alpha";
option domain-name-servers 192.168.1.1;
option broadcast-address 255.255.255.0;
option domain-name "my.domain";
}
2.2.2 The Alpha Console
The only Ethernet device the console on most Alpha systems
knows how to boot from is the onboard Ethernet interface or a
DEC Tulip (21040, 21041, 21140) based PCI Ethernet card. Some
older SMC 100 Mbps cards that use this chip have been known to
work as well. Many older systems will not be able to use the
newer 2.0 stepping of the 21140, however. If your system appears
not to be receiving packets, this may be the problem. (You may
or may not be able to update your firmware to fix this; see
the alpha port pages on www.netbsd.org for more information on
this.)
Once you're set up, you should be able to boot with:
boot -proto bootp ewa0
Systems with the `old SRM' do not have a -proto option and
use different device names.
3. Preparing the Disk
If you're going to be running a diskless machine, the steps so
far have prepared you to run, and you can skip to section 5
("Configuration") below.
If you are going to run NetBSD from a local hard drive, however,
this hard drive needs to be prepared. This preparation consists
of putting a label on the disk, which includes information on
the sizes and placement of the partition into which the disk
is divided, putting the boot blocks on the disk, and initialising
the filesystems on the partitions. This work is done by the
`install' script from the boot floppy (or boot kernel, if you
booted it via NFS with the INSTALL kernel).
3.1 Manual Install from the Shell Prompt
The normal installation involves running the install shell script
and interactively configuring the file systems, and then simply
unpacking the tar files into these followed by running MAKEDEV.
However, it is also possible to do the installation yourself
from the shell, and in any case it is helpful to understand
what the install script does. The procedure is:
1. create /etc/disktab(5)
2. run disklabel(8),
3. run newfs(8)
4. mount(8) the new root on /mnt
5. cd to /usr/mdec and run ./installboot(8)
If you are reviewing man pages on NetBSD platforms other than
alpha, be sure when reading installboot that you read the alpha
version by typing: "man 8 alpha/installboot".
3.2 Running Install
When you first boot the INSTALL kernel you will be given the
options of `install' or `shell'. Choose `install' and the
install script will start.
If, at any time, you have made a mistake in the install script
and want to abort, press ^C. This will take you to a shell
prompt. You can then restart the install script by typing
`/install', or halt the machine by typing `halt'.
3.3 Answering the Install Questions
These will for the most part be fairly obvious. You may install
on either a SCSI or an IDE disk, and you will be prompted for
the disk to install on. The disks in your system will be numbered
starting at xd0 (where x is an `s' for SCSI disks, `w' for IDE
disks) based on the SCSI ID or IDE drive order; if you have
more than one disk, watch the boot messages carefully to see
which ones are probed as which numbers.
Once you've selected a disk to install on, you'll be prompted
for the geometry. This is also displayed in the boot messages,
and you'll be given a chance to review the boot messages again
to get the exact figures for the number of cylinders, heads
and sectors.
After this you must specify the size of your partitions.
Generally you'll be giving the sizes in cylinders; the install
program will tell you how many bytes there are in each cylinder.
The swap partition is the second thing you specify, after the
root partition. Regardless of the size of your disk, you'll
want to specify a swap partition that's at least as large as
the amount of RAM you have, and probably not less than 64 MB
in any case.
If you have a small disk (under 500 MB), it's probably best to
devote all of the disk (excepting 64 MB or more for the swap)
to the root partition.
If you have more space, we recommend devoting at least 32 MB,
and preferably 48 MB, to the root partition. /usr will need
150 MB or so if you're not installing X, 200 MB or so if you
are. A typical organization is 50 MB for root, 150-250 MB for
swap, and the remaining space for /usr. With enough swap space
configured, you can make /tmp a nice, fast mfs. See man 8
mount_mfs, and note that the mfs will require swap space for
the largest planned amount of /tmp storage. It doesn't return
space when files are deleted, but just keeps it its own freelist
so the swap space required is equal to the highwater mark of
/tmp use, plus space required to back up main memory and store
inactive images.
Once you've specified this information, the install script will
write the disklabel, install boot blocks to make the disk
bootable, initialise the filesystems, and mount them all under
/mnt. You're now ready to go on to the next step.
4. Installing NetBSD
To install NetBSD you'll have to get access to the tar files
that contain the operating system, and extract them to your
disk. You can get access to the tar files through either a
network or from a CD-ROM.
4.1 Preparing to Install from a CD-ROM
All you need to do is mount the CD-ROM, which will generally
be device cd0. (The initial boot messages will tell you what
the CD-ROM drive is probed as.) This would be done with:
mount -r -t cd9660 /dev/cd0a /mnt2
4.2 Preparing to Install from the Network
The first thing you need to do is configure the loopback network
interface, which is done with the command
ifconfig lo0 127.0.0.1
Then you will have to configure your Ethernet card. The command
ifconfig -l
will give you a list of the network interfaces on your system.
It will show you your ethernet cards first, followed by lo0
(the loopback interface that we configured above), ppp0 (the
PPP interface) and sl0 (the SLIP interface).
To configure your ethernet card, type
ifconfig <if> inet <addr> [netmask <netmask>] [media <media>]
Where <if> is the network card (interface), <addr> is the IP
address, the optional <netmask> parameter is the network mask,
and the optional <media> parameter is one of:
10base2 BNC connector, 10 Mbps
AUI AUI connector, 10 Mbps
10baseT/UTP Twisted pair connector, 10 Mbps
100baseTX Twisted pair connector, 100 Mbps
100baseFX Fibre-optic connector, 100 Mbps
100baseT4 T4 twisted pair interface, 100 Mbps
If the host you are getting the data files from is not on the
local network, you will also have to configure a gateway into
your system. Do this with
route add default <gateway-IP-address>
In order to save space on the install floppy, the resolver does
not implement the DNS protocol, ignores /etc/resolv.conf and
does only host table lookups. You can specify all host addresses
as IP numbers or you can enter the host names and numbers into
/etc/hosts. For example, you can prepare a hosts table beforehand,
and ftp(1) it down (by IP number) to /etc/hosts. This is not
stored on the floppy but on the temporary ramdisk filesystem,
so it must be repeated on any subsequent reboots from floppy.
Once networking has been configured, you may mount the directory
with the install files via NFS, or download them via FTP.
To mount them via nfs, type
mount -t nfs <hostname:/path/to/nfs/volume> /mnt2
If this volume has been exported read-only, you may need the
`-r' option to mount.
To download the install sets with ftp, create a directory in
which to put them and then use the ftp client to download them.
Mirror sites are listed at: "http://www.netbsd.org/Sites/net.html".
A typical session might be:
mkdir /mnt/usr/release
cd /mnt/usr/release
ftp 204.152.184.75 (ftp.netbsd.org when this was written)
[all the following commmands are given to the ftp program
after logging in]
prompt
cd /pub/NetBSD/NetBSD-1.3.2/alpha/binary/sets
mget *
bye
Feel free, of course, to leave off the sets that you don't need
if you don't plan to install everything.
You are now ready to proceed to step 4.3.
4.3 Extracting the Operating System Files
This is quite simple. Change to the root directory of your hard
drive (which is /mnt if you've used the standard install script
to this point) by typing
cd /mnt
For this and the following commands, replace `/mnt/usr/release/'
with the path to your NFS volume or CD-ROM if that's how you
chose to access your install files instead.
The sets and kernel are extracted with
cd /mnt
for i in base kern comp etc games man misc text; do
tar xpzf /mnt/usr/release/$i.tgz;
done
or (but do NOT unpack source/toolchain.tgz from / or /mnt) perhaps:
cd /mnt
for i in /mnt/usr/release/[a-z]*.tgz; do
echo $i
tar xpzf $i
done
Now make the device nodes:
cd /mnt/dev
sh ./MAKEDEV all
Unmount the file systems and halt. The exact instructions to
type here will depend on the file systems you created, but
typically the commands are:
cd /
umount /mnt/usr
umount /mnt
sync # not needed but traditional
halt
You should now be at the SRM console's >>> prompt and can reboot
into the new configuration (possibly after an optional power cycle)
with a command such as:
boot dka0
This command might be: `boot dka100' if your drive is on ID 1.
You can usually use `show device' to see a full list of bootable
devices in your system). Your system will come up in single-user
mode, ready for you to configure it.
4.4 Optional Toolchain Source Module
The source to the toolchain components is available in:
.../alpha/source/toolchain.tgz
This module unpacks into ./toolchain, so:
cd /usr/local
tar xpzf .../toolchain.tgz