| ''' |
| 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()) |