xref: /OK3568_Linux_fs/device/rockchip/common/scripts/mk-misc.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/bash -e
2
3INPUT=$1
4OUTPUT=$2
5SIZE=$3
6BUF=$4
7
8if [ ! -e "$INPUT" ]; then
9	echo "ERROR: No input file \"$INPUT\""
10	exit 1
11fi
12
13if [ "$SIZE" -gt 1024 ]; then
14	echo "ERROR: SIZE bigger than 1K"
15	exit 1
16fi
17
18BIG_END=$[SIZE / 256]
19LIT_END=$[SIZE - (BIG_END * 256)]
20BIG_END=$(echo "ibase=10;obase=16;$BIG_END" | bc)
21LIT_END=$(echo "ibase=10;obase=16;$LIT_END" | bc)
22
23rm -rf "$OUTPUT"
24dd if="$INPUT" of="$OUTPUT" bs=1k count=10
25echo -en "\x$LIT_END\x$BIG_END" >> "$OUTPUT"
26echo -n "$BUF" >> "$OUTPUT"
27SKIP=$[10 * 1024 + SIZE + 2]
28dd if="$INPUT" of="$OUTPUT" seek=$SKIP skip=$SKIP bs=1
29