Blame stages/org.osbuild.zipl

Packit a20ca0
#!/usr/bin/python3
Packit a20ca0
"""
Packit a20ca0
Configure the z Initial Program Loader (zipl)
Packit a20ca0
Packit a20ca0
Configures `zipl` with a minimal config so it can be used in
Packit a20ca0
the assembler to write the bootmap and bootloader code.
Packit a20ca0
"""
Packit a20ca0
Packit a20ca0
import os
Packit a20ca0
import sys
Packit a20ca0
Packit Service 2d981f
import osbuild.api
Packit Service 2d981f
Packit a20ca0
Packit a20ca0
SCHEMA = """
Packit a20ca0
"additionalProperties": false,
Packit a20ca0
"properties": {
Packit a20ca0
  "timeout": {
Packit a20ca0
    "description": "Boot loader timeout value",
Packit a20ca0
    "type": "number"
Packit a20ca0
  }
Packit a20ca0
}
Packit a20ca0
"""
Packit a20ca0
Packit a20ca0
Packit a20ca0
def main(tree, options):
Packit a20ca0
    timeout = options.get("timeout", 0)
Packit a20ca0
    config = ["[defaultboot]",
Packit a20ca0
              "defaultauto",
Packit a20ca0
              "prompt=1",
Packit a20ca0
              f"timeout={timeout}",
Packit a20ca0
              "target=/boot"]
Packit a20ca0
Packit a20ca0
    new_zipl_conf = "\n".join(config) + "\n"
Packit a20ca0
Packit a20ca0
    os.makedirs(f"{tree}/etc", exist_ok=True)
Packit a20ca0
    with open(f"{tree}/etc/zipl.conf", "w") as f:
Packit a20ca0
        f.write(new_zipl_conf)
Packit a20ca0
Packit a20ca0
    return 0
Packit a20ca0
Packit a20ca0
Packit a20ca0
if __name__ == '__main__':
Packit Service 2d981f
    args = osbuild.api.arguments()
Packit a20ca0
    r = main(args["tree"], args["options"])
Packit a20ca0
    sys.exit(r)