diff --git a/stages/org.osbuild.kickstart b/stages/org.osbuild.kickstart index f3439cfc..21d03ace 100755 --- a/stages/org.osbuild.kickstart +++ b/stages/org.osbuild.kickstart @@ -243,6 +243,9 @@ def main(tree, options): # pylint: disable=too-many-branches if reboot: config += [reboot] config += make_network(options) + kargs_append = options.get("bootloader", {}).get("append") + if kargs_append: + config += [f"bootloader --append='{kargs_append}'"] target = os.path.join(tree, path) base = os.path.dirname(target) diff --git a/stages/org.osbuild.kickstart.meta.json b/stages/org.osbuild.kickstart.meta.json index 773c9f09..21ad84b3 100644 --- a/stages/org.osbuild.kickstart.meta.json +++ b/stages/org.osbuild.kickstart.meta.json @@ -542,6 +542,17 @@ "items": { "$ref": "#/definitions/network-options-ref" } + }, + "bootloader": { + "description": "Specifies how the boot loader should be installed", + "additionalProperties": false, + "type": "object", + "properties": { + "append": { + "description": "Specifies additional kernel parameters", + "type": "string" + } + } } } } diff --git a/stages/test/test_kickstart.py b/stages/test/test_kickstart.py index e62f4433..1aeeb305 100644 --- a/stages/test/test_kickstart.py +++ b/stages/test/test_kickstart.py @@ -234,6 +234,7 @@ TEST_INPUT = [ }, "ostreecontainer --url=http://some-ostree-url.com/foo", ), + ({"bootloader": {"append": "karg1 karg2=0"}}, "bootloader --append='karg1 karg2=0'"), ]