xref: /rkbin/scripts/checkpatch.sh (revision 15aaf94fd41a559487c6e1011f4d6d8fb1249db5)
124a8c2d6SJoseph Chen#!/bin/bash
224a8c2d6SJoseph Chenset -e
324a8c2d6SJoseph Chen
4*15aaf94fSJoseph Chenfunction pack_loader_image()
524a8c2d6SJoseph Chen{
6*15aaf94fSJoseph Chen	for FILE in `ls ./RKBOOT/*MINIALL*.ini`
724a8c2d6SJoseph Chen	do
8*15aaf94fSJoseph Chen		if [ "${FILE}" = "./RKBOOT/RK302AMINIALL.ini" -o \
9*15aaf94fSJoseph Chen			 "${FILE}" = "./RKBOOT/RK30BMINIALL.ini" -o \
10*15aaf94fSJoseph Chen			 "${FILE}" = "./RKBOOT/RK30MINIALL.ini" -o \
11*15aaf94fSJoseph Chen			 "${FILE}" = "./RKBOOT/RK310BMINIALL.ini" ]; then
1224a8c2d6SJoseph Chen			continue;
1324a8c2d6SJoseph Chen		fi
1424a8c2d6SJoseph Chen
15*15aaf94fSJoseph Chen		if grep -q '^PATH=img/' ${FILE}; then
1607c86261SJoseph Chen			continue;
1707c86261SJoseph Chen		fi
1807c86261SJoseph Chen
19*15aaf94fSJoseph Chen		echo "Pack loader: ${FILE}"
20*15aaf94fSJoseph Chen		./tools/boot_merger ${FILE}
21f3822d68SJoseph Chen		rm -f *loader*.bin *download*.bin *idblock*.img
2224a8c2d6SJoseph Chen		echo
2324a8c2d6SJoseph Chen	done
2424a8c2d6SJoseph Chen}
2524a8c2d6SJoseph Chen
26*15aaf94fSJoseph Chenfunction pack_trust_image()
2724a8c2d6SJoseph Chen{
2824a8c2d6SJoseph Chen	# Pack 32-bit trust
29*15aaf94fSJoseph Chen	for FILE in `ls ./RKTRUST/*TOS*.ini`
3024a8c2d6SJoseph Chen	do
31*15aaf94fSJoseph Chen		if ! test -s ${FILE}; then
32075296bdSJoseph Chen			continue;
33*15aaf94fSJoseph Chen		elif ! grep -q 'TOS' ${FILE}; then
34d4bf7444SJoseph Chen			continue;
35*15aaf94fSJoseph Chen		elif grep -q '^PATH=img/' ${FILE}; then
3607c86261SJoseph Chen			continue;
3707c86261SJoseph Chen		fi
3807c86261SJoseph Chen
39*15aaf94fSJoseph Chen		echo "Pack trust: ${FILE}"
4024a8c2d6SJoseph Chen		# Parse orignal path
41*15aaf94fSJoseph Chen		TOS=`sed -n "/TOS=/s/TOS=//p" ${FILE}|tr -d '\r'`
42*15aaf94fSJoseph Chen		TOS_TA=`sed -n "/TOSTA=/s/TOSTA=//p" ${FILE}|tr -d '\r'`
4324a8c2d6SJoseph Chen
4424a8c2d6SJoseph Chen		# replace "./tools/rk_tools/" with "./" to compatible legacy ini content of rkdevelop branch
4524a8c2d6SJoseph Chen		TOS=$(echo ${TOS} | sed "s/tools\/rk_tools\//\.\//g")
4624a8c2d6SJoseph Chen		TOS_TA=$(echo ${TOS_TA} | sed "s/tools\/rk_tools\//\.\//g")
4724a8c2d6SJoseph Chen
489d00b70aSJoseph Chen		if [ x${TOS_TA} != x -a x${TOS} != x ]; then
4924a8c2d6SJoseph Chen			./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
5024a8c2d6SJoseph Chen			./tools/loaderimage --pack --trustos ${TOS_TA} ./trust_with_ta.img 0x68400000
519d00b70aSJoseph Chen		elif [ ${TOS} ]; then
5224a8c2d6SJoseph Chen			./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
539d00b70aSJoseph Chen		elif [ ${TOS_TA} ]; then
5424a8c2d6SJoseph Chen			./tools/loaderimage --pack --trustos ${TOS_TA} ./trust.img 0x68400000
5524a8c2d6SJoseph Chen		else
5624a8c2d6SJoseph Chen			exit 1
5724a8c2d6SJoseph Chen		fi
58f3822d68SJoseph Chen		rm -f trust*.img
5924a8c2d6SJoseph Chen		echo
6024a8c2d6SJoseph Chen	done
6124a8c2d6SJoseph Chen
6224a8c2d6SJoseph Chen	# Pack 64-bit trust
63*15aaf94fSJoseph Chen	for FILE in `ls ./RKTRUST/*TRUST*.ini`
6424a8c2d6SJoseph Chen	do
65*15aaf94fSJoseph Chen		if grep -q '^PATH=img/' ${FILE}; then
6607c86261SJoseph Chen			continue;
6707c86261SJoseph Chen		fi
6807c86261SJoseph Chen
69*15aaf94fSJoseph Chen		echo "Pack trust: ${FILE}"
70*15aaf94fSJoseph Chen		./tools/trust_merger ${FILE}
71*15aaf94fSJoseph Chen		rm -f trust*.img
7224a8c2d6SJoseph Chen		echo
7324a8c2d6SJoseph Chen	done
7424a8c2d6SJoseph Chen}
7524a8c2d6SJoseph Chen
76*15aaf94fSJoseph Chenfunction check_dirty()
777448aaf2SJoseph Chen{
78*15aaf94fSJoseph Chen	for FILE in `find -name '*spl*.bin' -o -name '*tpl*.bin' -o -name '*usbplug*.bin'`; do
79*15aaf94fSJoseph Chen		echo "Checking dirty: ${FILE}"
80*15aaf94fSJoseph Chen		if strings ${FILE} | grep '\-dirty ' ; then
81*15aaf94fSJoseph Chen			echo "ERROR: ${FILE} is dirty"
827448aaf2SJoseph Chen			exit 1
837448aaf2SJoseph Chen		fi
847448aaf2SJoseph Chen	done
857448aaf2SJoseph Chen}
867448aaf2SJoseph Chen
87*15aaf94fSJoseph Chenfunction check_stripped()
88c0efc7efSJoseph Chen{
89*15aaf94fSJoseph Chen	for FILE in `find -name '*bl31*.elf'`; do
90*15aaf94fSJoseph Chen		echo "Checking strip: ${FILE}"
91*15aaf94fSJoseph Chen		INFO=`file ${FILE}`
92*15aaf94fSJoseph Chen		if echo ${INFO} | grep -q "not stripped" ; then
93*15aaf94fSJoseph Chen			echo "ERROR: ${FILE} is not stripped"
94c0efc7efSJoseph Chen			exit 1
95c0efc7efSJoseph Chen		fi
96c0efc7efSJoseph Chen	done
97c0efc7efSJoseph Chen}
98c0efc7efSJoseph Chen
99*15aaf94fSJoseph Chenfunction finish()
10024a8c2d6SJoseph Chen{
10124a8c2d6SJoseph Chen	echo "Packing loader and trust successfully."
10224a8c2d6SJoseph Chen	echo
10324a8c2d6SJoseph Chen}
10424a8c2d6SJoseph Chen
1057448aaf2SJoseph Chencheck_dirty
106c0efc7efSJoseph Chencheck_stripped
10724a8c2d6SJoseph Chenpack_loader_image
10824a8c2d6SJoseph Chenpack_trust_image
10924a8c2d6SJoseph Chenfinish
110