aboutsummaryrefslogtreecommitdiff
path: root/release/arm64/PINE64.conf
blob: cf35fd0dc19230376f7caa19842b01cc8f01fdc0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh
#
# $FreeBSD$
#

SRCBRANCH="base/head@rHEAD"
EMBEDDEDBUILD=1
EMBEDDED_TARGET="arm64"
EMBEDDED_TARGET_ARCH="aarch64"
EMBEDDEDPORTS="sysutils/u-boot-pine64"
KERNEL="GENERIC"
WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x42000000"
IMAGE_SIZE="2560M"
PART_SCHEME="MBR"
FAT_SIZE="54m -b 1m"
FAT_TYPE="16"
MD_ARGS="-x 16384 -y 255"
NODOC=1
export BOARDNAME="PINE64"

arm_install_uboot() {
	UBOOT_DIR="/usr/local/share/u-boot/u-boot-pine64"
	UBOOT_FILES="u-boot-sunxi-with-spl.bin README"
	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

	BOOTFILES="$(chroot ${CHROOTDIR} \
	    env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \
	    WITH_UNIFIED_OBJDIR=yes \
	    make -C ${WORLDDIR}/sys/boot -V .OBJDIR)"
	BOOTFILES="$(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
}