Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Dec 2014 23:01:21 +0800
From:      Tur-Wei Chan <twchan@singnet.com.sg>
To:        freebsd-arm@freebsd.org
Subject:   Re: Cross-Compiling RPi Ports From amd64 Using Native Toolchain
Message-ID:  <54A2BE41.8010601@singnet.com.sg>
In-Reply-To: <CAGL1beBRzB7%2B5Ncbtb380kAyBqVb6eq-nZxMcVnJHyh4HbGwqw@mail.gmail.com>
References:  <CAGL1beBRzB7%2B5Ncbtb380kAyBqVb6eq-nZxMcVnJHyh4HbGwqw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

On 30/12/2014 6:35 AM, Jeremy Brown wrote:
> I'm trying to write a script that will create a custom FreeBSD image for a
> Raspberry Pi that includes a precompiled set of ports. I'm using Crochet
> for the heavy lifting and it's mostly finished except for the compiling the
> ports on the image. I managed to get it working using full-emulation with
> qemu but it's ridiculously slow, and now I'm trying to use the native
> toolchain to speed up the build.
> This is where everything's gotten difficult. I've been beating my head for
> the past week or so and I can't even get make to proceed past the configure
> stage. Right now I have two issues:
> 1) cpp fails the sanity check with a syntax error around the headers; I
> don't know why, as I've replaced the toolchain's include directory with a
> symlink to the system's directory.
> 2) I get the error ELF interpreter /libexec/elf-ldconfig.so.1 cannot be
> found, more or less. I've tried symlinking the system's file in to replace
> the toolchain's one, but I didn't suppose that didn't help since they were
> for different architectures.
> Can anyone help me solve these, or point me to a location where they've
> been solved already? I've tried following the qemu howto
> <https://wiki.freebsd.org/QemuUserModeHowTo>; but it doesn't work for me.
>
> -Jeremy
> _______________________________________________
> freebsd-arm@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"

I managed to use crochet and the QemuUserModeHowTo to build some ports 
for the RPi.  What bit me in the process was that the "Cross Building 
Using The Host Cross Compiler" section had to be followed to a T - in 
particular, the built cross toolchain in /usr/obj/usr/src/tmp must be 
moved to <chroot_root>/usr/obj wholesale, the local headers symlink 
made, and the cross-CC environment variables set up.  The error in #2 
above seems to indicate that the cross tool is not statically linked, so 
maybe the wrong toolchain is in use.

The second gotcha turned out to be the mysterious-sounding "Add the 
miscellaneous binary image activator patch to FreeBSD" section.  I 
didn't understand what that was for till various python scripts that 
start with shebangs (#!/usr/local/bin/python2.7) would fail to be loaded 
as python scripts.  Invoking the image activator magic allowed that part 
to be solved.


Regards

   -T.W.Chan-




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54A2BE41.8010601>