summaryrefslogtreecommitdiff
path: root/distrib/notes/i386/upgrade
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-09-10 19:12:17 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-09-10 19:12:17 +0000
commitaa1d96ed302f27dceabb5f24bf8c2e432f7fc534 (patch)
tree427aed79542d569a76e6d0f917454c8a23637298 /distrib/notes/i386/upgrade
parent08086a5bf730ada30baca8159952fc5c055eba72 (diff)
Do not mention a.out upgrades anymore, they are not supported anymore.
Diffstat (limited to 'distrib/notes/i386/upgrade')
-rw-r--r--distrib/notes/i386/upgrade110
1 files changed, 3 insertions, 107 deletions
diff --git a/distrib/notes/i386/upgrade b/distrib/notes/i386/upgrade
index 4f7bb9ac73b..386847f8054 100644
--- a/distrib/notes/i386/upgrade
+++ b/distrib/notes/i386/upgrade
@@ -1,107 +1,3 @@
-dnl $OpenBSD: upgrade,v 1.24 2004/03/28 20:38:09 millert Exp $
-dnl OpenBSDUpgrade({:-the CD-ROM or an installation floppy as you would do for
-dnl a new installation-:})
-Prior to version 3.4, OpenBSD used the a.out binary format. Beginning
-with version 3.4, OpenBSD uses the ELF binary format. Because of
-this, upgrades from a version of OpenBSD prior to 3.4 can be a
-complex, delicate process. The best solution, whenever possible,
-is to back up your data and reinstall from scratch.
-
-The second best solution is to remove all ports, third party programs
-and libraries installed on your system; upgrade; and then add ELF
-versions of the removed files.
-
-In all cases, once you start the upgrade you MUST complete it. If
-the upgrade process fails, or is abandoned before it completes, you
-will almost certainly be left with a non-functional system.
-
-If upgrading from a version of OpenBSD prior to 3.4, you cannot use
-the bsd.rd kernel to upgrade the system. The existing bootblocks
-on your system cannot boot the OSREV bsd.rd--use the bsd.rd-a.out
-kernel instead.
-
-If you must do an upgrade while preserving the functionality of any
-existing a.out binary files, then the rest of this section will guide you
-through that process.
-
-The two main hurdles in upgrading from an a.out system to an ELF OpenBSD
-OSREV system while preserving the functioning of a.out binaries are:
-- the a.out binary emulation, required for compatibility with a.out
- binaries using shared libraries, is not enabled by default, and requires
- an explicit configuration change.
-- a.out shared libraries (lib*.so) need to be moved to a specific location
- for proper operation of older binaries.
-
-Before you start the upgrade process, the a.out emulation area needs to be
-set up. It needs to be put inside an /emul/a.out hierarchy. This directory can,
-however, be a symbolic link, should the available space in the root partition
-not be enough.
-
-It is recommended that the following instructions and commands are issued in
-single-user mode.
-
-The /emul/a.out hierarchy should be populated by the a.out shared libraries.
-An easy way to do it is to run the following commands as root:
-
- mkdir -p /emul/a.out/var/run
- tar cf - /sbin/ldconfig /usr/bin/ldd /usr/libexec/ld.so |
- tar -C /emul/a.out -xpf -
- for lib in $(/sbin/ldconfig -r |
- awk '/=>/ { print $3 }');
- do
- dirname $lib;
- done | sort -u > /root/a.out-libdirs
- tar cf - $(find $(< /root/a.out-libdirs) -name "lib*.so.*") |
- tar -C /emul/a.out -xpf -
-
-Then, a cache of these shared libraries must be generated with:
-
- cp /var/run/ld.so.hints /var/run/ld.so.hints.backup
- /sbin/ldconfig -s $(/usr/bin/sed 's,^/,/emul/a.out/,' /root/a.out-libdirs)
- /bin/mv /var/run/ld.so.hints /emul/a.out/var/run
- /bin/mv /var/run/ld.so.hints.backups /var/run/ld.so.hints
-
-The last step before the upgrade is to enable the a.out emulation, in
-order to be sure that /etc/rc.local or any other customization you have
-made to the system will still run:
-
- echo "kern.emul.aout=1" >> /etc/sysctl.conf
-
-
-ATTENTION! Several configuration files under /etc, such as /etc/login.conf,
-will refer to existing a.out binaries. DO NOT UPGRADE YOUR SYSTEM UNLESS
-YOU HAVE ENABLED A.OUT EMULATION FIRST! After you merge configuration files
-changes and replace or remove your existing a.out binaries, it will be
-possible to disable a.out emulation.
-
-
-The upgrade is now possible. Boot from the CD-ROM, an installation
-floppy, or the bsd.rd-a.out kernel as you would do for a new installation.
-
-When prompted, select the (U)pgrade option rather than the (I)nstall
-option at the prompt in the install process.
-
-The upgrade script will ask you for the existing root partition, and
-will use the existing filesystems defined in /etc/fstab to install the
-new system in. It will also use your existing network parameters.
-
-From then on, the upgrade procedure is very close to the installation
-procedure described earlier in this document. Note that the upgrade
-procedure will not let you pick the ``etc{:--:}OSrev.tgz'' set, so as to
-preserve your files in `/etc' which you are likely to have customized
-since a previous installation.
-
-When the upgrade procedure tells you that the upgrade is complete, do not
-reboot the system yet.
-
-It is STRONGLY advised that you unpack the etc{:--:}OSrev.tgz set in
-a temporary directory and merge changes by hand, since all components of
-your system may not function correctly until your files in `/etc' are
-updated.
-
-After the upgrade is completed, it is possible to remove the old a.out
-shared libraries from their initial locations:
-
- rm -f $(file $(find $(< /root/a.out-libdirs) -name "lib*.so.*") |
- awk -F: '/demand paged/ { print $1 }')
- rm -f /root/a.out-libdirs
+dnl $OpenBSD: upgrade,v 1.25 2004/09/10 19:12:16 miod Exp $
+OpenBSDUpgrade({:-the CD-ROM or an installation floppy as you would do for
+a new installation-:})