Revision 33bbd1de pc-bios/optionrom/signrom.sh

b/pc-bios/optionrom/signrom.sh
31 31
size=$(( $x * 512 - 1 ))
32 32

  
33 33
# now get the checksum
34
nums=`od -A n -t u1 -v "$1"`
34
nums=`od -A n -t u1 -v -N $size "$1"`
35 35
for i in ${nums}; do
36 36
    # add each byte's value to sum
37
    sum=`expr $sum + $i`
37
    sum=`expr \( $sum + $i \) % 256`
38 38
done
39 39

  
40
sum=$(( $sum % 256 ))
41
sum=$(( 256 - $sum ))
40
sum=$(( (256 - $sum) % 256 ))
42 41
sum_octal=$( printf "%o" $sum )
43 42

  
44 43
# and write the output file

Also available in: Unified diff