Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 24 additions & 13 deletions mkosi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1491,20 +1491,31 @@ def build_microcode_initrd(context: Context) -> list[Path]:
return [microcode]


def finalize_kernel_modules_include(context: Context, *, include: Sequence[str], host: bool) -> set[str]:
final = {i for i in include if i not in ("default", "host")}
if "default" in include:
with chdir(context.resources / "mkosi-initrd"):
# TODO: figure out a way to propagate all relevant settings, not just arch
_, _, [initrd] = parse_config(
["--architecture", str(context.config.architecture)],
resources=context.resources,
)
final.update(initrd.kernel_modules_include)
if host or "host" in include:
final.update(loaded_modules())
def finalize_kernel_modules_include(context: Context, *, include: Sequence[str], host: bool) -> list[str]:
final = []

host_included = False
if host:
final.extend(loaded_modules())
host_included = True

for p in include:
if p == "default":
with chdir(context.resources / "mkosi-initrd"):
# TODO: figure out a way to propagate all relevant settings, not just arch
_, _, [initrd] = parse_config(
["--architecture", str(context.config.architecture)],
resources=context.resources,
)
final.extend(initrd.kernel_modules_include)
elif p == "host" and not host_included:
final.extend(loaded_modules())
host_included = True
else:
final.append(p)

return final
# deduplicate while maintaining ordering
return list({k: None for k in final})


def build_kernel_modules_initrd(context: Context, kver: str) -> Path:
Expand Down
Loading