nixpkgs/modules/system/boot
Eelco Dolstra f19065c283 Fix broken systemd shutdown services
The services systemd-random-seed-save.service and
systemd-update-utmp-shutdown.service from systemd 203 don't work,
because they have a RequiresMountFor dependency on /var/lib and
/var/log.  Such a dependency produces a cycle, causing systemd to drop
those services:

  Fixing conflicting jobs by deleting job poweroff.target/stop
  Deleting job systemd-poweroff.service/stop as dependency of job poweroff.target/stop
  Deleting job umount.target/stop as dependency of job systemd-poweroff.service/stop
  Deleting job -.mount/start as dependency of job umount.target/stop
  Deleting job systemd-random-seed-save.service/start as dependency of job -.mount/start
  Deleting job systemd-update-utmp-shutdown.service/start as dependency of job -.mount/start

Dropping the RequiresMountFor doesn't work either, because then
/var/... may have meen unmounted or remounted read-only.

Upstream systemd fixes this by doing the actual work from an ExecStop
action in an already-running service than conflicts with
shutdown.target.  So I backported that here.  The main consequence is
that wtmp shutdown records now get written properly.

The main lesson: shutdown.target is useless for pulling in services
during shutdown if they need to write anywhere.
2013-09-22 21:39:05 +02:00
..
loader Update all legacy-style modules 2013-09-04 13:05:09 +02:00
kernel.nix Lower the default console log level 2013-07-23 22:18:25 +02:00
kexec.nix Add kexec support 2013-09-16 17:42:13 +02:00
luksroot.nix Fix indentation / tabs 2013-07-23 22:18:25 +02:00
modprobe.nix extraModprobeConfig: set type to types.lines 2013-03-12 05:51:45 -04:00
readonly-mountpoint.c "Maintain" the tested job so I get notifications when it fails 2013-03-26 12:35:28 -04:00
shutdown.nix Set the kernel.poweroff_cmd sysctl 2013-03-27 23:03:37 +01:00
stage-1-init.sh Lower the default console log level 2013-07-23 22:18:25 +02:00
stage-1.nix Update all legacy-style modules 2013-09-04 13:05:09 +02:00
stage-2-init.sh Set permissions on /var/log/journal properly 2013-07-19 21:18:44 +02:00
stage-2.nix Update all legacy-style modules 2013-09-04 13:05:09 +02:00
systemd-unit-options.nix Fix broken systemd shutdown services 2013-09-22 21:39:05 +02:00
systemd.nix Fix broken systemd shutdown services 2013-09-22 21:39:05 +02:00