xref: /netbsd/distrib/notes/common/upgrade (revision c4a72b64)
$NetBSD: upgrade,v 1.20 2002/07/22 14:16:29 lukem Exp $

Copyright (c) 1999-2002 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.

. .

p The upgrade to .Nx \*V is a binary upgrade; it can be quite difficult to update the system from an earlier version by recompiling from source, primarily due to interdependencies in the various components.

p To do the upgrade, you must first boot the system as described in the .Sx Booting the installer section. .\} To do the upgrade, you must boot from the installer kernel using one of the methods described above. .\} To do the upgrade, you must install new bootblocks and boot off the c install kernel as described in the .Sx Installing from an existing system section. .\} As noted above, you must have the

a loadbsd.x utility and the installation kernel you chose, or, the boot floppies available to do the upgrade. .\} To do the upgrade, you must have the boot floppy available. .\}\}\}\} You must also have at least the .Sy base and .Sy 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 files already installed on the system are overwritten in place, you only need additional free space for files which weren't previously installed or to account for growth of the sets between releases. If you have a few megabytes free on each of your root

q Pa / and

a /usr partitions, you should have enough space.

p 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. Since installation of the bootloader will prevent .Tn Mac OS from using the disk and will prevent Open Firmware 3 machines from booting, there is an option to bypass this step. Make sure you know whether or not to install the bootloader. .\}

p The upgrade procedure using the c sysinst tool is similar to an installation, but without the hard disk partitioning. The original

a /etc directory is renamed to

a /etc.old , and no attempt is made to merge any of the previous configuration into the new system except that the previous

a /etc/fstab file is copied into the new configuration. 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. file systems are checked before unpacking the sets.

p 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

a /dev . If you've changed the contents of

a /dev by hand, you will need to be careful about this, but if not, you can just cd into

a /dev , and run the command:

p .Dl # Ic "sh MAKEDEV all"

p 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.