.\" $NetBSD: upgrade,v 1.1.2.1 1999/05/05 01:17:43 perry 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.
.\"
.
.
.ie r_arm32 \{\
.
.
Upgrading from a previous version of
.Nx
isn't currently supported by
NetBSD/arm32. If you are currently running NetBSD/arm32 then make a
FULL BACKUP of your current installation, and install
.Nx \*V
from scratch. Obviously some of the steps can be skipped (in particular,
hard disk partitioning) as they will already be done.
.
.
.\}
.el \{\
.
.
.Pp
The upgrade to
.Nx \*V
is a binary upgrade; it can be quite difficult
to advance to a later version by recompiling from source due primarily
to interdependencies in the various components.
.Pp
.ie r_pmax \{\
To do the upgrade, you must install new bootblocks and boot off
the
.Ic install
kernel as described in the
.Sx Installing from an existing system
section.
.\}
.el \{\
To do the upgrade, you must have the boot floppy
.if r_alpha set
available.
.\}
You must also have at least the
.Ic base No and Ic kern
binary distribution sets available, so that you can upgrade with them,
using one of the upgrade methods described above. Finally, you must
have sufficient disk space available to install the new binaries.
Since the old binaries are being overwritten in place, you only need
space for the new binaries, which weren't previously on the system.
If you have a few megabytes free on each of your root and
.Pa /usr
partitions, you should have enough space.
.Pp
Since upgrading involves replacing the boot blocks on your
.Nx
partition, the kernel, and most of the system binaries, it has the
potential to cause data loss. You are strongly advised to
.Em back up any important data on your disk ,
whether on the
.Nx
partition or on
another operating system's partition, before beginning the upgrade
process.
.Pp
The upgrade procedure using the
.Ic sysinst No tool is similar to
an installation, but without the hard disk partitioning.
Another difference is that existing configuration files in
.Pa /etc
are backed up and merged with the new files. Getting the binary
sets is done in the same manner as the installation procedure;
refer to the installation part of the document
for how to do this. Also, some sanity checks are done, i.e.
filesystems are checked before unpacking the sets.
.Pp
After a new kernel has been copied to your hard disk, your
machine is a complete
.Nx \*V
system. However, that
doesn't mean that you're finished with the upgrade process.
You will probably want to update the set of device
nodes you have in
.Pa /dev .
If you've changed the contents of
.Pa /dev
by hand, you will need to be careful about this, but if
not, you can just cd into
.Pa /dev No , and run the command
.Dl sh MAKEDEV all
.Pp
You must also deal with certain changes in the formats of
some of the configuration files. The most notable change is
that the options given to many of the file systems in
.Pa /etc/fstab
have changed, and some of the file
systems have changed names. To find out what the new options
are, it's suggested that you read the manual page
for the file systems' mount commands, for example
.Xr mount_nfs 8
for NFS.
.Pp
Finally, you will want to delete old binaries that were part
of the version of
.Nx
that you upgraded from and have since been removed from the
.Nx
distribution. 
.\}
