freebsd-skq/release/arm64/RPI3.conf
gjb c9f73190de Remove CHROOT_MAKEENV from the RPI3 configuration file, to avoid
assuming the build host is amd64.

MFC after:	3 days
X-MFC-With:	r320252, r320253, r320254
X-MFC-Note:	maybe
Sponsored by:	The FreeBSD Foundation
2017-06-27 14:39:00 +00:00

65 lines
2.0 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
SRCBRANCH="base/head@rHEAD"
EMBEDDEDBUILD=1
EMBEDDED_TARGET="arm64"
EMBEDDED_TARGET_ARCH="aarch64"
EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
KERNEL="GENERIC"
WORLD_FLAGS="${WORLD_FLAGS} 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}/${EMBEDDED_TARGET}.${EMBEDDED_TARGET_ARCH}" ]; then
BOOTFILES="/${_OBJDIR%%/usr/src}/${EMBEDDED_TARGET}.${EMBEDDED_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
}