Disable zswap (#883)

Disable zswap when using zram.

The swap device is now initialised before the bootloader, inline with the
installation guide.
This commit is contained in:
Thomas 2022-01-20 17:49:18 +00:00 committed by GitHub
parent 671bf7595c
commit 34488d25c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 4 deletions

View File

@ -619,8 +619,11 @@ class Installer:
with open(f"{self.target}/etc/systemd/zram-generator.conf", "w") as zram_conf:
zram_conf.write("[zram0]\n")
if self.enable_service('systemd-zram-setup@zram0.service'):
return True
self.enable_service('systemd-zram-setup@zram0.service')
self.zram_enabled = True
return True
else:
raise ValueError(f"Archinstall currently only supports setting up swap on zram")
@ -727,6 +730,12 @@ class Installer:
if bind_path is not None: # and root_fs_type == 'btrfs':
options_entry = f"rootflags=subvol={bind_path} " + options_entry
# Zswap should be disabled when using zram.
#
# https://github.com/archlinux/archinstall/issues/881
if self.zram_enabled:
options_entry = "zswap.enabled=0 " + options_entry
if real_device := self.detect_encryption(root_partition):
# TODO: We need to detect if the encrypted device is a whole disk encryption,
# or simply a partition encryption. Right now we assume it's a partition (and we always have)

View File

@ -219,11 +219,11 @@ def perform_installation(mountpoint):
installation.set_hostname(archinstall.arguments['hostname'])
if archinstall.arguments['mirror-region'].get("mirrors", None) is not None:
installation.set_mirrors(archinstall.arguments['mirror-region']) # Set the mirrors in the installation medium
if archinstall.arguments['swap']:
installation.setup_swap('zram')
if archinstall.arguments["bootloader"] == "grub-install" and archinstall.has_uefi():
installation.add_additional_packages("grub")
installation.add_bootloader(archinstall.arguments["bootloader"])
if archinstall.arguments['swap']:
installation.setup_swap('zram')
# If user selected to copy the current ISO network configuration
# Perform a copy of the config