Re: [systemd-devel] [RFC] [PATCH 2/3] resume: add a tool to write a device node's major:minor to /sys/power/resume.
On Sat, Aug 23, 2014 at 2:47 PM, Ivan Shapovalov intelfx...@gmail.com wrote: This can be used to initiate a resume from hibernation by path to a swap device containing the hibernation image. The respective templated unit is also added. It is instantiated using path to the desired resume device. --- Makefile-man.am | 9 + Makefile.am | 28 -- man/systemd-res...@.service.xml | 81 +++ src/resume/Makefile | 1 + src/resume/resume.c | 82 units/systemd-res...@.service.in | 23 +++ 6 files changed, 220 insertions(+), 4 deletions(-) create mode 100644 man/systemd-res...@.service.xml create mode 12 src/resume/Makefile create mode 100644 src/resume/resume.c create mode 100644 units/systemd-res...@.service.in diff --git a/Makefile-man.am b/Makefile-man.am index 5c289dd..00daae2 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -76,6 +76,8 @@ MANPAGES += \ man/systemd-nspawn.1 \ man/systemd-path.1 \ man/systemd-remount-fs.service.8 \ + man/systemd-resume-generator.8 \ + man/systemd-resume@.service.8 \ man/systemd-run.1 \ man/systemd-shutdownd.service.8 \ man/systemd-sleep.conf.5 \ @@ -206,6 +208,7 @@ MANPAGES_ALIAS += \ man/systemd-poweroff.service.8 \ man/systemd-reboot.service.8 \ man/systemd-remount-fs.8 \ + man/systemd-resume.8 \ man/systemd-shutdown.8 \ man/systemd-shutdownd.8 \ man/systemd-shutdownd.socket.8 \ @@ -311,6 +314,7 @@ man/systemd-kexec.service.8: man/systemd-halt.service.8 man/systemd-poweroff.service.8: man/systemd-halt.service.8 man/systemd-reboot.service.8: man/systemd-halt.service.8 man/systemd-remount-fs.8: man/systemd-remount-fs.service.8 +man/systemd-resume.8: man/systemd-resume@.service.8 man/systemd-shutdown.8: man/systemd-halt.service.8 man/systemd-shutdownd.8: man/systemd-shutdownd.service.8 man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8 @@ -592,6 +596,9 @@ man/systemd-reboot.service.html: man/systemd-halt.service.html man/systemd-remount-fs.html: man/systemd-remount-fs.service.html $(html-alias) +man/systemd-resume.html: man/systemd-res...@.service.html + $(html-alias) + man/systemd-shutdown.html: man/systemd-halt.service.html $(html-alias) @@ -1626,6 +1633,8 @@ EXTRA_DIST += \ man/systemd-readahead-replay.service.xml \ man/systemd-remount-fs.service.xml \ man/systemd-resolved.service.xml \ + man/systemd-resume-generator.xml \ + man/systemd-res...@.service.xml \ man/systemd-rfk...@.service.xml \ man/systemd-run.xml \ man/systemd-shutdownd.service.xml \ diff --git a/Makefile.am b/Makefile.am index e238cde..820d082 100644 --- a/Makefile.am +++ b/Makefile.am @@ -371,13 +371,15 @@ rootlibexec_PROGRAMS = \ systemd-sleep \ systemd-bus-proxyd \ systemd-socket-proxyd \ - systemd-update-done + systemd-update-done \ + systemd-resume systemgenerator_PROGRAMS = \ systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator \ - systemd-debug-generator + systemd-debug-generator \ + systemd-resume-generator dist_bashcompletion_DATA = \ shell-completion/bash/busctl \ @@ -509,7 +511,8 @@ nodist_systemunit_DATA = \ units/initrd-udevadm-cleanup-db.service \ units/initrd-switch-root.service \ units/systemd-nspawn@.service \ - units/systemd-update-done.service + units/systemd-update-done.service \ + units/systemd-resume@.service dist_userunit_DATA = \ units/user/basic.target \ @@ -556,7 +559,8 @@ EXTRA_DIST += \ units/initrd-udevadm-cleanup-db.service.in \ units/initrd-switch-root.service.in \ units/systemd-nsp...@.service.in \ - units/systemd-update-done.service.in + units/systemd-update-done.service.in \ + units/systemd-res...@.service.in CLEANFILES += \ units/console-shell.service.m4 \ @@ -1930,6 +1934,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # -- +systemd_resume_SOURCES = \ + src/resume/resume.c + +systemd_resume_LDADD = \ + libsystemd-internal.la \ + libsystemd-shared.la + +# -- systemd_getty_generator_SOURCES = \ src/getty-generator/getty-generator.c @@ -1962,6 +1974,14 @@ systemd_system_update_generator_LDADD = \ libsystemd-label.la \ libsystemd-shared.la +# --
[systemd-devel] [RFC] [PATCH 2/3] resume: add a tool to write a device node's major:minor to /sys/power/resume.
This can be used to initiate a resume from hibernation by path to a swap device containing the hibernation image. The respective templated unit is also added. It is instantiated using path to the desired resume device. --- Makefile-man.am | 9 + Makefile.am | 28 -- man/systemd-res...@.service.xml | 81 +++ src/resume/Makefile | 1 + src/resume/resume.c | 82 units/systemd-res...@.service.in | 23 +++ 6 files changed, 220 insertions(+), 4 deletions(-) create mode 100644 man/systemd-res...@.service.xml create mode 12 src/resume/Makefile create mode 100644 src/resume/resume.c create mode 100644 units/systemd-res...@.service.in diff --git a/Makefile-man.am b/Makefile-man.am index 5c289dd..00daae2 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -76,6 +76,8 @@ MANPAGES += \ man/systemd-nspawn.1 \ man/systemd-path.1 \ man/systemd-remount-fs.service.8 \ + man/systemd-resume-generator.8 \ + man/systemd-resume@.service.8 \ man/systemd-run.1 \ man/systemd-shutdownd.service.8 \ man/systemd-sleep.conf.5 \ @@ -206,6 +208,7 @@ MANPAGES_ALIAS += \ man/systemd-poweroff.service.8 \ man/systemd-reboot.service.8 \ man/systemd-remount-fs.8 \ + man/systemd-resume.8 \ man/systemd-shutdown.8 \ man/systemd-shutdownd.8 \ man/systemd-shutdownd.socket.8 \ @@ -311,6 +314,7 @@ man/systemd-kexec.service.8: man/systemd-halt.service.8 man/systemd-poweroff.service.8: man/systemd-halt.service.8 man/systemd-reboot.service.8: man/systemd-halt.service.8 man/systemd-remount-fs.8: man/systemd-remount-fs.service.8 +man/systemd-resume.8: man/systemd-resume@.service.8 man/systemd-shutdown.8: man/systemd-halt.service.8 man/systemd-shutdownd.8: man/systemd-shutdownd.service.8 man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8 @@ -592,6 +596,9 @@ man/systemd-reboot.service.html: man/systemd-halt.service.html man/systemd-remount-fs.html: man/systemd-remount-fs.service.html $(html-alias) +man/systemd-resume.html: man/systemd-res...@.service.html + $(html-alias) + man/systemd-shutdown.html: man/systemd-halt.service.html $(html-alias) @@ -1626,6 +1633,8 @@ EXTRA_DIST += \ man/systemd-readahead-replay.service.xml \ man/systemd-remount-fs.service.xml \ man/systemd-resolved.service.xml \ + man/systemd-resume-generator.xml \ + man/systemd-res...@.service.xml \ man/systemd-rfk...@.service.xml \ man/systemd-run.xml \ man/systemd-shutdownd.service.xml \ diff --git a/Makefile.am b/Makefile.am index e238cde..820d082 100644 --- a/Makefile.am +++ b/Makefile.am @@ -371,13 +371,15 @@ rootlibexec_PROGRAMS = \ systemd-sleep \ systemd-bus-proxyd \ systemd-socket-proxyd \ - systemd-update-done + systemd-update-done \ + systemd-resume systemgenerator_PROGRAMS = \ systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator \ - systemd-debug-generator + systemd-debug-generator \ + systemd-resume-generator dist_bashcompletion_DATA = \ shell-completion/bash/busctl \ @@ -509,7 +511,8 @@ nodist_systemunit_DATA = \ units/initrd-udevadm-cleanup-db.service \ units/initrd-switch-root.service \ units/systemd-nspawn@.service \ - units/systemd-update-done.service + units/systemd-update-done.service \ + units/systemd-resume@.service dist_userunit_DATA = \ units/user/basic.target \ @@ -556,7 +559,8 @@ EXTRA_DIST += \ units/initrd-udevadm-cleanup-db.service.in \ units/initrd-switch-root.service.in \ units/systemd-nsp...@.service.in \ - units/systemd-update-done.service.in + units/systemd-update-done.service.in \ + units/systemd-res...@.service.in CLEANFILES += \ units/console-shell.service.m4 \ @@ -1930,6 +1934,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # -- +systemd_resume_SOURCES = \ + src/resume/resume.c + +systemd_resume_LDADD = \ + libsystemd-internal.la \ + libsystemd-shared.la + +# -- systemd_getty_generator_SOURCES = \ src/getty-generator/getty-generator.c @@ -1962,6 +1974,14 @@ systemd_system_update_generator_LDADD = \ libsystemd-label.la \ libsystemd-shared.la +# -- +systemd_resume_generator_SOURCES = \ + src/resume-generator/resume-generator.c + +systemd_resume_generator_LDADD = \ + libsystemd-label.la \ + libsystemd-shared.la + if ENABLE_EFI
Re: [systemd-devel] [RFC] [PATCH 2/3] resume: add a tool to write a device node's major:minor to /sys/power/resume.
В Sat, 23 Aug 2014 16:47:53 +0400 Ivan Shapovalov intelfx...@gmail.com пишет: diff --git a/units/systemd-res...@.service.in b/units/systemd-res...@.service.in new file mode 100644 index 000..f760f16 --- /dev/null +++ b/units/systemd-res...@.service.in @@ -0,0 +1,23 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Resume from hibernation using device %f +Documentation=man:systemd-resume@.service(8) +DefaultDependencies=no +Conflicts=shutdown.target +BindsTo=%i.device +Wants=local-fs-pre.target +After=%i.device systemd-udevd.service +Before=local-fs-pre.target systemd-remount-fs.service systemd-fsck-root.service usr.mount shutdown.target +ConditionPathIsReadWrite=|!/ +ConditionPathExists=|/etc/initrd-release + +[Service] +Type=oneshot +RemainAfterExit=yes Actually that's interesting. As it stands now, it will be impossible to get information whether resume actually happened from service status. It will always reflect the very first invocation, when no resume image was still present. To this extent using RemainAfterExit is probably misleading here. There is no persistent information that's worth keeping. +ExecStart=@rootlibexecdir@/systemd-resume %f ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel