summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2017-11-16 15:59:29 +0000
committergjb <gjb@FreeBSD.org>2017-11-16 15:59:29 +0000
commitde1e3fd83ceb2f8bdb7af3f1597271feec632ccd (patch)
treea1790ce8f35f2367aa09bbd4989a2928de7c7eb3
parent0fa498b45193501c360a0bd664ed3cadfec3bda4 (diff)
downloadFreeBSD-src-de1e3fd83ceb2f8bdb7af3f1597271feec632ccd.zip
FreeBSD-src-de1e3fd83ceb2f8bdb7af3f1597271feec632ccd.tar.gz
MFC r320252, r320686, r325769:
r320252: In release/release.sh: - Rename chroot_arm_armv6_build_release() to chroot_arm_build_release() and make it hardware agnostic (such as armv6 -vs- armv7 -vs- arm64). - Evaluate EMBEDDED_TARGET differently so release/tools/arm.subr can be used for arm/armv6 and arm64/aarch64. - Update comments and copyright. In release/tools/arm.subr: - In arm_create_disk(), change the default alignment from 63 to 512k, fixing a boot issue on arm64 and EFI. [1] - Update comments and copyright. r320686: Fix the ftp-stage target for RPI3 images by loosening the constraints on the TARGET and TARGET_ARCH variables. r325769: Update the GUMSTIX image build to use arm/arm TARGET/TARGET_ARCH. Update the TARGET/TARGET_ARCH matching in release/release.sh and release/Makefile.mirrors for simplification. Note: The RPI3.conf addition from r320252 is not included, as the 11-STABLE image fails to boot in my testing. Sponsored by: The FreeBSD Foundation
-rw-r--r--release/Makefile.mirrors4
-rw-r--r--release/arm/GUMSTIX.conf2
-rwxr-xr-xrelease/release.sh25
-rw-r--r--release/tools/arm.subr6
4 files changed, 22 insertions, 15 deletions
diff --git a/release/Makefile.mirrors b/release/Makefile.mirrors
index bc16b1e..66635ef 100644
--- a/release/Makefile.mirrors
+++ b/release/Makefile.mirrors
@@ -21,7 +21,7 @@ STAGE_TARGETS?= iso-images-stage
.endif
.if (defined(EMBEDDED_TARGET) && !empty(EMBEDDED_TARGET)) || (defined(EMBEDDEDBUILD) && !empty(EMBEDDEDBUILD))
-. if ${TARGET} == "arm" || ${EMBEDDED_TARGET} == "arm"
+. if ${TARGET:Marm*} != "" || ${EMBEDDED_TARGET:Marm*} != ""
EMBEDDED= 1
. endif
.endif
@@ -57,7 +57,7 @@ TLD?= ${FTPDIR}/releases
.endif
.if defined(EMBEDDED) && !empty(EMBEDDED)
-. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6"
+. if ${TARGET:Marm*} != "" && (${TARGET_ARCH:Marm*} != "" || ${TARGET_ARCH} == "aarch64")
. if !defined(BOARDNAME) && empty(BOARDNAME)
BOARDNAME:= ${KERNCONF}
. else
diff --git a/release/arm/GUMSTIX.conf b/release/arm/GUMSTIX.conf
index 38445b1..fc99e6b 100644
--- a/release/arm/GUMSTIX.conf
+++ b/release/arm/GUMSTIX.conf
@@ -5,7 +5,7 @@
EMBEDDEDBUILD=1
EMBEDDED_TARGET="arm"
-EMBEDDED_TARGET_ARCH="armv6"
+EMBEDDED_TARGET_ARCH="arm"
EMBEDDEDPORTS="sysutils/u-boot-duovero"
KERNEL="GUMSTIX"
WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x88000000"
diff --git a/release/release.sh b/release/release.sh
index 1025447..9f51da4 100755
--- a/release/release.sh
+++ b/release/release.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#-
-# Copyright (c) 2013-2015 The FreeBSD Foundation
+# Copyright (c) 2013-2017 The FreeBSD Foundation
# Copyright (c) 2013 Glen Barber
# Copyright (c) 2011 Nathan Whitehorn
# All rights reserved.
@@ -148,10 +148,11 @@ env_check() {
WITH_COMPRESSED_IMAGES=
NODOC=yes
case ${EMBEDDED_TARGET}:${EMBEDDED_TARGET_ARCH} in
- arm:armv6)
- chroot_build_release_cmd="chroot_arm_armv6_build_release"
+ arm:arm*|arm64:aarch64)
+ chroot_build_release_cmd="chroot_arm_build_release"
;;
*)
+ ;;
esac
fi
@@ -346,13 +347,19 @@ chroot_build_release() {
return 0
} # chroot_build_release()
-# chroot_arm_armv6_build_release(): Create arm/armv6 SD card image.
-chroot_arm_armv6_build_release() {
+# chroot_arm_build_release(): Create arm SD card image.
+chroot_arm_build_release() {
load_target_env
eval chroot ${CHROOTDIR} make -C /usr/src/release obj
- if [ -e "${RELENGDIR}/tools/${EMBEDDED_TARGET}.subr" ]; then
- . "${RELENGDIR}/tools/${EMBEDDED_TARGET}.subr"
- fi
+ case ${EMBEDDED_TARGET} in
+ arm|arm64)
+ if [ -e "${RELENGDIR}/tools/arm.subr" ]; then
+ . "${RELENGDIR}/tools/arm.subr"
+ fi
+ ;;
+ *)
+ ;;
+ esac
[ ! -z "${RELEASECONF}" ] && . "${RELEASECONF}"
WORLDDIR="$(eval chroot ${CHROOTDIR} make -C /usr/src/release -V WORLDDIR)"
OBJDIR="$(eval chroot ${CHROOTDIR} make -C /usr/src/release -V .OBJDIR)"
@@ -381,7 +388,7 @@ chroot_arm_armv6_build_release() {
> CHECKSUM.SHA256
return 0
-} # chroot_arm_armv6_build_release()
+} # chroot_arm_build_release()
# main(): Start here.
main() {
diff --git a/release/tools/arm.subr b/release/tools/arm.subr
index 97326c4..c5adbaf 100644
--- a/release/tools/arm.subr
+++ b/release/tools/arm.subr
@@ -1,6 +1,6 @@
#!/bin/sh
#-
-# Copyright (c) 2015 The FreeBSD Foundation
+# Copyright (c) 2015-2017 The FreeBSD Foundation
# All rights reserved.
#
# Portions of this software were developed by Glen Barber
@@ -27,7 +27,7 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# Common subroutines used to build arm/armv6 images.
+# Common subroutines used to build arm SD card images.
#
# $FreeBSD$
#
@@ -65,7 +65,7 @@ umount_loop() {
arm_create_disk() {
# Create the target raw file and temporary work directory.
chroot ${CHROOTDIR} gpart create -s ${PART_SCHEME} ${mddev}
- chroot ${CHROOTDIR} gpart add -t '!12' -a 63 -s ${FAT_SIZE} ${mddev}
+ chroot ${CHROOTDIR} gpart add -t '!12' -a 512k -s ${FAT_SIZE} ${mddev}
chroot ${CHROOTDIR} gpart set -a active -i 1 ${mddev}
chroot ${CHROOTDIR} newfs_msdos -L msdosboot -F ${FAT_TYPE} /dev/${mddev}s1
chroot ${CHROOTDIR} gpart add -t freebsd ${mddev}
OpenPOWER on IntegriCloud