# 8.0 i386 -> amd64?



## nsayer (May 29, 2010)

Google has found for me this message from 2004 about upgrading 5.3 from i386 to amd64.

1. Is this still the state of the art - do a cross-compile build-world, then boot into amd64 - perhaps from a live CD, then mount your filesystems and do an installworld?

2. Having done this (using the amd64 GENERIC kernel), can I expect most "normal" stuff to work in 32 bit compatibility mode as I transition my ports over time? Specifically, this machine runs sendmail, Cyrus IMAP, Apache 2, PHP, PostgreSQL and Java along with a few Milters and various other utilities. No X, nothing particularly hardware specific.

3. it's make buildworld TARGET=amd64, right?

4. Any other gotchas anyone care to mention?


----------



## phoenix (May 29, 2010)

You'll save yourself a lot of time, aggravation, and trouble by just backing up your data,  re-installing using the 64-bit version, re-installing your apps, and restoring your data.


----------



## nsayer (May 30, 2010)

Actually, it wasn't bad. 

I did the cross buildworld, then made full dumps (I'm confident, but not foolish), and booted from the 8.0 AMD64 DVD. I went into fixit mode with the DVD live fs, then made myself a chrooted shell on the livefs. I mounted my system starting at mnt, then mounted devfs and did loopback mounts of /tmp, /var/tmp, /usr/src and /usr/obj. Then I did installworld DESTDIR=/mnt and stood back.  

The only nuance was that, as mentioned in the adjacent thread, that failed to install /libexec/ld-elf.so, but a separate make install for that fixed it. 

Now I find I'm going to basically have to reinstall all of the ports. It's not that the compatible mode doesn't work so much as the unterlocking dependencies make it so. But at least I can do so in multiuser mode with everything basically working.


----------

