summaryrefslogtreecommitdiff
path: root/config-mgmt-swap.PKGBUILD
blob: 05bf209e695c9310aef70901f98b7f5658aa5b85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
. ${BUILDFILE%/*}/common.sh
pkgver=20170204.2

package() {
preamble

depends=(systemd-swap)

# In addition to what's configured in fstab, we use systemd-swap to
# manage advanced swap devices.  There are 3 things we enable in
# systemd-swap:
#
#  - zswap: compress pages on disk
#  - zram: compress pages in ram
#  - swapfc: in emergencies, allocate space in the filesystem to swap
#    to
add-file -m755 usr/share/holo/files/10-"$pkgname"/etc/systemd/swap.conf.holoscript <<EOF
#!/bin/sh
sed '
	s/^# Zswap$/& (compress pages on disk)/
	s/zswap_enabled=.*/zswap_enabled=1/
	/zswap_zpool=z3fold/ {
		a# The systemd-swap default '\''z3fold'\'' was added in Linux 4.7; because we
		a# are running an -lts kernel, we'\''re still on 4.4, so we fall back to
		a# zbud.
		azswap_zpool=zbud
	}

	/^# ZRam/s/.*/& (compress pages in RAM)/
	s/zram_enabled=.*/zram_enabled=1/

	s/swapfc_enabled=.*/swapfc_enabled=1/
' | awk '\$0==""||!x[\$0]++'
EOF

add-unit etc/systemd/system/local-fs.target.wants/systemd-swap.service

postamble
}