freebsd-src/release/arm64/PINE64.conf
Glen Barber 2833897f35 Use chroot(8) when invoking realpath(1) when setting BOOTFILES,
otherwise realpath(1) exits due to a nonexistent directory.

Sponsored by:	The FreeBSD Foundation
2017-11-20 15:03:03 +00:00

48 lines
1.3 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
EMBEDDED_TARGET_ARCH="aarch64"
EMBEDDED_TARGET="arm64"
EMBEDDEDBUILD=1
EMBEDDEDPORTS="sysutils/u-boot-pine64"
FAT_SIZE="54m -b 1m"
FAT_TYPE="16"
IMAGE_SIZE="2560M"
KERNEL="GENERIC"
MD_ARGS="-x 16384 -y 255"
NODOC=1
PART_SCHEME="MBR"
export BOARDNAME="PINE64"
arm_install_uboot() {
UBOOT_DIR="/usr/local/share/u-boot/u-boot-pine64"
UBOOT_FILES="u-boot-sunxi-with-spl.bin"
FATMOUNT="${DESTDIR%${KERNEL}}fat"
UFSMOUNT="${DESTDIR%${KERNEL}}ufs"
chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \
of=/dev/${mddev} bs=1k seek=8 conv=sync
chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}"
chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT}
chroot ${CHROOTDIR} mount /dev/${mddev}s2 ${UFSMOUNT}
BOOTFILES="$(chroot ${CHROOTDIR} \
env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \
WITH_UNIFIED_OBJDIR=yes \
make -C ${WORLDDIR}/stand -V .OBJDIR)"
BOOTFILES="$(chroot ${CHROOTDIR} realpath ${BOOTFILES})"
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
}