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