Building an image for Raspberry Pi

Warner Losh imp at bsdimp.com
Sun Apr 6 15:59:06 UTC 2014


On Apr 5, 2014, at 11:14 AM, Tim Kientzle <tim at kientzle.com> wrote:

> 
> On Apr 2, 2014, at 11:14 PM, Shawn Webb <lattera at gmail.com> wrote:
> 
>> On Apr 03, 2014 01:41 AM -0400, Glen Barber wrote:
>>> You need to build the XDEV stuff for the build environment.
>>> 
>>> Something like: make -C /usr/src XDEV=arm XDEV_ARCH=armv6
>>> 
>>> should do the trick.
>> 
>> Yeah, I have the xdev stuff installed. It kinda seems like just using
>> this xdev stuff isn't sufficient. It seems u-boot might require some
>> gcc-centric items (though I'm unsure what they are).
> 
> Unfortunately, my time has been rather cramped, though
> Tom Everett and Patrick Kelsey have been doing a bunch
> of Crochet work recently.
> 
> The confusing part about U-Boot is that it requires two different compilers to build:
> 
> * Building the U-Boot loader needs an ARM cross-compiler and relies on GCC-specific options.
> 
> * U-Boot also builds some tools that run on the build host; that uses a different native compiler and does not seem to rely on GCC-specific features.
> 
> For the host tools, setting HOSTCC=cc always worked well
> for me.  I never had any problems with clang or gcc as the
> native host compiler for that part of U-Boot.
> 
> For the loader itself, you can try the XDEV tools (which last
> I checked still built GCC) or you can try the ARM EABI
> GCC cross-compiler from ports (which may be broken; I
> volunteered to maintain it and then ran out of time to work on it).
> 
> One specific GCC-ism used by U-Boot (an option to reserve
> a specific CPU register for global data) was added to clang
> recently but I don't know if that's reached FreeBSD yet.  That
> might allow clang to build the U-Boot loader, but it will require
> some work: the XDEV target also builds ARM binutils and
> cross-libraries which are essential.

With the switch to clang on arm recently, the XDEV tools have started building a clang compiler. Should we force it to build a gcc compiler instead?

Warner



More information about the freebsd-arm mailing list