From: Harald Hoyer Date: Wed, 20 Jun 2012 23:05:15 +0000 (+0200) Subject: systemd/dracut-cmdline: make dracut-cmdline a service X-Git-Tag: 020~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f653c8622995fc39d0715a6bed60618c61ed0b5e;p=thirdparty%2Fdracut.git systemd/dracut-cmdline: make dracut-cmdline a service convert dracut-cmdline from hook to service after the journal --- diff --git a/modules.d/98systemd/dracut-cmdline.service b/modules.d/98systemd/dracut-cmdline.service new file mode 100644 index 000000000..938ccbe97 --- /dev/null +++ b/modules.d/98systemd/dracut-cmdline.service @@ -0,0 +1,29 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +# See systemd.special(7) for details + +[Unit] +Description=Dracut cmdline hook +DefaultDependencies=no +Before=dracut-pre-udev.service +After=systemd-journald.socket +Wants=systemd-journald.socket + +[Service] +Environment=HOME=/ +WorkingDirectory=/ +ExecStart=-/bin/dracut-cmdline +Type=oneshot +StandardInput=null +StandardOutput=syslog +StandardError=syslog+console +KillMode=process + +# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash +# terminates cleanly. +KillSignal=SIGHUP diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh index 91f50af8d..adef9392c 100755 --- a/modules.d/98systemd/module-setup.sh +++ b/modules.d/98systemd/module-setup.sh @@ -130,9 +130,12 @@ install() { inst "$moddir/initrd-switch-root.service" ${systemdsystemunitdir}/initrd-switch-root.service ln -s basic.target "${initdir}${systemdsystemunitdir}/default.target" - inst "$moddir/dracut-cmdline.sh" ${systemdsystemunitdir}-generators/dracut-cmdline.sh - mkdir -p "${initdir}${systemdsystemunitdir}/basic.target.wants" + + inst "$moddir/dracut-cmdline.sh" /bin/dracut-cmdline + inst "$moddir/dracut-cmdline.service" ${systemdsystemunitdir}/dracut-cmdline.service + ln -s ../dracut-cmdline.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-cmdline.service" + inst "$moddir/dracut-pre-udev.sh" /bin/dracut-pre-udev inst "$moddir/dracut-pre-udev.service" ${systemdsystemunitdir}/dracut-pre-udev.service ln -s ../dracut-pre-udev.service "${initdir}${systemdsystemunitdir}/basic.target.wants/dracut-pre-udev.service"