You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
38 lines
1.2 KiB
4 months ago
|
'''
|
||
|
Some bootloader's support hashing partitions. This is a great feature for testing
|
||
|
correctness. However, the format for the way the hash is returned depends on the
|
||
|
implementation. The hash could be send through an INFO response, or be as part
|
||
|
of the OKAY response itself. This script is called with the first argument
|
||
|
as the string mesage from the okay response. The second argument is each
|
||
|
info response joined by newlines into one argument.
|
||
|
'''
|
||
|
|
||
|
import sys
|
||
|
|
||
|
|
||
|
def main():
|
||
|
'''
|
||
|
Data is sent back to the parent fuzzy_fastboot process through the stderr pipe.
|
||
|
There are two interpretations of this data by FF.
|
||
|
|
||
|
0 return code:
|
||
|
Anything written to STDERR will be interpreted as part of the hash.
|
||
|
|
||
|
non-zero return code:
|
||
|
Anything written to STDERR is part of the error message that will logged by FF
|
||
|
to explain why hash extraction failed.
|
||
|
|
||
|
Feel free to print to to STDOUT with print() as usual to print info to console
|
||
|
'''
|
||
|
script, response, info = sys.argv
|
||
|
# the info responses are concated by newlines
|
||
|
infos = [s.strip() for s in info.splitlines()]
|
||
|
sys.stderr.write(infos[-1])
|
||
|
#print("Extracted checksum: '%s'" % infos[-1])
|
||
|
# non-zero return code signals error
|
||
|
return 0
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
sys.exit(main())
|