aboutsummaryrefslogtreecommitdiff
path: root/release/arm64
diff options
context:
space:
mode:
authorGlen Barber <gjb@FreeBSD.org>2017-06-23 00:08:36 +0000
committerGlen Barber <gjb@FreeBSD.org>2017-06-23 00:08:36 +0000
commit751c20d8a59ddb967d01536892518f722f2e2c81 (patch)
tree85b6329750def54900efdb3a965ecee65757ca17 /release/arm64
parent6f81bd02b3f6a3b48dbfc6416288346b97e87d7c (diff)
downloadsrc-751c20d8a59ddb967d01536892518f722f2e2c81.tar.gz
src-751c20d8a59ddb967d01536892518f722f2e2c81.zip
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. Add a RPI3 configuration file, pieces obtained from Crochet. Obtained from: Crochet [1] MFC after: 5 days X-MFC-Note: maybe Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=320252
Diffstat (limited to 'release/arm64')
-rw-r--r--release/arm64/RPI3.conf66
1 files changed, 66 insertions, 0 deletions
diff --git a/release/arm64/RPI3.conf b/release/arm64/RPI3.conf
new file mode 100644
index 000000000000..3f08a6cbb138
--- /dev/null
+++ b/release/arm64/RPI3.conf
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+CHROOT_MAKEENV="TARGET=amd64 TARGET_ARCH=amd64"
+SRCBRANCH="base/head@rHEAD"
+EMBEDDEDBUILD=1
+EMBEDDED_TARGET="arm64"
+EMBEDDED_TARGET_ARCH="aarch64"
+EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
+KERNEL="GENERIC"
+#MAKE_FLAGS="${MAKE_FLAGS} -s"
+WORLD_FLAGS="${WORLD_FLAGS} -j48 UBLDR_LOADADDR=0x42000000"
+IMAGE_SIZE="2G"
+PART_SCHEME="MBR"
+FAT_SIZE="50m -b 1m"
+FAT_TYPE="16"
+MD_ARGS="-x 63 -y 255"
+NODOC=1
+DTB_REPO="https://github.com/raspberrypi/firmware/blob/master/boot"
+DTB="bcm2710-rpi-3-b.dtb"
+OVERLAYS="mmc.dtbo pi3-disable-bt.dtbo"
+export BOARDNAME="RPI3"
+
+arm_install_uboot() {
+ UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi3"
+ UBOOT_FILES="LICENCE.broadcom README armstub8.bin bootcode.bin config.txt \
+ fixup.dat fixup_cd.dat fixup_x.dat start.elf start_cd.elf \
+ start_x.elf u-boot.bin"
+ FATMOUNT="${DESTDIR%${KERNEL}}fat"
+ UFSMOUNT="${DESTDIR%${KERNEL}}ufs"
+ chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}"
+ chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT}
+ chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT}
+ for _UF in ${UBOOT_FILES}; do
+ chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \
+ ${FATMOUNT}/${_UF}
+ done
+ chroot ${CHROOTDIR} fetch -o "${FATMOUNT}/${DTB}" "${DTB_REPO}/${DTB}?raw=true"
+ chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/overlays
+ for _OL in ${OVERLAYS}; do
+ chroot ${CHROOTDIR} fetch -o "${FATMOUNT}/overlays/${_OL}"\
+ "${DTB_REPO}/overlays/${_OL}?raw=true"
+ done
+
+ _OBJDIR="$(chroot ${CHROOTDIR} make -C ${WORLDDIR} -V .OBJDIR)"
+ _OBJDIR="$(realpath ${_OBJDIR})"
+ if [ -d "${CHROOTDIR}/${_OBJDIR%%/usr/src}/${TARGET}.${TARGET_ARCH}" ]; then
+ BOOTFILES="/${_OBJDIR%%/usr/src}/${TARGET}.${TARGET_ARCH}/usr/src/sys/boot"
+ else
+ BOOTFILES="/${_OBJDIR}/sys/boot"
+ fi
+
+ chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/EFI/BOOT
+ chroot ${CHROOTDIR} cp -p ${BOOTFILES}/efi/boot1/boot1.efi \
+ ${FATMOUNT}/EFI/BOOT/bootaa64.efi
+ chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot
+ sync
+ umount_loop ${CHROOTDIR}/${FATMOUNT}
+ umount_loop ${CHROOTDIR}/${UFSMOUNT}
+ chroot ${CHROOTDIR} rmdir ${FATMOUNT}
+ chroot ${CHROOTDIR} rmdir ${UFSMOUNT}
+
+ return 0
+}