diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | install/sd-shutdown | 14 | ||||
-rw-r--r-- | mkinitcpio-generate-shutdown-ramfs.service | 15 |
3 files changed, 32 insertions, 1 deletions
@@ -14,7 +14,8 @@ DIRS = \ /usr/share/man/man8 \ /usr/share/man/man5 \ /usr/share/man/man1 \ - /usr/share/mkinitcpio + /usr/share/mkinitcpio \ + /usr/lib/systemd/system all: doc @@ -48,6 +49,7 @@ install: all cp -at $(DESTDIR)/usr/lib/initcpio hooks install install -m644 -t $(DESTDIR)/usr/share/mkinitcpio mkinitcpio.d/* + install -m644 mkinitcpio-generate-shutdown-ramfs.service $(DESTDIR)/usr/lib/systemd/system/mkinitcpio-generate-shutdown-ramfs.service install -m755 50-mkinitcpio.install $(DESTDIR)/usr/lib/kernel/install.d/50-mkinitcpio.install diff --git a/install/sd-shutdown b/install/sd-shutdown new file mode 100644 index 0000000..7e86dad --- /dev/null +++ b/install/sd-shutdown @@ -0,0 +1,14 @@ +#!/bin/bash + +build() { + add_binary /usr/lib/systemd/systemd-shutdown /shutdown +} + +help() { + cat <<HELPEOF +This hook adds systemd-shutdown to the initramfs. This is only +if the image is extracted to /run/initramfs before shutdown. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/mkinitcpio-generate-shutdown-ramfs.service b/mkinitcpio-generate-shutdown-ramfs.service new file mode 100644 index 0000000..36c2508 --- /dev/null +++ b/mkinitcpio-generate-shutdown-ramfs.service @@ -0,0 +1,15 @@ +[Unit] +Description=Generate shutdown-ramfs +DefaultDependencies=no +Before=shutdown.target +ConditionFileIsExecutable=!/run/initramfs/shutdown + +[Service] +Type=oneshot +# /tmp could be umounted at this point +# use /run as temporary directory +Environment=TMPDIR=/run +ExecStart=/usr/bin/mkinitcpio -A sd-shutdown -c /dev/null -d /run/initramfs + +[Install] +WantedBy=shutdown.target |