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