blob: 9da1e3f49db5a870028cf22a73f83e2a496d723c [file] [log] [blame] [edit]
#!/bin/bash
exec_name=$0
set -o errtrace
trap 'echo Fatal error: script ${exec_name} aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR
cpu_num=$(grep -c processor /proc/cpuinfo)
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo DIR:$DIR
function usage(){
echo "Usage: ${exec_name} <board> [workspace path]"
echo "supported boards: swift-p0 swift-p1 swift-p2 swift-b1 swift-b3 swift-b4"
}
readonly fsi_folder="bootloader"
readonly fct_folder="factory/bootloader"
readonly fsi="$fsi_folder:"
readonly fct="$fct_folder:"
function building_uboot(){
soc_family_name=$1
local_name=$2
rev=$3
board_name=$4
config=${local_name}_${rev}
echo "building u-boot for ${board}"
# make T=1 to use latest git commit time as build timestamp.
./mk ${config} ${git_dbg} --board_name $board_name --deterministic_build $6
echo "mk done\n"
local product=`echo ${board} | cut -d "-" -f1`
for cfg in "$fsi" "$fct"; do
local folder="${cfg%:*}"
local bootloader_path=${workspace_path}/vendor/amlogic/${product}/prebuilt/${folder}
if [ ! -z $workspace_path ]; then
mkdir -p ${bootloader_path}
# Copy bl2 and bl3x images for bootloader signing under eureka source.
cp fip/_tmp/bb1st.sto.bin.signed \
${bootloader_path}/bb1st.sto.bin.signed.${board_name}
cp fip/_tmp/bb1st.usb.bin.signed \
${bootloader_path}/bb1st.usb.bin.signed.${board_name}
cp fip/_tmp/blob-bl2e.sto.bin.signed \
${bootloader_path}/blob-bl2e.sto.bin.signed.${board_name}
cp fip/_tmp/blob-bl2e.usb.bin.signed \
${bootloader_path}/blob-bl2e.usb.bin.signed.${board_name}
cp fip/_tmp/blob-bl2x.bin.signed \
${bootloader_path}/blob-bl2x.bin.signed.${board_name}
cp fip/_tmp/bl30-payload.bin \
${bootloader_path}/bl30-payload.bin.${board_name}
cp fip/_tmp/blob-bl31.bin.signed \
${bootloader_path}/blob-bl31.bin.signed.${board_name}
cp fip/_tmp/blob-bl32.bin.signed \
${bootloader_path}/blob-bl32.bin.signed.${board_name}
cp fip/_tmp/blob-bl40.bin.signed \
${bootloader_path}/blob-bl40.bin.signed.${board_name}
cp fip/_tmp/ddr-fip.bin \
${bootloader_path}/ddr-fip.bin.${board_name}
cp fip/_tmp/dvinit-params.bin \
${bootloader_path}/dvinit-params.bin.${board_name}
#copy a4 bb1st.bin for sign uboot
cp soc/templates/${chipset}/${chipset_variant}/bb1st.bin \
${bootloader_path}/bb1st.bin.${board_name}
#copy a4 device-fip-header.bin for sign uboot
cp soc/templates/${chipset}/${chipset_variant}/device-fip-header.bin \
${bootloader_path}/device-fip-header.bin.${board_name}
#copy original bl33.bin for adding ext_krnl key
cp fip/_tmp/bl33.bin.org \
${bootloader_path}/bl33.bin.org.${board_name}
fi
done
}
parse_ab_image() {
chipset=$1
chipset_variant=$2
suffix=$3
new_suffix=""
pushd bl2/bin/${chipset}/${chipset_variant}/
for file in *$suffix;do
new_file="${file%$suffix}"
cp "$file" "${new_file}${new_suffix}"
done
popd
}
if (( $# < 1 ))
then
usage
exit 2
fi
pushd $DIR
readonly board=$1
readonly workspace_path=$2
readonly cross_compile=$DIR/../amlogic/linaro/gcc-linaro-7.3.1-2018.05-i686_aarch64-elf/bin/aarch64-elf-
readonly cross_compile_t32=$DIR/../amlogic/linaro/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-
readonly vendor_amlogic=$DIR/../vendor/amlogic
dbg_flag="debug"
if [ "$3" = "release" -o "$4" = "release" ]; then
dbg_flag="release"
fi
deterministic_build=0
if [ "$3" = "-d" ]; then
deterministic_build=1
fi
export ENABLE_UBOOT_UPDATE=1
export ENABLE_PRODUCTION_MODE=0
case $board in
swift-p0)
git_dbg="--build-nogit"
chipset=a5
chipset_variant=a113x2
# bb1st.xxx.signed.ab -> bb1st.xxx.signed
# blob-bl2e.xxx.signed.ab -> blob-bl2e.xxx.signed
parse_ab_image ${chipset} ${chipset_variant} ".ab"
building_uboot a5 a5_swift p0 $board $dbg_flag $deterministic_build
;;
swift-p1)
git_dbg="--build-nogit"
chipset=a5
chipset_variant=a113x2
# bb1st.xxx.signed.ab -> bb1st.xxx.signed
# blob-bl2e.xxx.signed.ab -> blob-bl2e.xxx.signed
parse_ab_image ${chipset} ${chipset_variant} ".ab"
building_uboot a5 a5_swift p1 $board $dbg_flag $deterministic_build
;;
swift-p2)
git_dbg="--build-nogit"
chipset=a5
chipset_variant=a113x2g
# bb1st.xxx.signed.ab -> bb1st.xxx.signed
# blob-bl2e.xxx.signed.ab -> blob-bl2e.xxx.signed
parse_ab_image ${chipset} ${chipset_variant} ".ab"
building_uboot a5 a5_swift p2 $board $dbg_flag $deterministic_build
;;
swift-b1|swift-b3)
git_dbg="--build-nogit"
chipset=a5
chipset_variant=a113x2g
# bb1st.xxx.signed.ab -> bb1st.xxx.signed
# blob-bl2e.xxx.signed.ab -> blob-bl2e.xxx.signed
parse_ab_image ${chipset} ${chipset_variant} ".ab"
building_uboot a5 a5_swift bx $board $dbg_flag $deterministic_build
;;
swift-b4)
export ENABLE_UBOOT_UPDATE=0
export ENABLE_PRODUCTION_MODE=1
git_dbg="--build-nogit"
chipset=a5
chipset_variant=a113x2g
# bb1st.xxx.signed.ab -> bb1st.xxx.signed
# blob-bl2e.xxx.signed.ab -> blob-bl2e.xxx.signed
parse_ab_image ${chipset} ${chipset_variant} ".ab"
building_uboot a5 a5_swift bx $board $dbg_flag $deterministic_build
;;
*)
echo "unknown board: $board"
usage
exit 1
esac
popd