5 function write_to_4bytes_binary()
7 HEX=`echo "obase=16; $1" | bc`
16 for str in $(echo $HEX | sed 's/../& /g' | rev); do
17 str=$(echo -en $str | rev)
22 function write_to_padding_binary()
26 PAD_SIZE=$(($(($PAD - $(($1 % $PAD)))) % $PAD))
27 if [ $PAD_SIZE -gt 0 ]; then
28 dd if=/dev/zero of=./padding bs=1 count=$PAD_SIZE 2>/dev/zero
33 echo -en " | PAD: $PAD_SIZE[B]\n"
36 function get_dtb_size()
38 SIZE=`du -b $1 | awk '{print $1}'`
39 PAD_SIZE=$(($(($PAD - $(($SIZE % $PAD)))) % $PAD))
40 DTB_SIZE=$(($SIZE + $PAD_SIZE))
48 OUT_DIR="./arch/arm/boot"
49 DTS_DIR="./arch/arm/boot/dts"
55 "sprd-scx35-tizen_z3-r00.dtb"
56 "sprd-scx35-tizen_z3-r01.dtb"
57 "sprd-scx35-tizen_z3-r02.dtb"
58 "sprd-scx35-tizen_z3-r03.dtb"
77 HEADER_SIZE=$((12 + 20 * $DTB_CNT + 4))
80 echo -en "$HEADER_SIZE[B]\n"
82 echo -en $SPRD_MAGIC > $OUT
84 write_to_4bytes_binary $SPRD_VERSION $OUT
86 write_to_4bytes_binary $DTB_CNT $OUT
89 for i in ${DTB[*]}; do
92 write_to_4bytes_binary $CHIPSET $OUT
95 write_to_4bytes_binary $PLATFORM $OUT
97 PLATFORM=$(($PLATFORM + 1))
99 write_to_4bytes_binary $REV $OUT
102 write_to_4bytes_binary $DTB_OFFSET $OUT
106 write_to_4bytes_binary $DTB_SIZE $OUT
109 DTB_OFFSET=$(($DTB_OFFSET + $DTB_SIZE))
111 echo -en "$i not found.\nexit\n"
116 write_to_4bytes_binary $ENDOFHEADER $OUT
119 write_to_padding_binary $HEADER_SIZE
120 cat $OUT_TMP padding > $OUT
124 for i in ${DTB[*]}; do
126 if [ -e $FILE ]; then
130 cat $OUT $FILE > $OUT_TMP
132 SIZE=`du -b $FILE | awk '{print $1}'`
133 echo -en "$SIZE[B]\n"
135 write_to_padding_binary $SIZE
136 cat $OUT_TMP padding > $OUT
138 echo -en "$i not found.\nexit\n"
150 S=`du -b $OUT_DIR/$OUT | awk '{print $1}'`
152 echo -en "## OUT: $OUT size: $S[B]; $S_K[K]\n"