Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 May 2015 16:28:05 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r282500 - in head/release: . arm tools/arm
Message-ID:  <201505051628.t45GS5h9073051@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Tue May  5 16:28:04 2015
New Revision: 282500
URL: https://svnweb.freebsd.org/changeset/base/282500

Log:
  Add initial support for building RPI2 images.
  
  In release.sh, allow overriding buildenv_setup() before
  the handoff to arm/release.sh.
  
  Copy arm/RPI-B.conf -> arm/RPI2.conf, set UBOOT_PORT and
  the correct KERNEL, and add the buildenv_setup() override
  to install the sysutils/u-boot-rpi2 port/package.
  
  Copy tools/arm/crochet-RPI-B.conf -> tools/arm/crochet-RPI2.conf,
  and set the correct entries for the RaspberryPi2 board.
  
  Thanks to:	loos@
  Sponsored by:	The FreeBSD Foundation

Added:
  head/release/arm/RPI2.conf
     - copied, changed from r282497, head/release/arm/RPI-B.conf
  head/release/tools/arm/crochet-RPI2.conf
     - copied, changed from r282497, head/release/tools/arm/crochet-RPI-B.conf
Modified:
  head/release/release.sh

Copied and modified: head/release/arm/RPI2.conf (from r282497, head/release/arm/RPI-B.conf)
==============================================================================
--- head/release/arm/RPI-B.conf	Tue May  5 15:16:38 2015	(r282497, copy source)
+++ head/release/arm/RPI2.conf	Tue May  5 16:28:04 2015	(r282500)
@@ -13,7 +13,7 @@ export WORLD_FLAGS="-j $(sysctl -n hw.nc
 export KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))"
 export CHROOTDIR="/scratch"
 export EMBEDDEDBUILD=1
-export EMBEDDEDPORTS="lang/python textproc/gsed"
+export UBOOT_PORT="sysutils/u-boot-rpi2"
 
 # Build chroot configuration
 load_chroot_env() {
@@ -31,10 +31,23 @@ load_target_env() {
 	export XDEV_ARCH="armv6"
 	export XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1"
 	export XDEV_FLAGS="${XDEV_FLAGS} MK_TESTS=no"
-	export KERNEL="RPI-B"
+	export KERNEL="RPI2"
 	export CROCHETSRC="https://github.com/freebsd/crochet"
 	export CROCHETBRANCH="trunk@rHEAD"
-	export UBOOTSRC="https://github.com/gonzoua/u-boot-pi"
-	export UBOOTBRANCH="trunk"
-	export UBOOTDIR="/tmp/crochet/u-boot-rpi"
 }
+
+# Build environment setup
+buildenv_setup() {
+	if [ ! -d ${CHROOTDIR}/usr/ports/${UBOOT_PORT} ]; then
+		chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
+			/usr/sbin/pkg bootstrap -y
+		chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
+			/usr/sbin/pkg install -y ${UBOOT_PORT}
+	else
+		chroot ${CHROOTDIR} env BATCH=1 \
+			make -C /usr/ports/${UBOOT_PORT} \
+			all install clean
+	fi
+	return 0
+}
+

Modified: head/release/release.sh
==============================================================================
--- head/release/release.sh	Tue May  5 16:09:25 2015	(r282499)
+++ head/release/release.sh	Tue May  5 16:28:04 2015	(r282500)
@@ -238,6 +238,7 @@ fi
 
 # Embedded builds do not use the 'make release' target.
 if [ -n "${EMBEDDEDBUILD}" ]; then
+	buildenv_setup
 	# If a crochet configuration file exists in *this* checkout of
 	# release/, copy it to the /tmp/external directory within the chroot.
 	# This allows building embedded releases without relying on updated

Copied and modified: head/release/tools/arm/crochet-RPI2.conf (from r282497, head/release/tools/arm/crochet-RPI-B.conf)
==============================================================================
--- head/release/tools/arm/crochet-RPI-B.conf	Tue May  5 15:16:38 2015	(r282497, copy source)
+++ head/release/tools/arm/crochet-RPI2.conf	Tue May  5 16:28:04 2015	(r282500)
@@ -3,9 +3,9 @@
 #
 
 # This is the configuration file for use with crochet to produce
-# FreeBSD Raspberry Pi images.
+# FreeBSD Raspberry Pi 2 images.
 
-board_setup RaspberryPi
+board_setup RaspberryPi2
 option ImageSize 1gb
 option Growfs
 
@@ -16,7 +16,7 @@ SRCCONF=/dev/null
 WORKDIR=/usr/obj
 _BRANCH=$(make -C ${FREEBSD_SRC}/release -V BRANCH)
 _REVISION=$(make -C ${FREEBSD_SRC}/release -V REVISION)
-KERNCONF=RPI-B
+KERNCONF=RPI2
 TARGET=arm
 TARGET_ARCH=armv6
 FREEBSD_BUILDWORLD_EXTRA_ARGS="${WORLD_FLAGS}"



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