]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/arm64/RPI3.conf
Merge ACPICA 20170929 (take 2).
[FreeBSD/FreeBSD.git] / release / arm64 / RPI3.conf
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 SRCBRANCH="base/head@rHEAD"
7 EMBEDDEDBUILD=1
8 EMBEDDED_TARGET="arm64"
9 EMBEDDED_TARGET_ARCH="aarch64"
10 EMBEDDEDPORTS="sysutils/u-boot-rpi3 security/ca_root_nss"
11 KERNEL="GENERIC"
12 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x42000000"
13 IMAGE_SIZE="2560M"
14 PART_SCHEME="MBR"
15 FAT_SIZE="50m -b 1m"
16 FAT_TYPE="16"
17 MD_ARGS="-x 63 -y 255"
18 NODOC=1
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"
23
24 arm_install_uboot() {
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} \
36                         ${FATMOUNT}/${_UF}
37         done
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"
43         done
44
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"
49         else
50                 BOOTFILES="/${_OBJDIR}/sys/boot"
51         fi
52
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
57         sync
58         umount_loop ${CHROOTDIR}/${FATMOUNT}
59         umount_loop ${CHROOTDIR}/${UFSMOUNT}
60         chroot ${CHROOTDIR} rmdir ${FATMOUNT}
61         chroot ${CHROOTDIR} rmdir ${UFSMOUNT}
62         
63         return 0
64 }