Rasbperry Pi, what should TARGET_ARCH be?
imp at bsdimp.com
Sat Jan 25 17:50:53 UTC 2014
On Jan 24, 2014, at 9:40 PM, Glen Barber wrote:
> I've been working on adding support for embedded systems to the release
> scripts, which set up a chroot to ensure a clean build environment, then
> runs Tim's Crochet scripts.
> For the RPI-B, recent updates to the build scripts work fine for
> 11.0-CURRENT and 10.0-STABLE. However, 10.0-RELEASE images fail to
If that worked, it worked by accident.
> I showed output from 'uname -pm' out-of-band of an 11.0-CURRENT image,
> and was suspicious that the output showed 'arm arm', not 'arm armv6'.
> Warner had the same impression it should be 'arm armv6'.
> Hiren poked around the Crochet code, and saw that 'TARGET_ARCH=arm' is
> set for the RaspberryPi board by default.
This is incorrect.
> As a "just in case" experiment, I retried the 10.0-RELEASE code
> (release/10.0.0/) with TARGET_ARCH=armv6, and sure enough, it works.
> But, I don't know *why*.
It works because that's the architecture that the RPi runs.
> Is this a change between head/ and stable/10/ versus releng/10.0/ ?
> I can handle a differentiation between the branches with regard to this
> (sort of), but I want to make sure the correct TARGET_ARCH is being set
> across the different branches, so it can be handled properly in the
> build scripts, and usable images can be produced.
The definition should be the same on both branches. You must use TARGET_ARCH=armv6 on all known branches to produce working code. You might get lucky and get TARGET_ARCH=arm and have it work, but that's most definitely not a supported configuration.
> So, what should be used? And where?
For RPi, TARGET_ARCH=armv6 everywhere on all branches >= 9. RPi isn't supported 8 and lower.
> Thanks for any input,
More information about the freebsd-arm