- debian
- ubuntu
- fedora
- - rocky_epel
- - alma_epel
+ - rocky
+ - alma
- gentoo
+ - opensuse
format:
- directory
- tar
raise NotImplementedError
@classmethod
- def remove_packages(cls, state: "MkosiState", remove: List[str]) -> None:
+ def remove_packages(cls, state: "MkosiState", remove: list[str]) -> None:
raise NotImplementedError
+
+ @classmethod
+ def filesystem(cls) -> str:
+ raise NotImplementedError
class ArchInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/pacman/pkg"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "ext4"
+
@classmethod
def install(cls, state: "MkosiState") -> None:
return install_arch(state)
class CentosInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/yum", "var/cache/dnf"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "xfs"
+
@classmethod
@complete_step("Installing CentOS…")
def install(cls, state: "MkosiState") -> None:
run(["systemctl", "--root", state.root, "enable", "systemd-resolved"])
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/apt/archives"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "ext4"
+
@staticmethod
def kernel_image(name: str, architecture: str) -> Path:
return Path(f"boot/vmlinuz-{name}")
class FedoraInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/dnf"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "btrfs"
+
@classmethod
def install(cls, state: "MkosiState") -> None:
return install_fedora(state)
class GentooInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/binpkgs", "var/cache/distfiles"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "ext4"
+
@staticmethod
def kernel_image(name: str, architecture: str) -> Path:
_, kimg_path = ARCHITECTURES[architecture]
class MageiaInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/dnf"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "ext4"
+
@classmethod
def install(cls, state: "MkosiState") -> None:
return install_mageia(state)
class OpenmandrivaInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/dnf"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "ext4"
+
@classmethod
def install(cls, state: "MkosiState") -> None:
return install_openmandriva(state)
class OpensuseInstaller(DistributionInstaller):
@classmethod
- def cache_path(cls) -> List[str]:
+ def cache_path(cls) -> list[str]:
return ["var/cache/zypp/packages"]
+ @classmethod
+ def filesystem(cls) -> str:
+ return "btrfs"
+
@classmethod
def install(cls, state: "MkosiState") -> None:
return install_opensuse(state)