108 lines
2.9 KiB
Bash
Executable File
108 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
# set -x
|
|
|
|
#
|
|
# Variables
|
|
#
|
|
|
|
EXEC_BASEDIR=$(dirname $(readlink -f $0))
|
|
CP=cp
|
|
|
|
BASEDIR_TOP=$(readlink -f ${EXEC_BASEDIR}/..)
|
|
|
|
#
|
|
# Settings
|
|
#
|
|
|
|
BASEDIR_TEMPLATE=$1
|
|
|
|
BASEDIR_PAYLOAD=$2
|
|
|
|
BASEDIR_INPUT_BLOB=$3
|
|
|
|
BASEDIR_OUTPUT=$4
|
|
|
|
if [ ".fastboot" == "$5" ]; then
|
|
CHIPSET_VARIANT_SUFFIX=$5
|
|
CHIPSET_VARIANT_MIN_SUFFIX=$6
|
|
else
|
|
CHIPSET_VARIANT_SUFFIX=""
|
|
CHIPSET_VARIANT_MIN_SUFFIX=$5
|
|
fi
|
|
|
|
if [ "" != "${CHIPSET_VARIANT_MIN_SUFFIX}" ] && [ ".fastboot" == "${CHIPSET_VARIANT_SUFFIX}" ]; then
|
|
if [ "${CONFIG_TEE_TYPE}" == "8m" ]; then
|
|
if [ "${CONFIG_BL33_SIZE}" = "s" ]; then
|
|
## +64k
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot-ext-1
|
|
elif [ "${CONFIG_BL33_SIZE}" = "m" ]; then
|
|
## +128k
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot-ext-2
|
|
else
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot-ext
|
|
fi
|
|
else
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot-oversea
|
|
fi
|
|
elif [ "" == "${CHIPSET_VARIANT_MIN_SUFFIX}" ] && [ ".fastboot" == "${CHIPSET_VARIANT_SUFFIX}" ]; then
|
|
if [ "${CONFIG_BL33_SIZE}" = "s" ]; then
|
|
## +64k
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot-1
|
|
elif [ "${CONFIG_BL33_SIZE}" = "m" ]; then
|
|
## +128k
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot-2
|
|
else
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-fastboot
|
|
fi
|
|
else
|
|
ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool
|
|
fi
|
|
|
|
#
|
|
# Arguments
|
|
#
|
|
|
|
EXEC_ARGS="${EXEC_ARGS}"
|
|
|
|
### Input: template ###
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-template-chipset-fip-header=${BASEDIR_TEMPLATE}/device-fip-header.bin"
|
|
|
|
### Input: payload ###
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-bl30-payload=${BASEDIR_PAYLOAD}/bl30-payload.bin"
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-bl33-payload=${BASEDIR_PAYLOAD}/bl33-payload.bin"
|
|
|
|
### Input: chipset blobs ###
|
|
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-blob-bl40=${BASEDIR_INPUT_BLOB}/blob-bl40${CHIPSET_VARIANT_SUFFIX}.bin.signed"
|
|
if [ "$5" == ".fastboot" ] && [ "${CONFIG_IPC_DDR_SIZE}" == "256m" ]; then
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-blob-bl31=${BASEDIR_INPUT_BLOB}/blob-bl31${CHIPSET_VARIANT_SUFFIX}_256.bin.signed"
|
|
if [ "${CONFIG_TEE_TYPE}" == "8m" ]; then
|
|
CHIPSET_VARIANT_MIN_SUFFIX=".8m"
|
|
fi
|
|
else
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-blob-bl31=${BASEDIR_INPUT_BLOB}/blob-bl31${CHIPSET_VARIANT_SUFFIX}.bin.signed"
|
|
fi
|
|
EXEC_ARGS="${EXEC_ARGS} --infile-blob-bl32=${BASEDIR_INPUT_BLOB}/blob-bl32${CHIPSET_VARIANT_MIN_SUFFIX}${CHIPSET_VARIANT_SUFFIX}.bin.signed"
|
|
|
|
### Features, flags and switches ###
|
|
|
|
### Output: Device FIP ###
|
|
EXEC_ARGS="${EXEC_ARGS} --outfile-device-fip=${BASEDIR_OUTPUT}/device-fip.bin.signed"
|
|
|
|
## fastboot/ipc branch
|
|
EXEC_ARGS="${EXEC_ARGS} --header-layout=compact"
|
|
#echo ${EXEC_ARGS}
|
|
|
|
#
|
|
# Main
|
|
#
|
|
|
|
set -x
|
|
${ACPU_IMAGETOOL} \
|
|
create-device-fip \
|
|
${EXEC_ARGS}
|
|
|
|
# vim: set tabstop=2 expandtab shiftwidth=2:
|