.\"	$NetBSD: install,v 1.9 1999/01/18 08:29:01 phil Exp $
.\"
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"        This product includes software developed by the NetBSD
.\"        Foundation, Inc. and its contributors.
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
.\"    contributors may be used to endorse or promote products derived
.\"    from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.
(IF you already have NetBSD/pc532 installed and you only want to update
your system, see the next section.)
.Pp
To install NetBSD/pc532, there are several things you need to know.
First, NetBSD "autoconfigs" the scsi devices.
.Pa floppy-144.fs
has only
support for disks configured into the kernel. Starting the search at
.Tn SCSI
address 0, lun 0 and increasing, the first disk found will be sd0
regardless of the address, the second will be sd1.
.Tn KLONDIKE
for example has the following devices installed:
.Pp
.Dl Sy sd0: No ID\ 0\ LUN\ 0:\ Quantum\ LP52S\ hard\ disk\ drive
.Dl Sy sd1: No ID\ 1\ LUN\ 0:\ Micropolis\ 4110\ hard\ disk\ drive
.Dl Sy sd2: No ID\ 2\ LUN\ 0:\ Teac\ FC-1,\ 3.5"\ floppy\ disk\ drive
.Dl Sy sd3: No ID\ 2\ LUN\ 1:\ Teac\ FC-1,\ 5.25"\ floppy\ disk\ drive
.Dl Sy cd0: No ID\ 3\ LUN\ 0:\ Toshiba\ XM-4101TA\ CD-ROM\ drive
.Dl Sy st0: No ID\ 4\ LUN\ 0:\ Tandberg\ TDC3600\ QIC\ tape\ drive
.Pp
Only sd0-sd3 are supported by the
.Pa floppy-144.fs
kernel.
.Pp
Next you need to know what the install script wants to do. This install
is script on the ram disk root that can do most of the work of configuring
your disk.
.Bl -enum
.It
The script assumes your are using the first n sectors of your
disk, where you can specify n. It will allow you to create
up to 5 file system partitions, one swap partition and one
boot partition.
.It
You should know how many total sectors are on your disk. The
configure will report a head, track, and cylinder count, but
I have found that on my disks, it reports something that makes
a smaller disk than I really had.
.It
It is possible to have the install script make a partition
over your save area AND not make a new file system, thus
preserving what is there. Then, later you can make a new
file system after you no longer need the stuff there. You
will need to do only one boot to get things working from
the disk.
.El
.Ss2 The Install Procedure:
.Bl -enum
.It
Adjust your console device settings.
The floppy-144.fs kernel will come up with 9600 baud, 7 bits,
even parity and one stop bit. Adjust your terminal to match
these settings. The monitor's baud rate can be changed with
"baud d'9600".
.
.It
Get floppy-144.fs and boot the kernel from...
.
.	Bl -tag -width Serial\ line
.		It Em Floppy
From Floppy: (and using the autoboot monitor)
If you have a 1.44 meg SCSI floppy drive, you can put floppy-144.fs
onto a 3.5" floppy disk. Insert the disk into your floppy
drive and use the monitor's boot command to boot the default
image from the floppy. The image booted will ask you for a
kernel to load. Answer
.		Dl Ic sd Ns Ar x Ns Ic a:/netbsd
Replace
.		Ar x
with your drive number. For KLONDIKE,
.		Ar x No would be Ic 2 .
.
.		It Em Tape
You will need to load a copy of
.		Pa floppy-144.fs
into RAM.
.		Dl No \-\ load\ the Pa floppy-144.fs No at\ 0x260000
.		Dl No \-\ run at 0x3BE020
The boot program will ask you now for a kernel to load. Answer
.		Ic md0a:/netbsd.gz
.
.		Em Serial Line
Provided with the distribution is source for program called
download. (download.c) This program when used as
"download file" will read the contents of the file and
output to standard output a byte sequence used by the pc532
ROM monitor to download a binary file into RAM. Using this
program on a computer connected to the pc532, one can
load a copy of floppy-144.fs into RAM at 0x260000. The boot
sequence is now the same as with tape.
.		El
.It
The floppy-144.fs will run the new sysinst utility as the standard
setup. It assumes a VT100 compatible terminal. If you don't want
to try using sysinst or you dont' have a VT100, type f followed by
the return. Then following these instructions for installation.
If you want to use sysinst, read the i386 INSTALL instructions to
learn about sysinst. Note: sysinst does not support SLIP or PPP
connections.
.It
Choose a disk geometry. For me, the reported geometry left
some sectors "unallocated". That is, the autoconfig message
said the disk had 2428 cylinders, 9 heads, and 93 sectors/track.
This gives a total of 2032236 sectors, but I knew that I had
2053880 sectors.
.Pp
To help in this process, there is a program "factor" that is
on the floppy-144.fs. The usage is "factor number" and it lists
the prime factors of number.
For example, with the 2053880 sector disk I got:
.
.Dl $ Ic factor 2053880
.Dl 2053880: 2 2 2 5 51347
.
Not many to choose from, so I tried ...
.
.Dl $ Ic factor 2053820
.Dl 2053820: 2 2 5 103 997
.
Now I'd like to get about a meg per track:
.Dl $ Ic echo \&"2 * 997"|bc
.Dl 1994
.
Now I need the number of tracks (or cylinders):
.Dl $ Ic echo \&"2 * 5 * 103"|bc
.Dl 1030
.Pp
So I ended up choosing 1030 cylinders, 1 head, 1994 sectors/track.
I "lost" only 60 sectors, but got a "resonable geometry".
.It
run "install" -- it will ask you for the disk geometry and other
questions. It will ask you for the geometry and then ask you
how many of those sectors you want to use for NetBSD. It also
wants to know the size of your boot partition (to be used with
the auto-boot monitor), your root partition, your swap partition,
and then any other partitions you may want. For the "other"
partitions, it will ask for a mount point. The mount point will
be "relative to /" and should not include the leading "/". Also,
IF you do not want the partition to have newfs run on it (that is
it might be the last one and have a copy of floppy-144.fs) enter "NO"
to the mount point and it will not run newfs on the partition.
It will enter the partition into the disklabel.
.It
look around, if you want ... and then halt NetBSD.
.It
reboot the machine. Using the autoboot monitor, all you should have
to do is give the ROM monitor command "boot". The secondary
UFS boot program eventually times out and auto-loads /netbsd.
You can get it to do it faster by hitting "return".
.Pp
If you are not using the autoboot monitor, you will have to
figure out the starting sector of the boot images partition
and manually load the NetBSD boot loader from the disk using
the read command. If you would rather use the autoboot monitor
you can get source and ROM images from the URL
.Lk ftp://ftp.cs.wwu.edu/pub/pc532/mon.auto.tar.gz
.It
Now it is time to load all the other files of the distribution:
You can do this via --
.Bl -bullet
.It
a TCP/IP link (slip, ppp or plip)
you have ifconfig, slattach, route, netstat,
hostname and ftp on the mini-root. You can even
use nfs...
Plip is only an option if you have installed a
centronics port in your pc532.
You do have access to vi to edit your network
files. (/etc/resolv.conf, ...)
.It
floppy disk
.It
tape
.It
cd-rom (If you have a CD with NetBSD/532, which most likely
won't happen for a while after \*V release.)
.Dl Ic mount -rt cd9660 /dev/cd0a /mnt
Get the .tgz files from the cd-rom
.It
Use the ROM compatable "download" program. The program
download is included in the initial installation and
can be used as the receive end of the download by
using it as "download -r file_to_write". If the CRC is
correct, the file is retained. If the CRC is not
correct, the file is deleted.
.El
.It
Load the .tgz files. Choose a place to put them. I would make
a directory /gz.files and put them there. If you are "short
on space," you might want to load them and extract them one
at a time. A minimum installation is "base" and "etc". It
takes about 32 Megs installed + 20 Megs for the base.tgz.
.It
Extract the tar files in /. For example, if your *.tgz were
in a directory /gz.files, to extract base.tgz you would:
.Dl Ic cd /
.Dl Ic tar -xpzf /gz.files/base.tgz --unlink
.Pp
Add v to the flags if you want a verbose extract.
The
.Ic --unlink
is to make sure that the install versions
of sh, init, ... are replaced by their proper versons
in base.tgz. I think it is wise to include the
.Ic --unlink
for other things.
.It
Extract at least "base", "etc" and "kern" for a new installation.
For "update" extracts, move /etc to /etc.old and then extract
"etc". You should extract "etc" for upgrades. For "full"
installations, 	extract all files.
.It
Edit the information in /etc
.Bl -tag -width resolv.conf
.It rc.conf
Many things can be configured here
.It hosts
host name and address information
.It resolv.conf
which nameserver to use
.It ttys
make sure the console entry has the correct speed
.It gettytab
I find "ap" instead of "ep" in the default entry
works better for me.
.It fstab
make sure it includes all partitions you want mounted
.El
.Pp
Now you can adjust the kernel's default baud rate to match your
monitor's default baud rate. Do the following:
.Dl Ic gdb -w /netbsd
.Dl Ic set scndefaultrate = Ar your_baud_rate
.Dl Ic quit
where
.Ar your_baud_rate No is the actual value, 19200, 38400 or
something slower than 9600.
If you set scndefaultrate to something bogus, you'll probably
not be able to reboot... So be carefull!
.It
Reboot the machine and it should come up in multi-user mode *IF*
you got it configured correctly.
.It
Enjoy! And help fix bugs and improve NetBSD/pc532!
.El
