OK, encontrei a solução. Precisamos criar manualmente o diretório /var/run/lirc/
em cada inicialização. Eu editei o script lirc init.d como abaixo, que cria o diretório, se não estiver lá, usando o código [ -d "/var/run/lirc" ] || mkdir -p "/var/run/lirc"
.
#! /bin/sh
#
# This is an init script for Debian 2.1 Slink distribution.
# Copy it to /etc/init.d/lirc and type
# > update-rc.d lirc defaults 20
#
test -f /usr/local/sbin/lircd || exit 0
test -f /usr/local/sbin/lircmd || exit 0
case "$1" in
start)
[ -d "/var/run/lirc" ] || mkdir -p "/var/run/lirc"
echo -n "Starting lirc daemon: lircd"
start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --listen --driver=usb_irtoy --device=/dev/ttyACM0
echo -n " lircmd"
start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd
echo "."
;;
stop)
echo -n "Stopping lirc daemon: lircmd"
start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd
echo -n " lircd"
start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd
echo "."
;;
reload|force-reload)
start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircd
start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircmd
;;
restart)
echo -n "Stopping lirc daemon: lircmd"
start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd
echo " lircd"
start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --listen --driver=usb_irtoy --device=/dev/ttyACM0
sleep 1
echo -n "Starting lirc daemon: lircd"
start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --listen --driver=usb_irtoy --device=/dev/ttyACM0
echo -n " lircmd"
start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd
echo "."
;;
*)
echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
exit 1
esac
exit 0