blob: 711d12ee283ff83afcce63023e4a70029da723c4 [file] [log] [blame]
#!/bin/bash
#
# Copyright (c) 2020, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
set -u
#arm_fpga Kernel URLs
declare -A arm_fpga_kernels
arm_fpga_kernels=(
[test-kernel-aarch64]="$tfa_downloads/arm-fpga/kernel-image"
)
#arm_fpga dtbs
declare -A arm_fpga_dtbs
arm_fpga_dtbs=(
[zeus-dtb]="$tfa_downloads/arm-fpga/zeus.dtb"
[hera-dtb]="$tfa_downloads/arm-fpga/hera.dtb"
)
#arm_fpga initramfs
declare -A arm_fpga_initramfs
arm_fpga_initramfs=(
[busybox.initrd]="$tfa_downloads/arm-fpga/busybox.initrd"
)
get_kernel() {
local kernel_type="${kernel_type:?}"
local url="${arm_fpga_kernels[$kernel_type]}"
local kernel_saveas="kernel.bin"
url="${url:?}" saveas="${kernel_saveas:?}" fetch_file
archive_file "$kernel_saveas"
}
get_dtb() {
local dtb_type="${dtb_type:?}"
local dtb_url="${arm_fpga_dtbs[$dtb_type]}"
local dtb_saveas="dtb.bin"
url="${dtb_url:?}" saveas="${dtb_saveas:?}" fetch_file
archive_file "$dtb_saveas"
}
get_initrd() {
local initrd_type="${initrd_type:?}"
local url="${arm_fpga_initramfs[$initrd_type]}"
local initrd_saveas="initrd.bin"
url="${url:?}" saveas="${initrd_saveas:?}" fetch_file
archive_file "$initrd_saveas"
}
get_linkerscript() {
local url="$tfa_downloads/arm-fpga/model.lds"
local ld_saveas="linker.ld"
local artefacts_dir="${fullpath:?}"
url="${url:?}" saveas="${ld_saveas:?}" fetch_file
sed -i "s+<artefacts>+"$artefacts_dir"+g" $ld_saveas
archive_file "$ld_saveas"
}
link_fpga_images(){
local arch="${arch:-aarch64elf}"
local ld_file="${ld_file:-linker.ld}"
local out="${out:-image.elf}"
local cross_compile="${nfs_volume}/pdsw/tools/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-"
`echo "$cross_compile"ld` -m $arch -T $ld_file -o $out
archive_file "$out"
}
set +u