Annotation of qemu/scripts/signrom.py, revision 1.1

1.1     ! root        1: #
        !             2: # Option ROM signing utility
        !             3: #
        !             4: # Authors:
        !             5: #  Jan Kiszka <[email protected]>
        !             6: #
        !             7: # This work is licensed under the terms of the GNU GPL, version 2 or later.
        !             8: # See the COPYING file in the top-level directory.
        !             9: 
        !            10: import sys
        !            11: import struct
        !            12: 
        !            13: if len(sys.argv) < 3:
        !            14:     print('usage: signrom.py input output')
        !            15:     sys.exit(1)
        !            16: 
        !            17: fin = open(sys.argv[1], 'rb')
        !            18: fout = open(sys.argv[2], 'wb')
        !            19: 
        !            20: fin.seek(2)
        !            21: size = ord(fin.read(1)) * 512 - 1
        !            22: 
        !            23: fin.seek(0)
        !            24: data = fin.read(size)
        !            25: fout.write(data)
        !            26: 
        !            27: checksum = 0
        !            28: for b in data:
        !            29:     # catch Python 2 vs. 3 differences
        !            30:     if isinstance(b, int):
        !            31:         checksum += b
        !            32:     else:
        !            33:         checksum += ord(b)
        !            34: checksum = (256 - checksum) % 256
        !            35: 
        !            36: # Python 3 no longer allows chr(checksum)
        !            37: fout.write(struct.pack('B', checksum))
        !            38: 
        !            39: fin.close()
        !            40: fout.close()

unix.superglobalmegacorp.com

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