Ok. Because of stateless, I had to edit service via systemctl edit zram-setup@zram0.service
to be sure that swupd repair
won’t “repair” modified service file.
I also made some modifications to service so I can specify compression algorithm and priority in /usr/local/lib/zram.conf.d
In override.conf (opened by executing systemctl edit zram-setup@zram0.service
) I wrote:
[Service]
ExecStart=
ExecStart=-/bin/sh -c 'echo $ZRAM_COMP_ALG > /sys/class/block/%i/comp_algorithm'
ExecStart=-/bin/sh -c 'echo $ZRAM_NUM_STR > /sys/class/block/%i/max_comp_streams'
ExecStart=-/bin/sh -c 'echo $ZRAM_DEV_SIZE > /sys/class/block/%i/disksize'
ExecStart=-/bin/sh -c '[ "$SWAP" = "y" ] && mkswap /dev/%i && swapon -p $SWAP_PRI /dev/%i'
ExecStop=
ExecStop=-/bin/sh -c '[ "$SWAP" = "y" ] && swapoff /dev/%i'
ExecStop=-/bin/sh -c 'echo 1 > /sys/class/block/%i/reset'
/usr/local/lib/zram.conf.d/zram0-env file:
ZRAM_COMP_ALG=zstd
ZRAM_NUM_STR=8
ZRAM_DEV_SIZE=4294967296
SWAP=y
SWAP_PRI=10