We use a battery and acpid to shutdown the board on power fail.
When power is removed the battery holds up the board for an orderly
shutdown then after
a predetermined time we remove battery power and wait for power to be
on the old kernels everything works great
root@beaglebone:~# uname -r
on boot we have this in syslog related to acpid
Feb 25 19:19:29 beaglebone acpid: starting up with netlink and the input
blah blah blah more infos not related to acpid
Feb 25 19:19:29 beaglebone acpid: 1 rule loaded
Feb 25 19:19:29 beaglebone acpid: waiting for events: event logging is off
in var/log/messages the last line during power fail is
Feb 25 19:19:26 beaglebone rsyslogd: [origin software="rsyslogd"
swVersion="8.4.2" x-pid="359" x-info="http://www.rsyslog.com"] exiting
on signal 15.
same line in syslog
then the board shuts down we wait our time and remove battery power.
On the new kernel using systemd, acpid does not generate the shutdown
event and we just sit there till battery is removed
i noticed this on 4.9 too
root@beaglebone:/home/debian# systemctl list-unit-files | grep enabled
further down the list
root@beaglebone:/home/debian# systemctl list-units --type=service
acpid.service loaded active running ACPI event daemon
Power button powers down the board as expected.
remove acpid, power button still powers down board
reinstalling acpid power button works as expected but power fail still
does not shutdown system
It seems on newer systems with systemd acpid does nothing
how can we tell system to shutdown on a power fail ?