Das Paket bringt ein SysV-Init Skript mit, das beim Booten und beim Herunterfahren kurz ausgeführt wird und dabei die letzte Aufweckzeit löscht bzw. eine neue setzt.
Die Systemd-Unit wird dynamisch erzeugt und macht nichts anderes als das Skript mit start bzw. stop als Argument aufzurufen:
$ systemctl cat vdr-addon-acpiwakeup
# /run/systemd/generator.late/vdr-addon-acpiwakeup.service
# Automatically generated by systemd-sysv-generator
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/vdr-addon-acpiwakeup
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/init.d/vdr-addon-acpiwakeup start
ExecStop=/etc/init.d/vdr-addon-acpiwakeup stop
Alles anzeigen
Was es allerdings zumindest auf meinem Testsystem nicht mehr gibt, ist /proc/acpi/alarm (wohin das Skript die Aufweckzeit schreiben will). Damit schlägt der Aufruf von /etc/init.d/vdr-addon-acpiwakeup stop fehl.
Bei modernen Kerneln sollte das jetzt /sys/class/rtc/rtc0/wakealarm für die erste RTC sein. Außerdem scheint man nicht mehr wiederholt eine Aufwachzeit schreiben zu können, ohne vorher den Wakealarm auf 0 zu setzen.
Ich habe das Skript jetzt mal so angepasst, dass es die moderne Variante nutzt, um die Aufweckzeit zu setzen: https://launchpad.net/~yavdr/+…66/+listing-archive-extra
Langfristig überlege ich https://github.com/seahawk1986/acpiwakeup-ng für yaVDR zu paketieren, das ist für Systemd vorbereitet und nutzt ausschließlich die neue Methode.