Commit Graph

2 Commits

Author SHA1 Message Date
Glen Barber
b479fd538c When bootstrapping the build chroot, the default environment is
set up for the amd64/amd64 TARGET/TARGET_ARCH combination.

Some of the build tools used here (u-boot in particular) require
use of gcc(1).  The lang/gcc* from ports/ will install as 'gccNN'
instead of 'gcc', so they cannot be used without extra hacks.

Add an EMBEDDED_WORLD_FLAGS variable to be used to properly set
up the build chroot.  For the RPI-B case, EMBEDDED_WORLD_FLAGS
is set to 'WITH_GCC=1', which is used to set up the build chroot.

While here, in followup to r260895, do not rely on the necessary
configuration files and/or scripts to exist in the build target
src/ tree.

To work around cases where files do not exist, copy (from the
local release/ checkout) the tools/${XDEV}/crochet-${KERNEL}.conf
to ${CHROOTDIR}/tmp/external/crochet-${KERNEL}.conf to make them
accessible to the external utilities that need them (i.e., crochet).

Sponsored by:	The FreeBSD Foundation
2014-01-19 22:25:57 +00:00
Glen Barber
34d63eb560 Implement cross build support for embedded devices into
release.sh:

 - Modify release/release.sh to recognize an 'EMBEDDEDBUILD'
   variable.  When set, release/release.sh will build the chroot
   userland as is done for big-iron builds.

 - Instead of running the 'buildworld', 'buildkernel', and
   'release' targets in the chroot, a separate script is run.
   The script tools/release/${XDEV}/release.sh sets up the rest
   of the chroot workspace, such as installing ports that will
   be needed, and building the 'xdev' target.

 - crochet (by kientzle@) is checked out from the upstream
   repository (and if needed, u-boot, in the case of Raspberry
   Pi).

 - tools/release/${XDEV}/release.sh then runs crochet with
   a configuration file specific to the ${KERNCONF} being built.

Note that this is effectively a first-pass attempt to integrate
this into the release process.

Tested against:	head@r259961
Sponsored by:	The FreeBSD Foundation
2013-12-28 02:27:06 +00:00