Updating i386 in-place to amd64

Ruslan Ermilov ru at FreeBSD.org
Thu Dec 22 14:11:28 PST 2005

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.  :-)

Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-amd64/attachments/20051223/a1dc5fae/attachment.bin

More information about the freebsd-amd64 mailing list