#!/bin/tcsh if (`uname -m` == arm64) then set BOOTFS=/boot/firmware/ set UEFI_LOADER_PATH = /boot/loader_lua.efi set DTB_AW_PATH=/boot/dtb/allwinner/ set DTB_OL_PATH=/boot/dtb/overlays/ #set DTB_RC_PATH else set BOOTFS=/mnt/bootfs/ set MAKEOBJDIRPREFIX=/usr/obj set SRCDIR="/usr/src.head" set KERNCONF=OTCC set UEFI_LOADER_PATH = $MAKEOBJDIRPREFIX/$SRCDIR/arm64.aarch64/stand/efi/loader_lua/loader_lua.efi set DTB_AW_PATH=$MAKEOBJDIRPREFIX/$SRCDIR/arm64.aarch64/sys/$KERNCONF/modules/$SRCDIR/sys/modules/dtb/allwinner/ set DTB_OL_PATH=$MAKEOBJDIRPREFIX/$SRCDIR/arm64.aarch64/sys/$KERNCONF/modules/$SRCDIR/sys/modules/dtb/allwinner/ set DTB_RC_PATH=$MAKEOBJDIRPREFIX/$SRCDIR/arm64.aarch64/sys/$KERNCONF/modules/$SRCDIR/sys/modules/dtb/rockchip/ endif set FIRMWARE_REPO_PATH = /root/rpi/firmware/boot/ set UBOOT_BIN_PATH=/root/src/u-boot-v2019.10/u-boot.bin set PSCI_MON_PATH = /root/rpi/rpi3-psci-monitor/armstub8.bin set FIRMWARE_CONFIG_PATH = /usr/ports/sysutils/rpi-firmware/files/config_rpi3.txt # End of Config set DTB_AW_FILES = (sun50i-a64-nanopi-a64.dtb sun50i-a64-olinuxino.dtb sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb sun50i-a64-sopine-baseboard.dtb sun50i-h5-orangepi-pc2.dtb) set DTB_OL_FILES = (sun50i-a64-sid.dtbo sun50i-a64-ths.dtbo sun50i-a64-timer.dtbo) set DTB_RC_FILES = (rk3328-rock64.dtb rk3399-rockpro64.dtb) set FIRMWARE_REPO_FILES = (LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat fixup_db.dat fixup_x.dat start.elf start_cd.elf start_db.elf start_x.elf bcm2710-rpi-3-b.dtb) #set FIRMWARE_FDT_FILE = /root/rpi/bcm2710-rpi-3-b-clockfix.dts # i2c-rtc is for optional I2C RTC. Config.txt must be modified to support it. set FIRMWARE_OL_PATH = $FIRMWARE_REPO_PATH/overlays set FIRMWARE_OL_FILES = (mmc.dtbo pi3-disable-bt.dtbo pwm.dtbo i2c-rtc.dtbo) # / foreach x ($FIRMWARE_REPO_FILES) cp $FIRMWARE_REPO_PATH/$x $BOOTFS end #dtc -I dts -O dtb -o $BOOTFS/bcm2710-rpi-3-b.dtb $FIRMWARE_FDT_FILE cp $PSCI_MON_PATH $UBOOT_BIN_PATH $BOOTFS cp $FIRMWARE_CONFIG_PATH $BOOTFS/config.txt # /overlays mkdir -p $BOOTFS/overlays foreach x ($FIRMWARE_OL_FILES) cp $FIRMWARE_OL_PATH/$x $BOOTFS/overlays/ end # DTB mkdir -p $BOOTFS/dtb/allwinner $BOOTFS/dtb/overlays $BOOTFS/dtb/rockchip foreach x ($DTB_AW_FILES) cp $DTB_AW_PATH/$x $BOOTFS/dtb/allwinner/ end foreach x ($DTB_OL_FILES) cp $DTB_OL_PATH/$x $BOOTFS/dtb/overlays/ end foreach x ($DTB_RC_FILES) cp $DTB_RC_PATH/$x $BOOTFS/dtb/rockchip/ end # EFI # loader_lua.efi is a hard link with loader.efi mkdir -p $BOOTFS/EFI/BOOT cp $UEFI_LOADER_PATH $BOOTFS/EFI/BOOT/bootaa64.efi mkdir -p $BOOTFS/EFI/FREEBSD echo currdev=disk0p2 > $BOOTFS/EFI/FREEBSD/loader.env