Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Dec 2005 08:44:15 -0600
From:      Guy Helmer <ghelmer@palisadesys.com>
To:        Ruslan Ermilov <ru@freebsd.org>
Cc:        amd64@freebsd.org
Subject:   Re: Updating i386 in-place to amd64
Message-ID:  <43AC0D3F.5050902@palisadesys.com>
In-Reply-To: <20051222220752.GB45319@ip.net.ua>
References:  <20051222220752.GB45319@ip.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Ruslan Ermilov wrote:

>Hi there,
>
>Yesterday, I was playing updating the i386 6.0-STABLE in-place to
>amd64 (the system was initially running on i386 core, then the
>disk was moved to the Opteron server).  It succeeded, but there
>were some fun.  The idea I had is to:
>
>1) cross-build world and kernel
>2) install kernel
>3) install32
>4) reboot
>5) install world
>6) update /etc etc.
>7) remove i386 dust
>
>1-3 went fine.  On reboot, I was hoping that COMPAT_IA32 would be
>enough to run shell, make and mount* tools.  I booted into single
>user.  When it asked me to press ENTER for /bin/sh, I did this;
>it failed with SIGBUS.  I have waited some seconds, and when it
>asked it again, this time it worked (I verified several times, and
>it always worked like this).  i386 mount(8) did NOT work, so I
>had to use the "rescue" binary from /usr/obj to NFS mount /usr/src.
>After that, I fooled make(1) into thinking it runs on i386 and
>did an install of cross-built amd64 world (env MACHINE_ARCH=i386
>MACHINE=i386 TARGET_ARCH=amd64 make installworld).  This worked.
>I then updated /etc etc. from i386 to amd64 (by hand), and now
>I'm running a native amd64 world+kernel.
>
>P.S.  It would be nice to be able to run i386 world under the
>amd64 kernel, but a lot of things don't just work (of course
>mainly syscalls).
>
>P.P.S.  It would be nice to win a prize.  :-)
>
>
>Cheers,
>  
>
Wow, I'm impressed.  I was trying to do an automated, in-place i386 to 
amd64 upgrade (without source, though) back in August and never got to 
the point of successfully booting an amd64 kernel running i386 
binaries.  I did get a good idea, though, that I never followed up on: 
Matthew Fuller suggested hijacking the swap partition for a temporary 
amd64 root partition (message id 20050809124756.GA27425@over-yonder.net).

Guy Helmer




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43AC0D3F.5050902>