How to convert from i386 to amd64

Sean McNeil sean at
Mon Jul 12 16:34:10 PDT 2004

On Mon, 2004-07-12 at 16:17, george+freebsd at wrote:
> The following are probably all frequently-asked questions, but I haven't
> been able to find the answers yet.
> 1. How can I compile an amd64 kernel while running an i386 kernel?  The
> CPU I'm on is and amd64, if that matters.

I started with an i386 installation on my machine and recompiled for
amd64.  Here is what I did:

Made a kernel config file from generic one in /sys/amd64/conf. I called
mine AMD64.

make TARGET_ARCH=amd64 buildworld
make TARGET_ARCH=amd64 KERNCONF=AMD64 buildkernel
make TARGET_ARCH=amd64 KERNCONF=AMD64 installkernel
cp /libexec/ /libexec/
reboot into single user mode.
make TARGET_ARCH=amd64 installworld

This was really a big pain and I'd recommend installing from a CD.

I'm also not certain I've captured all the steps above correctly.  This
is by memory and I didn't document as I performed the steps.  My largest
problems were with databases.  They are not directly compatable and I
had to rebuild them (postgres and db41 databases).

> 2. Will i386 applications run on an amd64 kernel, or do I have to update
> the whole world before I can do anything after installing an amd64
> kernel on this machine?

It works to some extent, but i386 support isn't complete.  It worked
well enough to install over world.  The largest thing missing is a
correct /libexec/ and a compat library setup.

Linux i386 compatability has also shown up as patches and was working
for a few people.  It hasn't been mentioned in a while, though.

Best of luck.  I'm very happy with my amd64 system and hope you get
things setup to your satisfaction.


More information about the freebsd-amd64 mailing list