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