On Wed, 01 May 2024 17:01:47 +0100 Patrick O'Callaghan wrote:
On Wed, 2024-05-01 at 14:42 +0200, Francis.Montagnac(a)inria.fr wrote:
> On Wed, 01 May 2024 10:51:34 +0100 Patrick O'Callaghan wrote:
>> May 01 08:00:50 Bree kernel: Freezing user space processes
>> and hibernation did work. Possibly a timing issue, so
I'll have to
>> look at my hibernate-preparation script:
> Yes: simply replace ExecStart by ExecStartPre. This will make
> systemd-hibernate surely start after this script.
> You don't need to specify an ExecStart.
I want to disable swap on zram0 and make sure it's enabled on
secondary storage.
I got that.
Do you mean that will happen automatically?
No: your hibernate-preparation script is needed.
systemd do not wait for an ExecStart command to finish before starting
the next job (here systemd-hibernate.service).
On the opposite, it waits for an ExecStartPre to finish before
executing the ExecStart.
I was wrong saying that an ExecStart was not needed.
Try thus that:
[Unit]
Description=Enable swap file and disable zram before hibernate
Before=systemd-hibernate.service
[Service]
SyslogIdentifier=%N
User=root
Type=oneshot
ExecStartPre=/bin/bash -c ' \
swapon -a; \
swapoff /dev/zram0; \
exit 0; \
'
ExecStart=/bin/true
[Install]
WantedBy=systemd-hibernate.service
--
francis.montagnac(a)inria.fr, DSI-SP, Tel: (33) 04 92 38 79 11, Bur: C111
INRIA Sophia, 2004, route des Lucioles - BP 93 06902 Sophia Antipolis Cedex