DESCRIPTION

About this Document

This document describes the installation procedure for
NetBSD
6.0 on the
sun3
platform.
It is available in four different formats titled
INSTALL.ext,
where
.ext
is one of
.ps, .html, .more,
or .txt:

.ps

PostScript.

.html

Standard Internet HTML.

.more

The enhanced text format used on
UNIX-like
systems by the
more(1)
and
less(1)
pager utility programs.
This is the format in which the on-line
man
pages are generally presented.

.txt

Plain old
ASCII.

You are reading the
HTML
version.

What is NetBSD?

The
NetBSD
Operating System is a fully functional
Open Source
UNIX-like
operating system derived from the University of California, Berkeley
Networking Release 2 (Net/2), 4.4BSD-Lite, and 4.4BSD-Lite2 sources.
NetBSD
runs on 57 different system architectures (ports)
across 15 distinct CPU families, and is being ported to more.
The
NetBSD
6.0 release contains complete binary releases for many different
system architectures.
(A few ports are not fully supported at this time
and are thus not part of the binary distribution.
Please see the
NetBSD
web site at
http://www.NetBSD.org/
for information on them.)

NetBSD
is a completely integrated system.
In addition to its highly portable, high performance kernel,
NetBSD
features a complete set of user utilities, compilers for several
languages, the X Window System, firewall software
and numerous other tools, all accompanied by full source code.

NetBSD
is a creation of the members of the Internet community.
Without the unique cooperation and coordination the net makes
possible, it's likely that
NetBSD
wouldn't exist.

Changes Between The NetBSD 5.0 and 6.0 Releases

The
NetBSD
6.0 release
provides numerous significant functional enhancements, including
support for many new devices, integration of hundreds of bug fixes,
new and updated kernel subsystems, and many user-land enhancements.
The result of these improvements is a stable operating system fit for
production use that rivals most commercially available systems.

Added new system calls
pipe2(2),
paccept(2),
kqueue1(2),
flags SOCK_CLOEXEC/SOCK_NONBLOCK to
socket(2),
socketpair(2),
F_DUPFD_CLOEXEC to
fcntl(2),
and a MSG_CMSG_CLOEXEC to
recvfrom(2)
to be able to set close-on-exec to all newly created file descriptors.

Major improvements to
uvm_map(9),
uvm_km(9),
vmem(9),
and
kmem(9)
layers.

Removed
ltsleep(9)
and wakeup_one(9).

Rewrote most of the entropy-gathering and entropy-distributing code, separating the
rnd(4)
pseudodevice from the bitstream generation code
cprng(9)
and entropy-pool code
rnd(9).

The default behavior when mounting empty msdosfs file systems has been changed to assume long filenames. The behavior with populated file systems has not changed.

UDF: Added support for session opening/closing on sequential media.

ext2fs: Added support for >128 byte inodes.

Import OpenSolaris ZFS code. Experimental-only; does not work yet.

ffs: New quota support. This adds a new on-disk format to store disk quota usage and limits, integrated with ffs metadata. Usage is checked by
fsck_ffs(8)
(no more quotacheck) and is covered by the WAPBL journal. Enabled with kernel option QUOTA2.

-
The bootloader has been enhanced to support framebuffer consoles using VESA BIOS extensions. x86 ports now work with the
genfb(4)
framebuffer, and the i386-only
vesafb(4)
framebuffer has been obsoleted.

-
Added
ucas(9)
support for x86.

-
sysinst(8)
now defaults to UFS2 for x86 platforms.

-
CPU topology detection suport for AMD processors.

-
Enable Ext2fs support in bootloader.

-
Booting from a disk with a GUID Partition Table (GPT) is now possible.

-
Support
userconf(4)
command in
boot.cfg(5).

i386:

-
Use
``i486''

as GNU_ARCH.

-
Added PAE (Physical Address Extension) support.

-
Better support for VIA C7 CPUs.

amd64:

-
Added direct map support (mapping of all physical memory using large pages).

-
Add PCI pass-through support for Xen3. Dom0 kernel gets a
pciback(4)
driver, to which the device specified in the pciback.hide boot parameter will attach. DomU kernels get a
xpci(4)
driver, to which PCI busses will attach.

In this release of NetBSD, the following software components have been removed from the system. Some were not useful anymore, or their utility did not justify the maintenance overhead. Others were not working properly and there was a lack of interest in fixing them.

Support for Xen 2 has been dropped. Xen 3.1 or later is now required to run NetBSD.

Support for LKMs (Loadable Kernel Modules) was dropped; use the new
module(7)
framework.

Features to be removed in a later release

groff(1)
is being phased out.
Man pages are handled with
mandoc(1),
and
groff(1)
can still be found in pkgsrc as
textproc/groff.

kame_ipsec(4)
has been replaced by
fast_ipsec(4).
The option to use the old implementation (see
options(4))
will be removed in the next
NetBSD
release.

The NetBSD Foundation

The
NetBSD
Foundation is a tax exempt, not-for-profit 501(c)(3) corporation
that devotes itself to the traditional goals and Spirit of the
NetBSD
Project and owns the trademark of the word
``NetBSD''.
It supports the design, development, and adoption of
NetBSD
worldwide.
More information on the
NetBSD
Foundation, its composition, aims, and work can be found at:
http://www.NetBSD.org/foundation/

In addition to the files and directories listed above, there is one
directory per architecture, for each of the architectures for which
NetBSD
6.0 has a binary distribution.

The source distribution sets can be found in subdirectories of the
source
subdirectory of the distribution tree.
They contain the complete sources to the system.
The source distribution sets are as follows:

gnusrc

This set contains the
``gnu''
sources, including the source for the compiler, assembler, groff,
and the other GNU utilities in the binary distribution sets.

sharesrc

This set contains the
``share''
sources, which include the sources for the man pages not associated
with any particular program; the sources for the typesettable document
set; the dictionaries; and more.

src

This set contains all of the base
NetBSD
6.0 sources which are not in
gnusrc,
sharesrc,
or
syssrc.

syssrc

This set contains the sources to the
NetBSD
6.0 kernel for all architectures as well as the
config(1)
utility.

xsrc

This set contains the sources to the X Window System.

All the above source sets are located in the
source/sets
subdirectory of the distribution tree.

The source sets are distributed as compressed tar files.
Except for the
pkgsrc
set, which is traditionally unpacked into
/usr/pkgsrc,
all sets may be unpacked into
/usr/src
with the command:
# cd / ; tar -zxpf set_name.tgz

In each of the source distribution set directories, there are
files which contain the checksums of the files in the directory:

MD5

MD5
digests in the format produced by the command:
cksum -a MD5 file.

SHA512

SHA512
digests in the format produced by the command:
cksum -a SHA512 file.

The SHA512 digest is safer, but MD5 checksums are provided so that a wider
range of operating systems can check the integrity of the release files.

The
NetBSD
sun3
binary distribution sets contain the binaries which
comprise the
NetBSD
6.0 release for sun3.
The binary distribution sets can be found in the
sun3/binary/sets
subdirectory
of the
NetBSD
6.0
distribution tree, and are as follows:

base

The
NetBSD
6.0
sun3
base
binary distribution.
You
must
install this distribution set.
It contains the base
NetBSD
utilities that are necessary for the
system to run and be minimally functional.

comp

Things needed for compiling programs.
This set includes the system include files
(/usr/include)
and the various system libraries (except the shared
libraries, which are included as part of the
base
set).
This set also includes the manual pages for
all of the utilities it contains, as well as the
system call and library manual pages.

etc

This distribution set contains the system
configuration files that reside in
/etc
and in several other places.
This set
must
be installed if you are installing the system from scratch, but should
not
be used if you are upgrading.

games

This set includes the games and their manual pages.

kern-GENERIC

This set contains a
NetBSD/sun3
6.0
GENERIC
kernel, named
/netbsd.
You
must
install this distribution set.

man

This set includes all of the manual pages for the
binaries and other software contained in the
base
set.
Note that it does not include any of the manual pages
that are included in the other sets.

misc

This set includes the system dictionaries,
the typesettable document set, and other files from
/usr/share.

text

This set includes
NetBSD's
text processing tools, including
groff(1),
all related programs, and their manual pages.

NetBSD
maintains its own set of sources for the X Window System in order to
assure tight integration and compatibility.
These sources are based on
XFree86 4.5.0.
Binary sets for the X Window System are distributed with
NetBSD.
The sets are:

xbase

The basic files needed for a complete X
client environment.
This does not include the X servers.

xcomp

The extra libraries and include files needed to compile X source code.

xfont

Fonts needed by the X server and by X clients.

xetc

Configuration files for X which could be locally modified.

xserver

The X server.

The sun3 binary distribution sets are distributed as gzipped tar files
named with the extension
.tgz,
e.g.
base.tgz.

The instructions given for extracting the source sets work equally
well for the binary sets, but it is worth noting that if you use that
method, the filenames stored in the sets are relative and therefore
the files are extracted
below the current directory.
Therefore, if you want to extract the binaries into your system, i.e.
replace the system binaries with them, you have to run the
tar -xzpf
command from the root directory (
/
) of your system.

There is a collection of Sun3 and Sun3X kernels in the
sun3/binary/kernels
subdirectory of the
NetBSD
6.0 distribution.
The ones named
netbsd-ramdisk*.gz
contain a root file system image and should only be used for the
initial installation.
The others are included for convenience.
(Most people will want to use
netbsd-generic.gz
or
netbsd-generic3x.gz
as appropriate.)
Please note that these kernels are simply gzipped and are not tar archives.

Note:

Each directory in the sun3 binary distribution also has its
own checksum files, just as the source distribution does.

NetBSD/sun3 System Requirements and Supported Devices

NetBSD/sun3
6.0 runs on most Sun3 machines, including:

3/50

3/60

3/110

3/75

3/150

3/160

3/260

3/280

3/E

3/80

3/470

Note that
NetBSD/sun3
includes support for
`Sun3X'
machines, which used to be supported with a separate
NetBSD/sun3x
distribution.

The minimal configuration requires 4 MB of RAM and about 100 MB of disk
space.
To install the entire system requires much more disk space.
To run X or compile the system, more RAM is recommended.
Good performance requires 8 MB of RAM, or 16 MB when running the
X Window System.
A good rule of thumb is to have a swap partition twice the size of the
amount of RAM in your machine.
You will probably want to compile your own kernel, as
GENERIC
is large and bulky to accommodate all people.

Note that the sun3 installation procedure uses a
miniroot
image
which is placed into the swap area of the disk.
The swap partition must be at least as large as the miniroot image (10 MB).

If the tapes do not work as expected, you may need to explicitly
set the EOF mark at the end of each tape segment.
It may also be necessary to use the
conv=osync
argument to
dd(1).
Note that
this argument is incompatible with the
bs=
argument.
Consult the tape-related manual pages on the system where the tapes are
created for more details.

If your machine has a disk and network connection, but no tape drive,
it may be convenient for you to install
NetBSD
over the network.
This involves temporarily booting your machine over NFS, just long enough
so you can initialize its disk.
This method requires that you have access to an NFS server on your
network so you can configure it to support diskless boot for your machine.
Configuring the NFS server is normally a task for a system administrator,
and is not trivial.

If you are using a
NetBSD
system as the boot-server, have a look at
the
diskless(8)
manual page for guidelines on how to proceed with this.
If the server runs another operating system, consult the
documentation that came with it (i.e.
add_client(8)
on
SunOS).

When instructed to boot over the network, your sun3 expects to be
able to download a second stage bootstrap program via
TFTP
after
it has acquired its IP address through
RARP.
It will attempt to download a file using a name derived from the
machine's recently acquired IP address,
and in the case of sun3x machines, an extension which corresponds to the
machine architecture.
(It may be handy to have a hexadecimal
calculator for this next step.)
The filename is created by
converting the machine's assigned IP address into hexadecimal,
most-significant octet first, using uppercase characters for the
non-decimal (A-F) digits.
sun3x machines use a filename suffix of
.SUN3X.

For example, a sun3 which has been assigned IP address 130.115.144.11
will make an
TFTP
request for
8273900B,
and a sun3x will try
8273900B.SUN3X.
Normally, this file
is a symbolic link to the
NetBSD/sun3
netboot
program, which should
be located in a place where the
TFTP
daemon can find it.
(Remember, many TFTP daemons run in a chroot'ed environment.)
The netboot program may be found in the install directory of this distribution.

The netboot program will query a bootparamd server to find the
NFS server address and path name for its root, and then load a
kernel from that location.
The server should have a copy of the netbsd-rd kernel in the root area
for your client (no other files are needed in the client root) and
/etc/bootparams
on the server
should have an entry for your client and its root directory.
The client will need access to the miniroot image, which can be
provided using NFS or remote shell.

If you will be installing
NetBSD
on several clients, it may be useful
to know that you can use a single NFS root for all the clients as long
as they only use the netbsd-rd kernel.
There will be no conflict between clients because the RAM-disk kernel will
not use the NFS root.
No swap file is needed; the RAM-disk kernel does not use that either.

This method requires that you boot from another device (i.e. tape
or network, as described above). You may need to make a boot tape
on another machine using the files provided on the CD-ROM.
Once you have booted netbsd-rd (the RAM-disk kernel) and loaded the
miniroot, you can load any of the distribution sets directly from
the CD-ROM.
The
install
program in the miniroot automates the
work required to mount the CD-ROM and extract the files.

This method requires that you boot from another device (i.e. tape
or network, as described above).
You may need to make a boot tape on another machine using the files in
.../install
(which you get via FTP).
Once you have booted netbsd-rd (the RAM-disk kernel)
and loaded the miniroot, you can load any of the distribution sets
over the net using FTP.
The
install
program in the miniroot
automates the work required to configure the network interface and
transfer the files.

The preparations for this installation/upgrade method are easy; all
you make sure that there's some FTP site from which you can retrieve
the
NetBSD
distribution when you're about to install or upgrade.
You need to know the numeric IP address of that site, and, if it's not on
a network directly connected to the machine on which you're installing
or upgrading
NetBSD,
you need to know the numeric IP address of the
router closest to the
NetBSD
machine.
Finally, you need to know the numeric IP address of the
NetBSD
machine itself.

Preparing your System for NetBSD installation

Sun3 machines usually need little or no preparation before installing
NetBSD, other than the usual, well advised precaution of
backing up all data
on any attached storage devices.

You will need to know the SCSI target ID of the drive on which you
will install
NetBSD.

Note:

SunOS
on the sun3 uses confusing names for
the SCSI devices: target 1 is
sd2,
target 2 is
sd4,
etc.

It might be a good time to run the diagnostics on your Sun3.
First, attach a terminal to the
ttya
serial port, then set the
``Diag/Norm''
switch to the Diagnostic position, and power-on the machine.
The Diag. switch setting forces console interaction to occur on ttya.
Note that the 3/80 has a
``software''
diag switch you can set at
the PROM monitor prompt.
To turn on diag boot mode, do:
q 70b 12
To return to normal boot mode, do:
q 70b 6.

The console location (ttya, ttyb, or keyboard/display) is controlled
by address 0x1F in the EEPROM, which you can examine and change in
the PROM monitor by entering
q1f
followed by a numeric value (or
just a
`.'
if you don't want to change it).
Console values are:

00

Default graphics display

10

tty a (9600-N-8-1)

11

tty b (1200-N-8-1)

20

Color option board on P4

Installing the NetBSD System

Installing
NetBSD
is a relatively complex process, but if you have
this document in hand it should not be too difficult.

There are several ways to install
NetBSD
onto your disk.
If your machine has a tape drive the easiest way is
Installing from tape
(details below).
If your machine is on a network with a suitable NFS server, then
Installing from NFS
is the next best method.
Otherwise, if you have another
Sun
machine running
SunOS
you can initialize the disk on that machine and then move the disk.
(Installing from
SunOS
is not recommended.)

Create the
NetBSD/sun3
6.0 boot tape as described in the section
entitled
Preparing a boot tape
and boot the tape.
At the PROM monitor prompt, use one of the commands:

>b st()>b st(0,8,0)

The first example will use the tape on SCSI target 4, where the
second will use SCSI target 5.
The
>
is the monitor prompt.

After the tape loads, you should see many lines of configuration
messages, and then the following
`welcome'
screen:

Welcome to the NetBSD/sun3 RAMDISK root!

This environment is designed to do only three things:
1: Partition your disk (use the command: edlabel /dev/rsd0c)
2: Copy a miniroot image into the swap partition (/dev/rsd0b)
3: Reboot (using the swap partition, i.e. /dev/sd?b).

Note that the sun3 firmware cannot boot from a partition located
more than 1 GB from the beginning of the disk, so the swap partition
should be completely below the 1 GB boundary.

Copying the miniroot can be done several ways, allowing
the source of the miniroot image to be on any of these:
boot tape, NFS server, TFTP server, rsh server

The easiest is loading from tape, which is done as follows:
mt -f /dev/nrst0 rewind
mt -f /dev/nrst0 fsf 2
dd if=/dev/nrst0 of=/dev/rsd0b bs=32k conv=sync
(For help with other methods, please see the install notes.)

To reboot using the swap partition, first use "halt",
then at the PROM monitor prompt use a command like:
b sd(,,1) -s

To view this message again, type: cat /.welcome

Copy the miniroot as described in the welcome message, and
reboot from that just installed miniroot.
See the section entitled
Booting the miniroot
for details.

Before you can install from NFS, you must have already configured
your NFS server to support your machine as a diskless client.
Instructions for configuring the server are found in the section
entitled
Getting the NetBSD System onto Useful Media
above.

First, at the
Sun
PROM monitor prompt, enter a boot command
using the network interface as the boot device.
On desktop machines this is
le,
and
ie
on the others.
Examples:

>b le() -s>b ie() -s

After the boot program loads the RAMDISK kernel, you should
see the welcome screen as shown in the
Installing from tape
section above.
You must configure the network interface before you
can use any network resources.
For example the command:

ssh> ifconfig le0 inet 192.233.20.198 up

will bring up the network interface with that address.
The next step is to copy the miniroot from your server.
This can be done using either NFS or remote shell.
(In the examples that follow, the server has IP address 192.233.20.195.)
You may then need to add a default route if the server is on
a different subnet:

ssh> route add default 192.233.20.255 1

You can look at the route table using:

ssh> route show

Now mount the NFS file system containing the miniroot image:

ssh> mount -r 192.233.20.195:/server/path /mnt

The procedure is simpler if you have space for an expanded
(not compressed) copy of the miniroot image.
In that case:

ssh> dd if=/mnt/miniroot.fs of=/dev/rsd0b bs=8k

Otherwise, you will need to use
zcat
to expand the miniroot image while copying.
This is tricky because the
ssh
program
(small shell) does not handle
sh(1)
pipeline syntax.
Instead, you first run the reader in the background with its input set
to
/dev/pipe
and then run the other program in the foreground with its output to
/dev/pipe.
The result looks like this:

To install
NetBSD/sun3
onto a machine already running
SunOS,
you
will need the miniroot image (miniroot.fs.gz) and some means to
decompress it.

First, boot
SunOS
and place the miniroot file onto the hard drive.
If you do not have
gzip
for
SunOS,
you will need to decompress
the image elsewhere before you can use it.

Next, bring
SunOS
down to single user mode to insure that nothing
will be using the swap space on your drive.
To be extra safe, reboot the machine into single-user mode
rather than using the
shutdown
command.

The miniroot's install program is very simple to use.
It will guide you through the entire process, and is well automated.
Additional improvements are planned for future releases.

The miniroot's install program will:

Allow you to place disklabels on additional disks.
The disk we are installing on should already have
been partitioned using the RAMDISK kernel.

Create file systems on target partitions.

Allow you to set up your system's network configuration.
Remember to specify host names without the domain name
appended to the end.
For example use
foo
instead of
foo.bar.org.
If, during the process of configuring
the network interfaces, you make a mistake, you will
be able to re-configure that interface by simply selecting
it for configuration again.

Mount target file systems.
You will be given the opportunity to manually edit the resulting
/etc/fstab.

First-time installation on a system through a method other than the
installation program is possible, but strongly discouraged.

Post installation steps

Once you've got the operating system running, there are a few
things you need to do in order to bring the system into a properly
configured state.
The most important steps are described below.

Configuring
/etc/rc.conf

If you or the installation software haven't done any configuration of
/etc/rc.conf(sysinst
usually will),
the system will drop you into single user mode on first reboot with the
message

/etc/rc.conf is not configured. Multiuser boot aborted.

and with the root file system
(/)
mounted read-only.
When the system asks you to choose a shell, simply press
RETURN
to get to a
/bin/sh
prompt.
If you are asked for a terminal type, respond with
vt220
(or whatever is appropriate for your terminal type)
and press
RETURN.
You may need to type one of the following commands to get your delete key
to work properly, depending on your keyboard:
# stty erase '^h'# stty erase '^?'
At this point, you need to configure at least
one file in the
/etc
directory.
You will need to mount your root file system read/write with:
# /sbin/mount -u -w /
Change to the
/etc
directory and take a look at the
/etc/rc.conf
file.
Modify it to your tastes, making sure that you set
rc_configured=YES
so that your changes will be enabled and a multi-user boot can
proceed.
Default values for the various programs can be found in
/etc/defaults/rc.conf,
where some in-line documentation may be found.
More complete documentation can be found in
rc.conf(5).

When you have finished editing
/etc/rc.conf,
type
exit
at the prompt to
leave the single-user shell and continue with the multi-user boot.

Other values that may need to be set in
/etc/rc.conf
for a networked environment are
hostname
and possibly
defaultroute.
You may also need to add an
ifconfig_int
for your
<int>
network interface,
along the lines of

ifconfig_le0="inet 192.0.2.123 netmask 255.255.255.0"

or, if you have
myname.my.dom
in
/etc/hosts:

ifconfig_le0="inet myname.my.dom netmask 255.255.255.0"

To enable proper hostname resolution, you will also want to add an
/etc/resolv.conf
file or (if you are feeling a little more adventurous) run
named(8).
See
resolv.conf(5)
or
named(8)
for more information.
Instead of manually configuring network and naming service,
DHCP can be used by setting
dhclient=YES
in
/etc/rc.conf.

Other files in
/etc
that may require modification or setting up include
/etc/mailer.conf,
/etc/nsswitch.conf,
and
/etc/wscons.conf.

Logging in

After reboot, you can log in as
root
at the login prompt.
Unless you've set a password in
sysinst,
there
is no initial password.
You should create an account for yourself (see below) and protect it and the
``root''
account with good passwords.
By default, root login from the network is disabled (even via
ssh(1)).
One way to become root over the network is to log in as a different
user that belongs to group
``wheel''
(see
group(5))
and use
su(1)
to become root.

Adding accounts

Use the
useradd(8)
command to add accounts to your system.
Do not
edit
/etc/passwd
directly! See
vipw(8)
and
pwd_mkdb(8)
if you want to edit the password database.

If you wish to install any of the software freely available for
UNIX-like
systems you are strongly advised to first check the
NetBSD
package system, pkgsrc.
pkgsrc automatically handles any changes necessary to make the
software run on
NetBSD.
This includes the retrieval and installation of any other
packages on which the software may depend.

Precompiled binaries can be found at
ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/
usually in the
sun3/6.0/All
subdir.
If you installed
pkgin(1)
in the
sysinst
post-installation configuration menu, you can use it to automatically install
binary packages over the network.
Assuming that
/usr/pkg/etc/pkgin/repositories.conf
is correctly configured, you can install them with the following commands:

Some mirror sites don't mirror the
/pub/pkgsrc
directory.
If you would like to use such mirrors, you could also try the
/pub/NetBSD/packages/current-packages/NetBSD/sun3/6.0/All
directory, which may have the same contents.

The above commands will install the Tenex-csh and Bourne Again shells,
the Perl programming language, Apache web server, KDE desktop
environment and the Firefox web browser
as well as all the packages they depend on.

If you did not install it from the
sysinst
post-installation configuration menu, the
pkgsrc(7)
framework for compiling packages can be obtained by
retrieving the file
ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz
It is typically extracted into
/usr/pkgsrc
(though other locations work fine) with the commands:

# cd /usr# tar -zxpf pkgsrc.tar.gz

After extracting, see the
doc/pkgsrc.txt
file in the extraction directory (e.g.,
/usr/pkgsrc/doc/pkgsrc.txt)
for more information.

Misc

Edit
/etc/mail/aliases
to forward root mail to the right place.
Don't forget to run
newaliases(1)
afterwards.

The
/etc/postfix/main.cf
file will almost definitely need to be adjusted.
If you prefer a different MTA, then install it using
pkgsrc or by hand and adjust
/etc/mailer.conf.

Edit
/etc/rc.local
to run any local daemons you use.

Many of the
/etc
files are documented in section 5 of the manual; so just invoking

# man 5 filename

is likely to give you more information on these files.

Upgrading a previously-installed NetBSD System

It is possible to easily upgrade your existing
NetBSD/sun3
system
using the upgrade program in the miniroot.
If you wish to upgrade your system by this method, simply select the
upgrade
option once
the miniroot has booted.
The upgrade program with then guide you through the procedure.
The upgrade program will:

Enable the network based on your system's current network configuration.

Mount your existing file systems.

Extract binary sets from the media of your choice.

Make new device nodes in your root file system under
/dev.

Copy a new kernel onto your root partition
(/).

Note:

the existing kernel
will not
be backed up; doing
so would be pointless, since older kernels may not be
capable of running
NetBSD6.0
executables.

Install a new boot block.

Check your file systems for integrity.

Using the miniroot's upgrade program is the preferred method
of upgrading your system.

However, it is possible to upgrade your system manually.
To do this, follow the following procedure:

Place
at least
the
base
binary set in a file system
accessible to the target machine.
A local file system is preferred, since the NFS subsystem in the
NetBSD6.0
kernel may be incompatible with your old binaries.

Back up your pre-existing kernel and copy the 6.0
kernel into your root partition
(/).

Reboot with the 6.0 kernel into single-user mode.
(Otherwise you can not install the boot block.)

Check all file systems:

# /sbin/fsck -pf

Mount all local file systems:

# /sbin/mount -a -t nonfs

If you keep
/usr
or
/usr/share
on an NFS server, you
will want to mount those file systems as well.
To do this, you will need to enable the network:

# sh /etc/rc.d/network start

Make sure you are in the root file system
(/ and extract the)
base
binary set:

At this point you may extract any other binary sets
you may have placed on local file systems, or you may
wish to extract additional sets at a later time.
To extract these sets, use the following commands:

# cd /# pax -zrvpe -f path_to_set

Note:

You should not
extract the
etc
set if upgrading.
Instead, you should extract that set into another
area and carefully merge the changes by hand.

Compatibility Issues With Previous NetBSD Releases

Users upgrading from previous versions of
NetBSD
may wish to bear the
following problems and compatibility issues in mind when upgrading to
NetBSD
6.0.

Note that
sysinst
will automatically invoke

postinstall fix

and thus all issues that are fixed by
postinstall
by default (see below) will be handled.

The pthread libraries from previous versions of
NetBSD
require that the
sysctl(3)
node
kern.no_sa_support
be set to
0.
This affects the following environments:

Running a 5.0 kernel with an older userland.

Running an older userland inside a chroot'ed environment on a 5.0 system.

Running older statically linked pthread applications.

The 5.0 kernel defaults to
0
for
kern.no_sa_support,
which covers the first case.
However, please note that a full installation of 5.0
(either from scratch or through an upgrade)
will set
kern.no_sa_support
to 1 during the boot process.
This means that for the last two cases, you will have to manually set
kern.no_sa_support
to
0,
using either the
sysctl(8)
command or through
sysctl.conf(5).

The implementation of SHA2-HMAC in KAME_IPSEC as used in NetBSD-5
and before did not comply to current standards.
FAST_IPSEC does, with the result that old and new systems cannot
communicate over IPSEC, if one of the affected authentication
algorithms (hmac_sha256, hmac_sha384, hmac_sha512) is used.

The users
`_httpd'
and
`_timedc'
and the groups
`_httpd'
and
`_timedc'
need to be created.

Unprivileged use of the
mount(8)
command now requires the
nosuid
and
nodev
options to be explicitly specified.
Previously, these options were automatically enforced even if they
were not explicitly specified.

A number of things have been removed from the
NetBSD
6.0 release.
See the "Components removed from NetBSD" section near the beginning of
this document for a list.

Using online NetBSD documentation

Documentation is available if you installed the manual
distribution set.
Traditionally, the
``man pages''
(documentation) are denoted by
`name(section)'.
Some examples of this are

intro(1),

man(1),

apropos(1),

passwd(1),
and

passwd(5).

The section numbers group the topics into several categories, but three
are of primary interest: user commands are in section 1, file formats
are in section 5, and administrative information is in section 8.

The man
command is used to view the documentation on a topic, and is
started by entering
man
[section]
topic.
The brackets
[]
around the
section should not be entered, but rather indicate that the section is
optional.
If you don't ask for a particular section, the topic with the
lowest numbered section name will be displayed.
For instance, after logging in, enter

# man passwd

to read the documentation for
passwd(1).
To view the documentation for
passwd(5),
enter

# man 5 passwd

instead.

If you are unsure of what man page you are looking for, enter

# apropos subject-word

where
subject-word
is your topic of interest; a list of possibly
related man pages will be displayed.

Administrivia

If you've got something to say, do so!
We'd like your input.
There are various mailing lists available via the mailing list
server at
majordomo@NetBSD.org.
To get help on using the mailing
list server, send mail to that address with an empty body, and it will
reply with instructions. See
http://www.NetBSD.org/mailinglists/
for a web interface.

There are various mailing lists set up to deal with comments and
questions about this release.
Please send comments to:
netbsd-comments@NetBSD.org.

To report bugs, use the
send-pr(1)
command shipped with
NetBSD,
and fill in as much information about the problem as you can.
Good bug reports include lots of details.

If
you're interested in doing a serious amount of work on a specific
port, you probably should contact the
`owner'
of that port (listed
below).

If you'd like to help with this effort, and have an idea as to how
you could be useful, send us mail or subscribe to:
netbsd-users@NetBSD.org.

As a favor, please avoid mailing huge documents or files to these
mailing lists.
Instead, put the material you would have sent up for FTP or WWW somewhere,
then mail the appropriate list about it, or, if you'd rather not do that,
mail the list saying you'll send the data to those who want it.

Thanks go to

The former members of UCB's Computer Systems Research Group,
including (but not limited to):

The Columbia University Computer Science Department for hosting
the NYC build cluster.

The Western Washington University Computer Science Department
for running the WWU build cluster.

The many organizations that provide
NetBSD
mirror sites.

Without CVS, this project would be impossible to manage, so our hats
go off to Brian Berliner, Jeff Polk, and the various other people
who've had a hand in making CVS a useful tool.

We list the individuals and organizations
that have made donations or loans of hardware and/or money, to support
NetBSD
development, and deserve credit for it at
http://www.NetBSD.org/donations/
(If you're not on that list and should be, tell us!
We probably were not able to get in touch with you, to verify that you
wanted to be listed.)

Finally, we thank all of the people who've put sweat and tears into
developing
NetBSD
since its inception in January, 1993.
(Obviously, there are a lot more people who deserve thanks here.
If you're one of them, and would like to be mentioned, tell us!)

Legal Mumbo-Jumbo

All product names mentioned herein are trademarks or registered
trademarks of their respective owners.

The following notices are required to satisfy the license terms of
the software that we have mentioned in this document:

NetBSD is a registered trademark of The NetBSD Foundation, Inc.

This product includes software developed by the University of
California, Berkeley and its contributors.

This product includes software developed by the NetBSD Foundation.

This product includes software developed by The NetBSD
Foundation, Inc. and its contributors.

This product includes software developed for the
NetBSD Project. See http://www.netbsd.org/ for
information about NetBSD.

This product includes software developed by Intel Corporation and
its contributors.

This product includes cryptographic software written by
Eric Young (eay@cryptsoft.com)

This product includes cryptographic software written by
Eric Young (eay@mincom.oz.au)

This product includes software designed by William Allen Simpson.

This product includes software developed at Ludd, University of
Lulea, Sweden and its contributors.

This product includes software developed at Ludd, University of Lulea.

This product includes software developed at the Information
Technology Division, US Naval Research Laboratory.

This product includes software developed by
David Jones and Gordon Ross

This product includes software developed by
Hellmuth Michaelis and Joerg Wunsch

This product includes software developed by
Internet Research Institute, Inc.

This product includes software developed by
Leo Weppelman and Waldi Ravens.

This product includes software developed by Mika Kortelainen

This product includes software developed by Aaron Brown and
Harvard University.

This product includes software developed by Adam Ciarcinski for
the NetBSD project.

This product includes software developed by Adam Glass and Charles M.
Hannum.

This product includes software developed by Adam Glass.

This product includes software developed by Advanced Risc Machines
Ltd.

This product includes software developed by Alex Zepeda, and
Colin Wood for the NetBSD Projet.

This product includes software developed by Alex Zepeda.

This product includes software developed by Amancio Hasty and
Roger Hardiman

This product includes software developed by Berkeley Software Design, Inc.

This product includes software developed by Bill Paul.

This product includes software developed by Bodo Moeller.
(If available, substitute umlauted o for oe)

This product includes software developed by Boris Popov.

This product includes software developed by Brini.

This product includes software developed by Bruce M. Simpson.

This product includes software developed by Causality Limited.

This product includes software developed by Charles Hannum.

This product includes software developed by Charles M. Hannum, by the
University of Vermont and State Agricultural College and Garrett A.
Wollman, by William F. Jolitz, and by the University of California,
Berkeley, Lawrence Berkeley Laboratory, and its contributors.

This product includes software developed by Christopher G. Demetriou
for the NetBSD Project.

This product includes software developed by Christopher G. Demetriou.

This product includes software developed by Christos Zoulas.

This product includes software developed by Chuck Silvers.

This product includes software developed by Colin Wood
for the NetBSD Project.

This product includes software developed by Colin Wood.

This product includes software developed by Daan Vreeken.

This product includes software developed by Daishi Kato

This product includes software developed by Daniel Widenfalk
and Michael L. Hitch.

This product includes software developed by Daniel Widenfalk
for the NetBSD Project.

This product includes software developed by Dean Huxley.

This product includes software developed by Eric S. Hvozda.

This product includes software developed by Eric S. Raymond

This product includes software developed by Eric Young (eay@@mincom.oz.au)

This product includes software developed by Eric Young (eay@cryptsoft.com)

This product includes software developed by Eric Young (eay@mincom.oz.au)

This product includes software developed by K. Kobayashi.

This product includes software developed by K. Kobayashi and H. Shimokawa.

This product includes software developed by Ezra Story and by Kari
Mettinen.

This product includes software developed by Ezra Story, by Kari
Mettinen and by Bernd Ernesti.

This product includes software developed by Ezra Story, by Kari
Mettinen, Michael Teske and by Bernd Ernesti.

This product includes software developed by Ezra Story, by Kari
Mettinen, and Michael Teske.

This product includes software developed by Ezra Story.

This product includes software developed by Florian Stoehr.

This product includes software developed by Frank van der Linden for
the NetBSD Project.

This product includes software developed by Gardner Buchanan.

This product includes software developed by Garrett D'Amore.

This product includes software developed by Gary Thomas.

This product includes software developed by Gordon Ross

This product includes software developed by Harvard University and
its contributors.

This product includes software developed by Harvard University.

This product includes software developed by Henrik Vestergaard Draboel.

This product includes software developed by Herb Peyerl.

This product includes software developed by Hidetoshi Shimokawa.

This product includes software developed by Ian W. Dall.

This product includes software developed by Ignatios Souvatzis
for the NetBSD Project.

This product includes software developed by Internet
Initiative Japan Inc.

This product includes software developed by James R. Maynard III.

This product includes software developed by Jason L. Wright

This product includes software developed by Jason R. Thorpe
for And Communications, http://www.and.com/

This product includes software developed by Joachim Koenig-Baltes.

This product includes software developed by Jochen Pohl for
The NetBSD Project.

This product includes software developed by Joerg Wunsch

This product includes software developed by John Birrell.

This product includes software developed by John P. Wittkoski.

This product includes software developed by John Polstra.

This product includes software developed by Jonathan R. Stone
for the NetBSD Project.

This product includes software developed by Jonathan Stone
and Jason R. Thorpe for the NetBSD Project.

This product includes software developed by Jonathan Stone.

This product includes software developed by Julian Highfield.

This product includes software developed by Kazuhisa Shimizu.

This product includes software developed by Kazuki Sakamoto.

This product includes software developed by Kenneth Stailey.

This product includes software developed by Kiyoshi Ikehara.

This product includes software developed by Klaus Burkert,by Bernd
Ernesti, by Michael van Elst, and by the University of California,
Berkeley and its contributors.

This product includes software developed by LAN Media Corporation
and its contributors.

This product includes software developed by Lloyd Parkes.

This product includes software developed by Lutz Vieweg.

This product includes software developed by MINOURA Makoto,
Takuya Harakawa.

This product includes software developed by Marc Horowitz.

This product includes software developed by Marcus Comstedt.

This product includes software developed by Mark Brinicombe for
the NetBSD project.

This product includes software developed by Mark Brinicombe.

This product includes software developed by Mark Tinguely and Jim Lowe

This product includes software developed by Markus Wild.

This product includes software developed by Masanobu Saitoh.

This product includes software developed by Masaru Oki.

This product includes software developed by Matthew Fredette.

This product includes software developed by Michael Smith.

This product includes software developed by Mike Pritchard.

This product includes software developed by Mike Pritchard and
contributors.

This product includes software developed by Minoura Makoto.

This product includes software developed by Niels Provos.

This product includes software developed by Niklas Hallqvist,
Brandon Creighton and Job de Haas.

This product includes software developed by Niklas Hallqvist.

This product includes software developed by Paul Kranenburg.

This product includes software developed by Paul Mackerras.

This product includes software developed by Per Fogelstrom

This product includes software developed by Peter Galbavy.

This product includes software developed by Phase One, Inc.

This product includes software developed by Philip A. Nelson.

This product includes software developed by RiscBSD.

This product includes software developed by Roar Thronæs.

This product includes software developed by Rodney W. Grimes.

This product includes software developed by Roger Hardiman

This product includes software developed by Rolf Grossmann.

This product includes software developed by Ross Harvey
for the NetBSD Project.

This product includes software developed by Ross Harvey.

This product includes software developed by Scott Bartram.

This product includes software developed by Scott Stevens.

This product includes software developed by Shingo WATANABE.

This product includes software developed by Softweyr LLC, the
University of California, Berkeley, and its contributors.

This product includes software developed by Stephan Thesing.

This product includes software developed by Steven M. Bellovin.

This product includes software developed by Takashi Hamada.

This product includes software developed by Takumi Nakamura.

This product includes software developed by Tatoku Ogaito
for the NetBSD Project.

This product includes software developed by Terrence R. Lambert.

This product includes software developed by TooLs GmbH.

This product includes software developed by Trimble Navigation, Ltd.

This product includes software developed by WIDE Project and
its contributors.

This product includes software developed by Waldi Ravens.

This product includes software developed by Wasabi Systems for
Zembu Labs, Inc. http://www.zembu.com/

This product includes software developed by Winning Strategies, Inc.

This product includes software developed by Wolfgang Solfrank.

This product includes software developed by Yasushi Yamasaki.

This product includes software developed by Yen Yen Lim and
North Dakota State University.

This product includes software developed by Zembu Labs, Inc.

This product includes software developed by the Alice Group.

This product includes software developed by the Center
for Software Science at the University of Utah.

This product includes software developed by the Charles D. Cranor,
Washington University, University of California, Berkeley and
its contributors.

This product includes software developed by the Computer Systems
Engineering Group at Lawrence Berkeley Laboratory.

This product includes software developed by the David Muir Sharnoff.

This product includes software developed by the Harvard
University and its contributors.

This product includes software developed by the Network Research
Group at Lawrence Berkeley Laboratory.

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)

This product includes software developed by the PocketBSD project
and its contributors.

This product includes software developed by the RiscBSD kernel team

This product includes software developed by the RiscBSD team.

This product includes software developed by the SMCC Technology
Development Group at Sun Microsystems, Inc.

This product includes software developed by the University of
California, Berkeley and its contributors, as well as the Trustees of
Columbia University.

This product includes software developed by the University of
California, Lawrence Berkeley Laboratory and its contributors.

This product includes software developed by the University of
California, Lawrence Berkeley Laboratory.

This product includes software developed by the University of
Illinois at Urbana and their contributors.

This product includes software developed by the Urbana-Champaign
Independent Media Center.

This product includes software developed by the University of
Vermont and State Agricultural College and Garrett A. Wollman.

This product includes software developed by the University of Vermont
and State Agricultural College and Garrett A. Wollman, by William F.
Jolitz, and by the University of California, Berkeley, Lawrence
Berkeley Laboratory, and its contributors.

This product includes software developed for the FreeBSD project

This product includes software developed for the NetBSD Project
by Bernd Ernesti.

This product includes software developed for the NetBSD Project
by Christopher G. Demetriou.

This product includes software developed for the NetBSD Project
by Emmanuel Dreyfus.

This product includes software developed for the NetBSD Project
by Frank van der Linden

This product includes software developed for the NetBSD Project
by Ignatios Souvatzis.

This product includes software developed for the NetBSD Project
by Jason R. Thorpe.

This product includes software developed for the NetBSD Project
by John M. Vinopal.

This product includes software developed by Kyma Systems.

This product includes software developed for the NetBSD Project by
Kyma Systems LLC.

This product includes software developed for the NetBSD Project
by Matthias Drochner.

This product includes software developed for the NetBSD Project
by Perry E. Metzger.

This product includes software developed for the NetBSD Project
by Scott Bartram and Frank van der Linden

This product includes software developed for the NetBSD Project by
Allegro Networks, Inc., and Wasabi Systems, Inc.

This product includes software developed for the NetBSD Project by
Genetec Corporation.

This product includes software developed for the NetBSD Project by
Jonathan Stone.

This product includes software developed for the NetBSD Project by
Piermont Information Systems Inc.

This product includes software developed for the NetBSD Project by
SUNET, Swedish University Computer Network.

This product includes software developed for the NetBSD Project by
Shigeyuki Fukushima.

This product includes software developed for the NetBSD Project by
Wasabi Systems, Inc.

This product includes software developed under OpenBSD by
Per Fogelstrom Opsycon AB for RTMX Inc, North Carolina, USA.

This product includes software developed under OpenBSD by
Per Fogelstrom.

This software is a component of "386BSD" developed by
William F. Jolitz, TeleMuse.

This software was developed by Holger Veit and Brian Moore
for use with "386BSD" and similar operating systems.
"Similar operating systems" includes mainly non-profit oriented
systems for research and education, including but not restricted to
"NetBSD", "FreeBSD", "Mach" (by CMU).

This software includes software developed by the Computer Systems
Laboratory at the University of Utah.

This product includes software developed by Computing Services
at Carnegie Mellon University (http://www.cmu.edu/computing/).

This product includes software developed by Marshall M. Midden.

This product includes software developed or owned by Caldera
International, Inc.

The Institute of Electrical and Electronics Engineers and The Open Group,
have given us permission to reprint portions of their documentation.

In the following statement, the phrase ``this text'' refers to portions
of the system documentation.

Portions of this text are reprinted and reproduced in electronic form in
NetBSD, from IEEE Std 1003.1, 2004 Edition, Standard for
Information Technology -- Portable Operating System Interface (POSIX),
The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the
Institute of Electrical and Electronics Engineers, Inc and The Open Group.
In the event of any discrepancy between these versions and the original
IEEE and The Open Group Standard, the original IEEE and The Open Group
Standard is the referee document.

The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html.