6 SRCBRANCH="base/head@rHEAD"
8 EMBEDDED_TARGET="arm64"
9 EMBEDDED_TARGET_ARCH="aarch64"
10 EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
12 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x42000000"
17 MD_ARGS="-x 63 -y 255"
19 DTB_REPO="https://github.com/raspberrypi/firmware/blob/master/boot"
20 DTB="bcm2710-rpi-3-b.dtb"
21 OVERLAYS="mmc.dtbo pi3-disable-bt.dtbo"
22 export BOARDNAME="RPI3"
25 UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi3"
26 UBOOT_FILES="LICENCE.broadcom README armstub8.bin bootcode.bin config.txt \
27 fixup.dat fixup_cd.dat fixup_x.dat start.elf start_cd.elf \
28 start_x.elf u-boot.bin"
29 FATMOUNT="${DESTDIR%${KERNEL}}fat"
30 UFSMOUNT="${DESTDIR%${KERNEL}}ufs"
31 chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}"
32 chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT}
33 chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT}
34 for _UF in ${UBOOT_FILES}; do
35 chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \
38 chroot ${CHROOTDIR} fetch -o "${FATMOUNT}/${DTB}" "${DTB_REPO}/${DTB}?raw=true"
39 chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/overlays
40 for _OL in ${OVERLAYS}; do
41 chroot ${CHROOTDIR} fetch -o "${FATMOUNT}/overlays/${_OL}"\
42 "${DTB_REPO}/overlays/${_OL}?raw=true"
45 _OBJDIR="$(chroot ${CHROOTDIR} make -C ${WORLDDIR} -V .OBJDIR)"
46 _OBJDIR="$(realpath ${_OBJDIR})"
47 if [ -d "${CHROOTDIR}/${_OBJDIR%%/usr/src}/${EMBEDDED_TARGET}.${EMBEDDED_TARGET_ARCH}" ]; then
48 BOOTFILES="/${_OBJDIR%%/usr/src}/${EMBEDDED_TARGET}.${EMBEDDED_TARGET_ARCH}/usr/src/sys/boot"
50 BOOTFILES="/${_OBJDIR}/sys/boot"
53 chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/EFI/BOOT
54 chroot ${CHROOTDIR} cp -p ${BOOTFILES}/efi/boot1/boot1.efi \
55 ${FATMOUNT}/EFI/BOOT/bootaa64.efi
56 chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot
58 umount_loop ${CHROOTDIR}/${FATMOUNT}
59 umount_loop ${CHROOTDIR}/${UFSMOUNT}
60 chroot ${CHROOTDIR} rmdir ${FATMOUNT}
61 chroot ${CHROOTDIR} rmdir ${UFSMOUNT}