Cross compiling for i386

Ruslan Ermilov ru at freebsd.org
Tue Feb 15 11:55:17 PST 2005


On Tue, Feb 15, 2005 at 02:11:55PM +0000, David Taylor wrote:
> I've recently purchased an AMD Athlon 64 3500+ with an MSI K8T Neo2
> motherboard, and FreeBSD seems to work quite well with it.  Other than the 
> re0 NIC's problems with hardware checksumming for UDP.  Also I can't
> get make build32 to complete without compiler errors, but that's not
> critical for now.
> 
> On to the main point of this e-mail:
> 
> I also have an i386 workstation, which is significantly slower at building
> world.  I tried to cross-build the world on the amd64 box, then install it
> over an NFS mount.  Eventually, I managed to persuade it to build and
> install, but it's not really a process I'd like to repeat every time I
> update...
> 
> I managed to eventually complete a single build/install world cycle by doing
> something like:
> 
> <amd64 box>$ cd /usr/src; make buildworld TARGET_ARCH=i386
> <i386 box> $ mount <amd64>:/usr/src /usr/src
> <i386 box> $ mount <amd64>:/usr/obj /usr/obj
> <i386 box> $ make installworld
> 
> This however had a few problems.  Running installworld caused the i386 box
> to attempt to write to /usr/src, due to newvers.sh, so I needed to mount
> /usr/src rw.  Also the built objects appeared to be in /usr/obj/i386, whilst
> installworld was looking at /usr/obj.
> 
> Then, installworld wanted i386 tools to install with, so I ended up trying
> 
> make _worldtmp _legacy _bootstrap-tools _build-tools _cross-tools
> 
> I'm not sure they were _all_ required, but eventually it completed a
> installworld.  But not before I did manually copied ls and dd into
> $INSTALLTMP.  btxld also failed to compile for some reason (i.e. it wasn't
> built, no errors) worked correctly when manually built.
> 
> The only problem I had with the resulting world was the installed locales
> in /usr/share/locale/ were invalid (32 vs 64 bit field somewhere?), and
> fortune coredumped when ran.  That was fixed easily enough by recompiling
> libc and fortune on the i386 box.
> 
> Is this supposed to be possible/supported?  And does anyone have any ideas
> how to make it work more automatically?
> 
No, this is not supported at all.  What's supported is mounting i386's
/, /usr, and /var onto /mnt, /mnt/usr, and /mnt/var, and doing the
installworld with DESTDIR=/mnt from amd64.


Cheers,
-- 
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/20050215/e1b2b33e/attachment.bin


More information about the freebsd-amd64 mailing list