]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/arm64/RPI3.conf
libfdt: Update to 1.4.6, switch to using libfdt for overlay support
[FreeBSD/FreeBSD.git] / release / arm64 / RPI3.conf
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 DTB_REPO="https://github.com/raspberrypi/firmware/blob/master/boot"
7 DTB="bcm2710-rpi-3-b.dtb"
8 EMBEDDED_TARGET_ARCH="aarch64"
9 EMBEDDED_TARGET="arm64"
10 EMBEDDEDBUILD=1
11 EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
12 FAT_SIZE="50m -b 1m"
13 FAT_TYPE="16"
14 IMAGE_SIZE="2560M"
15 KERNEL="GENERIC"
16 MD_ARGS="-x 63 -y 255"
17 NODOC=1
18 OVERLAYS="mmc.dtbo pi3-disable-bt.dtbo"
19 PART_SCHEME="MBR"
20 export BOARDNAME="RPI3"
21
22 arm_install_uboot() {
23         UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi3"
24         UBOOT_FILES="LICENCE.broadcom README armstub8.bin bootcode.bin config.txt \
25                 fixup.dat fixup_cd.dat fixup_x.dat start.elf start_cd.elf \
26                 start_x.elf u-boot.bin"
27         FATMOUNT="${DESTDIR%${KERNEL}}fat"
28         UFSMOUNT="${DESTDIR%${KERNEL}}ufs"
29         chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}"
30         chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT}
31         chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT}
32         for _UF in ${UBOOT_FILES}; do
33                 chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \
34                         ${FATMOUNT}/${_UF}
35         done
36         chroot ${CHROOTDIR} fetch -o "${FATMOUNT}/${DTB}" "${DTB_REPO}/${DTB}?raw=true"
37         chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/overlays
38         for _OL in ${OVERLAYS}; do
39                 chroot ${CHROOTDIR} fetch -o "${FATMOUNT}/overlays/${_OL}"\
40                         "${DTB_REPO}/overlays/${_OL}?raw=true"
41         done
42
43         BOOTFILES="$(chroot ${CHROOTDIR} \
44                 env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \
45                 WITH_UNIFIED_OBJDIR=yes \
46                 make -C ${WORLDDIR}/stand -V .OBJDIR)"
47         BOOTFILES="$(chroot ${CHROOTDIR} realpath ${BOOTFILES})"
48
49         chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/EFI/BOOT
50         chroot ${CHROOTDIR} cp -p ${BOOTFILES}/efi/boot1/boot1.efi \
51                 ${FATMOUNT}/EFI/BOOT/bootaa64.efi
52         chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot
53         sync
54         umount_loop ${CHROOTDIR}/${FATMOUNT}
55         umount_loop ${CHROOTDIR}/${UFSMOUNT}
56         chroot ${CHROOTDIR} rmdir ${FATMOUNT}
57         chroot ${CHROOTDIR} rmdir ${UFSMOUNT}
58         
59         return 0
60 }