From 36acb1485f6ce6926f7f40415f77742e84dbd6fb Mon Sep 17 00:00:00 2001 From: Zain Wang Date: Tue, 1 Mar 2022 14:48:41 +0800 Subject: [PATCH] common: mk-misc.sh: pack system key to misc.img Signed-off-by: Zain Wang Change-Id: I938684d601a1840a35201a04245893219b56d150 --- common/mk-misc.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 common/mk-misc.sh diff --git a/common/mk-misc.sh b/common/mk-misc.sh new file mode 100755 index 0000000..26ddccf --- /dev/null +++ b/common/mk-misc.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +set -ex + +INPUT=$1 +OUTPUT=$2 +SIZE=$3 +BUF=$4 + +COMMON_DIR=$(dirname $(readlink -f $0)) +ROCKIMG_DIR=${COMMON_DIR}/../rockimg + +if [ ! -e ${INPUT} ]; then + echo "ERROR: No input file \"${INPUT}\"" + exit -1 +fi + +rm ${ROCKIMG_DIR}/${OUTPUT} || true + +if [ ${SIZE} -gt 1024 ]; then + echo "ERROR: SIZE bigger than 1K" + exit -1 +fi + +BIG_END=$[SIZE / 256] +LIT_END=$[SIZE - (BIG_END * 256)] +BIG_END=$(echo "ibase=10;obase=16;${BIG_END}" | bc) +LIT_END=$(echo "ibase=10;obase=16;${LIT_END}" | bc) + +dd if=${INPUT} of=${OUTPUT} bs=1k count=10 +echo -en "\x${LIT_END}\x${BIG_END}" >> ${OUTPUT} +echo -n "$BUF" >> ${OUTPUT} +SKIP=$[10 * 1024 + SIZE + 2] +dd if=${INPUT} of=${OUTPUT} seek=${SKIP} skip=${SKIP} bs=1