return "pigz" if find_binary("pigz", root=context.config.tools()) else "gzip"
+def fixup_vmlinuz_location(context: Context) -> None:
+ for d in context.root.glob("boot/vmlinuz-*"):
+ kver = d.name.removeprefix("vmlinuz-")
+ vmlinuz = context.root / "usr/lib/modules" / kver / "vmlinuz"
+ # Some distributions (OpenMandriva) symlink /usr/lib/modules/<kver>/vmlinuz to /boot/vmlinuz-<kver>, so get rid
+ # of the symlink and copy the actual vmlinuz to /usr/lib/modules/<kver>.
+ if vmlinuz.is_symlink() and vmlinuz.is_relative_to("/boot"):
+ vmlinuz.unlink()
+ if not vmlinuz.exists():
+ shutil.copy2(d, vmlinuz)
+
+
def gen_kernel_images(context: Context) -> Iterator[tuple[str, Path]]:
if not (context.root / "usr/lib/modules").exists():
return
run_prepare_scripts(context, build=False)
install_build_packages(context)
run_prepare_scripts(context, build=True)
+ fixup_vmlinuz_location(context)
run_depmod(context, cache=True)
save_cache(context)
install_build_dest(context)
install_extra_trees(context)
run_postinst_scripts(context)
+ fixup_vmlinuz_location(context)
configure_autologin(context)
configure_os_release(context)
# SPDX-License-Identifier: LGPL-2.1+
-import shutil
import tempfile
from collections.abc import Iterable, Sequence
from pathlib import Path
policyrcd.unlink()
- for d in context.root.glob("boot/vmlinuz-*"):
- kver = d.name.removeprefix("vmlinuz-")
- vmlinuz = context.root / "usr/lib/modules" / kver / "vmlinuz"
- if not vmlinuz.exists():
- shutil.copy2(d, vmlinuz)
-
# systemd-gpt-auto-generator is disabled by default in Ubuntu:
# https://git.launchpad.net/ubuntu/+source/systemd/tree/debian/systemd.links?h=ubuntu/noble-proposed.
# Let's make sure it is enabled by default in our images.
# SPDX-License-Identifier: LGPL-2.1+
-import shutil
from collections.abc import Iterable, Sequence
from mkosi.config import Architecture
def install_packages(cls, context: Context, packages: Sequence[str], apivfs: bool = True) -> None:
super().install_packages(context, packages, apivfs)
- for d in context.root.glob("boot/vmlinuz-*"):
- kver = d.name.removeprefix("vmlinuz-")
- vmlinuz = context.root / "usr/lib/modules" / kver / "vmlinuz"
- if not vmlinuz.exists():
- shutil.copy2(d, vmlinuz)
-
@classmethod
@listify
def repositories(cls, context: Context) -> Iterable[RpmRepository]:
# SPDX-License-Identifier: LGPL-2.1+
-import shutil
from collections.abc import Iterable, Sequence
from mkosi.config import Architecture
def install_packages(cls, context: Context, packages: Sequence[str], apivfs: bool = True) -> None:
super().install_packages(context, packages, apivfs)
- for d in context.root.glob("boot/vmlinuz-*"):
- kver = d.name.removeprefix("vmlinuz-")
- vmlinuz = context.root / "usr/lib/modules" / kver / "vmlinuz"
- # Openmandriva symlinks /usr/lib/modules/<kver>/vmlinuz to /boot/vmlinuz-<kver>, so get rid of the symlink
- # and put the actual vmlinuz in /usr/lib/modules/<kver>.
- if vmlinuz.is_symlink():
- vmlinuz.unlink()
- if not vmlinuz.exists():
- shutil.copy2(d, vmlinuz)
-
@classmethod
@listify
def repositories(cls, context: Context) -> Iterable[RpmRepository]: