1 1.1.4.2 rmind #!/bin/sh 2 1.1.4.2 rmind 3 1.1.4.2 rmind kernel=$1 4 1.1.4.2 rmind 5 1.1.4.2 rmind 6 1.1.4.2 rmind CMF=0x78 7 1.1.4.2 rmind FLG=0x9c 8 1.1.4.2 rmind (echo $CMF && echo $FLG) | \ 9 1.1.4.2 rmind ${TOOL_AWK} '{ printf "%c", int($0); }' > ${kernel}.gz 10 1.1.4.2 rmind 11 1.1.4.2 rmind gzip -nc ${kernel} | dd bs=10 skip=1 of=${kernel}.gz.tmp 12 1.1.4.2 rmind SIZE=`ls -l ${kernel}.gz.tmp | cut -d ' ' -f 8` 13 1.1.4.2 rmind dd if=${kernel}.gz.tmp bs=`expr $SIZE - 8` count=1 >> ${kernel}.gz 14 1.1.4.2 rmind rm ${kernel}.gz.tmp 15 1.1.4.2 rmind 16 1.1.4.2 rmind # calculate adler-32 17 1.1.4.2 rmind ${TOOL_HEXDUMP} -v -e '1/1 "0x%02x\n"' ${kernel} | \ 18 1.1.4.2 rmind ${TOOL_AWK} 'BEGIN { A = 1; B = 0 } 19 1.1.4.2 rmind { 20 1.1.4.2 rmind A = (A + $0) % 65521; 21 1.1.4.2 rmind B = (B + A) % 65521; 22 1.1.4.2 rmind } 23 1.1.4.2 rmind END { printf "%c%c%c%c", B / 256, B % 256, A / 256, A % 256; }' \ 24 1.1.4.2 rmind >> ${kernel}.gz 25