From owner-freebsd-amd64@FreeBSD.ORG Tue Feb 15 15:15:11 2005 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07E4A16A544 for ; Tue, 15 Feb 2005 15:15:11 +0000 (GMT) Received: from mail.gattaca.yadt.co.uk (gattaca.yadt.co.uk [81.187.204.179]) by mx1.FreeBSD.org (Postfix) with SMTP id 7AA3843D46 for ; Tue, 15 Feb 2005 15:15:09 +0000 (GMT) (envelope-from davidt@yadt.co.uk) Received: (qmail 46650 invoked by uid 1000); 15 Feb 2005 14:11:55 -0000 Date: Tue, 15 Feb 2005 14:11:55 +0000 From: David Taylor To: freebsd-amd64@freebsd.org Message-ID: <20050215141155.GA29160@gattaca.yadt.co.uk> Mail-Followup-To: freebsd-amd64@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline User-Agent: Mutt/1.4.2.1i Subject: Cross compiling for i386 X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Feb 2005 15:15:11 -0000 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: $ cd /usr/src; make buildworld TARGET_ARCH=i386 $ mount :/usr/src /usr/src $ mount :/usr/obj /usr/obj $ 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? -- David Taylor davidt@yadt.co.uk "The future just ain't what it used to be"