On Wed, May 02, 2007 at 10:55:28AM -0400, Andrew Hamilton-Wright wrote:
> I am about to install a new motherboard to recover a hardware
> failure on an OpenBSD machine. The old MB had an Intel based
> CPU, however the replacement will support AMD64.
>
> The old install was 4.0; obviously I wish to move to 4.1 at
> this time as well.
>
> I therefore want to migrate as much of the old setup as possible
> to the new kernel, and I am looking for advice on pitfalls in
> the two following strategies (and therefore which one seems the
> most direct):
>
> 1) install the amd64 system onto the root disk as a new "install",
> (ie; from CD), moving over important config from a preserved copy
> of the current /etc and /var after the first boot.
>
> 2) move to amd64 by performing an "upgrade" _on top of_ the existing
> i386 system, performing the usual upgrade path "final steps"
> to get things going.
>
> 3) "upgrade" 4.0 i386 -> 4.1 i368, and then "upgrade"
> 4.1 i386 -> 4.1 amd64
>
>
> There are existing binaries on this system I would like to keep
> running (in 32-bit mode) if possible, but I want to avoid having
> a pot-pourri of libs of various ages and compatibilities. Can
> someone provide insight into whether the amd64 upgrade will
> provide 32-bit comptible copies of all libs in the 4.0 installation?
>
>
> Any advice appreciated . . .
Reinstalling is by far the easiest way to do the i386 -> amd64 switch,
but I don't think there is a way to run 64- and 32-bit applications side
by side. And OpenBSD/amd64 certainly doesn't provide compatibility
libraries.
So, if you are running binaries that don't have a 64-bit equivalent,
you'll be stuck on i386. Worse, if they are dynamically linked, they are
almost certainly linked against the 4.0 libs, so a clean reinstall of
4.1 most probably wouldn't allow you to run them, anyway. An upgrade
will work just fine, though.
Additionally, updating is much faster than reinstalling and remarkably
painless. I'd strongly recommend you to either use the upgrade option,
or nuke and reinstall if you want to switch to amd64. Also consider
mergemaster, in ports. (And presumably mergeslave, but I've never used
that.)
Joachim
--
TFMotD: perlpodspec (1) - Plain Old Documentation: format specification
and notes