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