| #!/usr/bin/python |
| |
| # GFLT* uses sysvar_cmd to read/write flash instead of hnvram. |
| # ginstall wants to call hnvram like: |
| # hnvram -w VAR1=val1 -w VAR2=val2 -w VAR3=val3 |
| # |
| # This will translate those into sysvar_cmd calls. |
| |
| import subprocess |
| import sys |
| |
| SYSVAR_CMD = '/usr/bin/sysvar_cmd' |
| |
| |
| def Usage(): |
| print 'Usage: hnvram -w var1=val1 -w var2=val2 ...' |
| |
| |
| def main(): |
| if len(sys.argv) < 3: |
| Usage() |
| sys.exit(1) |
| |
| vars_to_set = {} |
| idx = 1 |
| # iterate through args and collect writes together. |
| while idx < len(sys.argv): |
| arg = sys.argv[idx] |
| if arg == '-w': |
| if idx+1 == len(sys.argv): |
| Usage() |
| sys.exit(1) |
| arg = sys.argv[idx+1] |
| key_val = arg.split('=', 1) |
| if len(key_val) != 2: |
| Usage() |
| sys.exit(1) |
| vars_to_set[key_val[0]] = key_val[1] |
| idx += 2 |
| else: |
| print 'Ignoring unknown flag: %s' % (arg,) |
| idx += 1 |
| |
| # Now we should have a map of key,values |
| retval = 0 |
| for k, v in vars_to_set.iteritems(): |
| retval |= subprocess.call([SYSVAR_CMD, '--set', k, v]) |
| sys.exit(retval) |
| |
| if __name__ == '__main__': |
| main() |