#!/bin/bash
|
set -e
|
|
pack_loader_image()
|
{
|
local files ini
|
|
files=`ls ./RKBOOT/*MINIALL*.ini`
|
for ini in ${files}
|
do
|
if [ -f "${ini}" ]; then
|
# Ignore unused
|
if [ "${ini}" = "./RKBOOT/RK302AMINIALL.ini" -o \
|
"${ini}" = "./RKBOOT/RK30BMINIALL.ini" -o \
|
"${ini}" = "./RKBOOT/RK30MINIALL.ini" -o \
|
"${ini}" = "./RKBOOT/RK310BMINIALL.ini" ]; then
|
continue;
|
fi
|
|
if grep -q '^PATH=img/' ${ini}; then
|
continue;
|
fi
|
|
echo "pack Input: ${ini}"
|
./tools/boot_merger ${ini}
|
rm -f *loader*.bin *download*.bin *idblock*.img
|
echo
|
fi
|
done
|
}
|
|
pack_trust_image()
|
{
|
local files ini TOS TOS_TA
|
|
# Pack 32-bit trust
|
files=`ls ./RKTRUST/*TOS*.ini`
|
for ini in ${files}
|
do
|
if ! test -s ${ini}; then
|
continue;
|
elif ! grep -q '^TOS/' ${ini}; then
|
continue;
|
elif grep -q '^PATH=img/' ${ini}; then
|
continue;
|
fi
|
|
if [ -f "${ini}" ]; then
|
echo "pack Input: ${ini}"
|
|
# Parse orignal path
|
TOS=`sed -n "/TOS=/s/TOS=//p" ${ini}|tr -d '\r'`
|
TOS_TA=`sed -n "/TOSTA=/s/TOSTA=//p" ${ini}|tr -d '\r'`
|
|
# replace "./tools/rk_tools/" with "./" to compatible legacy ini content of rkdevelop branch
|
TOS=$(echo ${TOS} | sed "s/tools\/rk_tools\//\.\//g")
|
TOS_TA=$(echo ${TOS_TA} | sed "s/tools\/rk_tools\//\.\//g")
|
|
if [ x${TOS_TA} != x -a x${TOS} != x ]; then
|
./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
|
./tools/loaderimage --pack --trustos ${TOS_TA} ./trust_with_ta.img 0x68400000
|
elif [ ${TOS} ]; then
|
./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
|
elif [ ${TOS_TA} ]; then
|
./tools/loaderimage --pack --trustos ${TOS_TA} ./trust.img 0x68400000
|
else
|
exit 1
|
fi
|
rm -f trust*.img
|
echo
|
fi
|
done
|
|
# Pack 64-bit trust
|
files=`ls ./RKTRUST/*TRUST*.ini`
|
for ini in ${files}
|
do
|
if grep -q '^PATH=img/' ${ini}; then
|
continue;
|
fi
|
|
if [ -f "${ini}" ]; then
|
echo "pack Input: ${ini}"
|
./tools/trust_merger ${ini}
|
rm trust*.img
|
echo
|
fi
|
done
|
}
|
|
check_dirty()
|
{
|
for file in `find -name '*spl*.bin' -o -name '*tpl*.bin' -o -name '*usbplug*.bin'`; do
|
if strings ${file} | grep '\-dirty ' ; then
|
echo "ERROR: ${file} is dirty"
|
exit 1
|
fi
|
done
|
}
|
|
check_stripped()
|
{
|
for elf in `find -name '*bl31*.elf'`; do
|
info=`file ${elf}`
|
if echo ${info} | grep -q "not stripped" ; then
|
echo "ERROR: ${elf} is not stripped"
|
exit 1
|
fi
|
done
|
}
|
|
finish()
|
{
|
echo "Packing loader and trust successfully."
|
echo
|
}
|
|
check_dirty
|
check_stripped
|
pack_loader_image
|
pack_trust_image
|
finish
|