If anything, what Kyle described is easier. zramswap
(from zram-tools
) is a script that takes the nitty-gritty away. But if you look at /usr/sbin/zramswap
, it invokes all the same commands.
Maybe use the other suggestion? systemctl status -l systemd-zram-setup@zram0.service
.
Hi I’m trying to set my zram but I’m having same Flanders51 problem and Lionel’s suggestion didn’t work for me (reboot and make the procedure again).
Here my screenshots.
Please some help?
Thank you so much
Show us your /usr/lib/systemd/zram-generator.conf.d/librem5.conf
please.
Maybe, kill some running apps.and restart service again…
Do you have any autostarting apps?
I have not tried the procedure from the original post. Instead, I added the following configuration file and rebooted. I would suggest it instead. The documentation is available in man zram-generator.conf
.
$ cat /etc/systemd/zram-generator.conf.d/librem5.conf
[zram0]
zram-fraction = 2
max-zram-size = none
That configuration file overrides the configuration file with the same name, which is provided by Purism.
$ cat /usr/lib/systemd/zram-generator.conf.d/librem5.conf
[zram0]
So, this combines the following advice.
[zram0]
Thank you
Please I’m trying to do that. What means it?
I’ve to create a second file and save it, like this one, in my microsd?
Thank you
I do not know. However, the following bit of the log seems to indicate that /dev/zram0
is busy by some other process when zram-generator
tries to configure it.
I do not know how to investigate it. But I found the following suggestion:
As far as I know Debian has two packages that makes configuring swap on a zram device fairly easy.
They are “zram-tools” and “systemd-zram-generator”.
You should probably check that you have only one installed.
I only have systemd-zram-generator
installed of the two.
Only do this (don’t follow any other procedure, i cannot help you), or Why and how to extend ZRAM on L5. A revolution for Librem 5 stability! - #34 by riabenko (may be a better procedure):
I did on my 3 librem 5:
1.Reboot
2.Close immediately any running app because of autostart (or better: remove them from the folder temporarily).
3. And immediately in terminal copy past this in terminal:
sudo tee /usr/lib/systemd/zram-generator.conf.d/librem5.conf <<EOF
[zram0]
zram-fraction = 2
max-zram-size = none
EOF
sudo systemctl restart systemd-zram-setup@zram0
That means any path of a script like /home/purism/myscrip.sh, that contains the commands you want to run at boot. has to be replaced by the text you want at this place.
For our purpose, the script /home/purism/myscrip.sh
should contain:
#!/bin/sh
sudo swapoff /dev/zram0
sudo zramctl --reset /dev/zram0
sudo zramctl --find --size 5G
#/dev/zram0
sudo mkswap /dev/zram0
sudo swapon /dev/zram0
I would have liked to see the full text. Go to the menu (top right) and click on “zoom -”
Have you done chmod +x ~/Documents/2.sh to make the script executable, otherwise, you need to have ExecStart=/usr/bin/bash /home/purism/Documents/2.sh
in the service file. (restart the service after modification).
PS: I have edited my original post to do the changes through one or two scripts. I hope it is clearer for all now after the replies.
That screenshot is rotated for me. Difficult to read!
2.sh
needs to start with a line #! /shell
where /shell
means a path to a valid shell e.g. /bin/bash
Does it?
Well seen!. It is also why i converted my instructions in my original post, to avoid typing mistakes.