zte's code,first commit
Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/build/gen_app_hash.sh b/ap/build/gen_app_hash.sh
new file mode 100755
index 0000000..4794038
--- /dev/null
+++ b/ap/build/gen_app_hash.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+echo $#
+
+if [ $# -lt 3 ]; then
+ echo "$0 app_list_file rootfs_dir kernel_dir"
+ exit 1
+fi
+APP_LIST_FILE=$1
+ROOTFS_DIR=$2
+KERNEL_DIR=$3
+
+if [ ! -f $APP_LIST_FILE ]; then
+ echo "$APP_LIST_FILE NOT exist"
+ exit 2
+fi
+
+if [ ! -d $KERNEL_DIR ]; then
+ echo "$KERNEL_DIR NOT exist"
+ exit 3
+fi
+
+if [ ! -d $ROOTFS_DIR ]; then
+ echo "$ROOTFS_DIR NOT exist"
+ exit 4
+fi
+VERIFY_APP_HEADER=$KERNEL_DIR/include/linux/verify_app.h
+
+file_array=()
+hash_array=()
+file_cnt=0
+while read file_item; do
+ if [ -f ${ROOTFS_DIR}${file_item} ]; then
+ hash_val=`sha256sum ${ROOTFS_DIR}${file_item} | awk '{ print $1 }'`
+ echo "${file_item} $hash_val ok"
+ file_array+=("$file_item")
+ hash_array+=("$hash_val")
+ let "file_cnt=file_cnt+1"
+ else
+ echo "regular file ${ROOTFS_DIR}${file_item} NOT exist"
+ exit 9
+ fi
+done < "${APP_LIST_FILE}"
+
+# 打印数组中的数据
+
+echo "#ifndef __VERIFY_APP_H" > $VERIFY_APP_HEADER
+echo "#define __VERIFY_APP_H" >> $VERIFY_APP_HEADER
+echo "" >> $VERIFY_APP_HEADER
+
+echo "const int g_verify_app_cnt = $file_cnt;" >> $VERIFY_APP_HEADER
+echo "const char *g_verify_file_array[] = {" >> $VERIFY_APP_HEADER
+for element in "${file_array[@]}"; do
+ echo " \"$element\"," >> $VERIFY_APP_HEADER
+done
+echo "};" >> $VERIFY_APP_HEADER
+
+echo "const char *g_verify_hash_array[] = {" >> $VERIFY_APP_HEADER
+for element in "${hash_array[@]}"; do
+ echo " \"$element\"," >> $VERIFY_APP_HEADER
+done
+echo "};" >> $VERIFY_APP_HEADER
+
+echo "" >> $VERIFY_APP_HEADER
+echo "#endif" >> $VERIFY_APP_HEADER