diff options
| author | Jan Kiszka <jan.kiszka@siemens.com> | 2012-01-27 19:44:53 +0100 |
|---|---|---|
| committer | Jan Kiszka <jan.kiszka@siemens.com> | 2012-04-16 15:41:20 +0200 |
| commit | 0d6b9cc7420dd2d531b48508f0d4083d1c6a632a (patch) | |
| tree | ae3bae24b4b18ad28fedbed9da949c1198cbd3d6 /scripts/signrom.sh | |
| parent | e6f5d0be730a41bacb10edba19d1369ec2949486 (diff) | |
| download | focaccia-qemu-0d6b9cc7420dd2d531b48508f0d4083d1c6a632a.tar.gz focaccia-qemu-0d6b9cc7420dd2d531b48508f0d4083d1c6a632a.zip | |
signrom: Rewrite as python script
Now that we have a hard dependency on python anyway, we can replace the slow shell script to calculate the option ROM checksum with a fast AND portable python version. Tested both with python 2.7 and 3.1. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Diffstat (limited to 'scripts/signrom.sh')
| -rwxr-xr-x | scripts/signrom.sh | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/scripts/signrom.sh b/scripts/signrom.sh deleted file mode 100755 index 9dc5c63dde..0000000000 --- a/scripts/signrom.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -# Option ROM Signing utility -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. -# -# Copyright Novell Inc, 2009 -# Authors: Alexander Graf <agraf@suse.de> -# -# Syntax: signrom.sh <input> <output> - -# did we get proper arguments? -test "$1" -a "$2" || exit 1 - -sum=0 - -# find out the file size -x=`dd if="$1" bs=1 count=1 skip=2 2>/dev/null | od -t u1 -A n` -#size=`expr $x \* 512 - 1` -size=$(( $x * 512 - 1 )) - -# now get the checksum -nums=`od -A n -t u1 -v -N $size "$1"` -for i in ${nums}; do - # add each byte's value to sum - sum=`expr \( $sum + $i \) % 256` -done - -sum=$(( (256 - $sum) % 256 )) -sum_octal=$( printf "%o" $sum ) - -# and write the output file -cp "$1" "$2" -printf "\\$sum_octal" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/dev/null |