]
with resource_path(mkosi.resources) as r:
- args, [config] = parse_config(cmdline + ["--include", os.fspath(r / "mkosi-initrd"), "build"])
+ cmdline += ["--include", os.fspath(r / "mkosi-initrd")]
+
+ for include in state.config.initrd_include:
+ cmdline += ["--include", os.fspath(include)]
+
+ args, [config] = parse_config(cmdline + ["build"])
config = dataclasses.replace(config, image="default-initrd")
assert config.output_dir
"""
profile: Optional[str]
- include: tuple[str, ...]
+ include: list[Path]
+ initrd_include: list[Path]
images: tuple[str, ...]
dependencies: tuple[str, ...]
minimum_version: Optional[GenericVersion]
parse=config_make_list_parser(delimiter=",", reset=False, parse=make_path_parser()),
help="Include configuration from the specified file or directory",
),
+ MkosiConfigSetting(
+ dest="initrd_include",
+ section="Config",
+ parse=config_make_list_parser(delimiter=",", reset=False, parse=make_path_parser()),
+ help="Include configuration from the specified file or directory when building the initrd",
+ ),
MkosiConfigSetting(
dest="profile",
section="Config",
{bold("CONFIG")}:
Profile: {none_to_none(config.profile)}
Include: {line_join_list(config.include)}
+ Initrd Include: {line_join_list(config.initrd_include)}
Images: {line_join_list(config.images)}
Dependencies: {line_join_list(config.dependencies)}
Minimum Version: {none_to_none(config.minimum_version)}
: Note that each path containing extra configuration is only parsed
once, even if included more than once with `Include=`.
+`InitrdInclude=`, `--initrd-include=`
+
+: Same as `Include=`, but the extra configuration files or directories
+ are included when building the default initrd.
+
`Images=`, `--image=`
: If specified, only build the given image. Can be specified multiple
],
"Include": [],
"Incremental": false,
+ "InitrdInclude": [
+ "/foo/bar"
+ ],
"InitrdPackages": [
"clevis"
],
image_id = "myimage",
image_version = "5",
images = ("default", "initrd"),
- include = tuple(),
+ include = [],
incremental = False,
+ initrd_include = [Path("/foo/bar"),],
initrd_packages = ["clevis"],
initrds = [Path("/efi/initrd1"), Path("/efi/initrd2")],
kernel_command_line = [],