xref: /rkbin/scripts/checkpatch.sh (revision f3822d68f5bb09db10c6c59bc2d93295e525cb4d)
124a8c2d6SJoseph Chen#!/bin/bash
224a8c2d6SJoseph Chenset -e
324a8c2d6SJoseph Chen
424a8c2d6SJoseph Chenpack_loader_image()
524a8c2d6SJoseph Chen{
624a8c2d6SJoseph Chen	local files ini
724a8c2d6SJoseph Chen
824a8c2d6SJoseph Chen	files=`ls ./RKBOOT/*MINIALL*.ini`
99d00b70aSJoseph Chen	for ini in ${files}
1024a8c2d6SJoseph Chen	do
119d00b70aSJoseph Chen		if [ -f "${ini}" ]; then
1224a8c2d6SJoseph Chen			# Ignore unused
139d00b70aSJoseph Chen			if [ "${ini}" = "./RKBOOT/RK302AMINIALL.ini" -o \
149d00b70aSJoseph Chen				 "${ini}" = "./RKBOOT/RK30BMINIALL.ini" -o \
159d00b70aSJoseph Chen				 "${ini}" = "./RKBOOT/RK30MINIALL.ini" -o \
169d00b70aSJoseph Chen				 "${ini}" = "./RKBOOT/RK310BMINIALL.ini" ]; then
1724a8c2d6SJoseph Chen				continue;
1824a8c2d6SJoseph Chen			fi
1924a8c2d6SJoseph Chen
209d00b70aSJoseph Chen			if grep  -q '^PATH=img/' ${ini}; then
2107c86261SJoseph Chen				continue;
2207c86261SJoseph Chen			fi
2307c86261SJoseph Chen
249d00b70aSJoseph Chen			echo "pack Input: ${ini}"
259d00b70aSJoseph Chen			./tools/boot_merger ${ini}
26*f3822d68SJoseph Chen			rm -f *loader*.bin *download*.bin *idblock*.img
2724a8c2d6SJoseph Chen			echo
2824a8c2d6SJoseph Chen		fi
2924a8c2d6SJoseph Chen	done
3024a8c2d6SJoseph Chen}
3124a8c2d6SJoseph Chen
3224a8c2d6SJoseph Chenpack_trust_image()
3324a8c2d6SJoseph Chen{
3424a8c2d6SJoseph Chen	local files ini TOS TOS_TA
3524a8c2d6SJoseph Chen
3624a8c2d6SJoseph Chen# Pack 32-bit trust
3724a8c2d6SJoseph Chen	files=`ls ./RKTRUST/*TOS*.ini`
389d00b70aSJoseph Chen	for ini in ${files}
3924a8c2d6SJoseph Chen	do
409d00b70aSJoseph Chen		if grep  -q '^PATH=img/' ${ini}; then
4107c86261SJoseph Chen			continue;
4207c86261SJoseph Chen		fi
4307c86261SJoseph Chen
449d00b70aSJoseph Chen		if [ -f "${ini}" ]; then
459d00b70aSJoseph Chen			echo "pack Input: ${ini}"
4624a8c2d6SJoseph Chen
4724a8c2d6SJoseph Chen			# Parse orignal path
489d00b70aSJoseph Chen			TOS=`sed -n "/TOS=/s/TOS=//p" ${ini}|tr -d '\r'`
499d00b70aSJoseph Chen			TOS_TA=`sed -n "/TOSTA=/s/TOSTA=//p" ${ini}|tr -d '\r'`
5024a8c2d6SJoseph Chen
5124a8c2d6SJoseph Chen			# replace "./tools/rk_tools/" with "./" to compatible legacy ini content of rkdevelop branch
5224a8c2d6SJoseph Chen			TOS=$(echo ${TOS} | sed "s/tools\/rk_tools\//\.\//g")
5324a8c2d6SJoseph Chen			TOS_TA=$(echo ${TOS_TA} | sed "s/tools\/rk_tools\//\.\//g")
5424a8c2d6SJoseph Chen
559d00b70aSJoseph Chen			if [ x${TOS_TA} != x -a x${TOS} != x ]; then
5624a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
5724a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS_TA} ./trust_with_ta.img 0x68400000
589d00b70aSJoseph Chen			elif [ ${TOS} ]; then
5924a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
609d00b70aSJoseph Chen			elif [ ${TOS_TA} ]; then
6124a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS_TA} ./trust.img 0x68400000
6224a8c2d6SJoseph Chen			else
6324a8c2d6SJoseph Chen				exit 1
6424a8c2d6SJoseph Chen			fi
65*f3822d68SJoseph Chen			rm -f trust*.img
6624a8c2d6SJoseph Chen			echo
6724a8c2d6SJoseph Chen		fi
6824a8c2d6SJoseph Chen	done
6924a8c2d6SJoseph Chen
7024a8c2d6SJoseph Chen# Pack 64-bit trust
7124a8c2d6SJoseph Chen	files=`ls ./RKTRUST/*TRUST*.ini`
729d00b70aSJoseph Chen	for ini in ${files}
7324a8c2d6SJoseph Chen	do
749d00b70aSJoseph Chen		if grep  -q '^PATH=img/' ${ini}; then
7507c86261SJoseph Chen			continue;
7607c86261SJoseph Chen		fi
7707c86261SJoseph Chen
789d00b70aSJoseph Chen		if [ -f "${ini}" ]; then
799d00b70aSJoseph Chen			echo "pack Input: ${ini}"
809d00b70aSJoseph Chen			./tools/trust_merger ${ini}
8124a8c2d6SJoseph Chen			rm trust*.img
8224a8c2d6SJoseph Chen			echo
8324a8c2d6SJoseph Chen		fi
8424a8c2d6SJoseph Chen	done
8524a8c2d6SJoseph Chen}
8624a8c2d6SJoseph Chen
877448aaf2SJoseph Chencheck_dirty()
887448aaf2SJoseph Chen{
897448aaf2SJoseph Chen	for file in `find -name '*spl*.bin' -o -name '*tpl*.bin' -o -name '*usbplug*.bin'`; do
907448aaf2SJoseph Chen		if strings ${file} | grep '\-dirty ' ; then
917448aaf2SJoseph Chen			echo "ERROR: ${file} is dirty"
927448aaf2SJoseph Chen			exit 1
937448aaf2SJoseph Chen		fi
947448aaf2SJoseph Chen	done
957448aaf2SJoseph Chen}
967448aaf2SJoseph Chen
97c0efc7efSJoseph Chencheck_stripped()
98c0efc7efSJoseph Chen{
99c0efc7efSJoseph Chen	for elf in `find -name '*bl31*.elf'`; do
100c0efc7efSJoseph Chen		info=`file ${elf}`
101c0efc7efSJoseph Chen		if echo ${info} | grep -q "not stripped" ; then
102c0efc7efSJoseph Chen			echo "ERROR: ${elf} is not stripped"
103c0efc7efSJoseph Chen			exit 1
104c0efc7efSJoseph Chen		fi
105c0efc7efSJoseph Chen	done
106c0efc7efSJoseph Chen}
107c0efc7efSJoseph Chen
10824a8c2d6SJoseph Chenfinish()
10924a8c2d6SJoseph Chen{
11024a8c2d6SJoseph Chen	echo "Packing loader and trust successfully."
11124a8c2d6SJoseph Chen	echo
11224a8c2d6SJoseph Chen}
11324a8c2d6SJoseph Chen
1147448aaf2SJoseph Chencheck_dirty
115c0efc7efSJoseph Chencheck_stripped
11624a8c2d6SJoseph Chenpack_loader_image
11724a8c2d6SJoseph Chenpack_trust_image
11824a8c2d6SJoseph Chenfinish
119