Annotation of qemu/pc-bios/optionrom/signrom.sh, revision 1.1.1.1

1.1       root        1: #!/bin/sh
                      2: 
                      3: # Option ROM Signing utility
                      4: #
                      5: # This program is free software; you can redistribute it and/or modify
                      6: # it under the terms of the GNU General Public License as published by
                      7: # the Free Software Foundation; either version 2 of the License, or
                      8: # (at your option) any later version.
                      9: #
                     10: # This program is distributed in the hope that it will be useful,
                     11: # but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
                     13: # GNU General Public License for more details.
                     14: #
                     15: # You should have received a copy of the GNU General Public License
                     16: # along with this program; if not, see <http://www.gnu.org/licenses/>.
                     17: #
                     18: # Copyright Novell Inc, 2009
                     19: #   Authors: Alexander Graf <[email protected]>
                     20: #
                     21: # Syntax: signrom.sh <input> <output>
                     22: 
                     23: # did we get proper arguments?
                     24: test "$1" -a "$2" || exit 1
                     25: 
                     26: sum=0
                     27: 
                     28: # find out the file size
                     29: x=`dd if="$1" bs=1 count=1 skip=2 2>/dev/null | od -t u1 -A n`
                     30: #size=`expr $x \* 512 - 1`
                     31: size=$(( $x * 512 - 1 ))
                     32: 
                     33: # now get the checksum
                     34: nums=`od -A n -t u1 -v "$1"`
                     35: for i in ${nums}; do
                     36:     # add each byte's value to sum
                     37:     sum=`expr $sum + $i`
                     38: done
                     39: 
                     40: sum=$(( $sum % 256 ))
                     41: sum=$(( 256 - $sum ))
                     42: sum_octal=$( printf "%o" $sum )
                     43: 
                     44: # and write the output file
                     45: cp "$1" "$2"
                     46: printf "\\$sum_octal" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/dev/null

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.