aboutsummaryrefslogblamecommitdiff
path: root/release/arm64/RPI3.conf
blob: 10366e242199a2b6b613f187753c5de029b6c4ad (plain) (tree)
1
2
3
4
5
6
7
8
9
10




           

                                                                   
                              

                       
                                                         

                    

                  

                      
                                       
                 






















                                                                                       
                                          


                                                                                   
                                                                












                                                                    
#!/bin/sh
#
# $FreeBSD$
#

DTB_REPO="https://github.com/raspberrypi/firmware/blob/master/boot"
DTB="bcm2710-rpi-3-b.dtb"
EMBEDDED_TARGET_ARCH="aarch64"
EMBEDDED_TARGET="arm64"
EMBEDDEDBUILD=1
EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
FAT_SIZE="50m -b 1m"
FAT_TYPE="16"
IMAGE_SIZE="2560M"
KERNEL="GENERIC"
MD_ARGS="-x 63 -y 255"
NODOC=1
OVERLAYS="mmc.dtbo pi3-disable-bt.dtbo"
PART_SCHEME="MBR"
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

	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
}