From a43f97c4e35d0d9c7e6e315e11c909e86936e1cc Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 17 Jul 2012 11:06:25 +0200 Subject: [PATCH] systemd/dracut-pre-pivot.service: force clean stop of udevd and cleanup-db --- modules.d/98systemd/dracut-pre-pivot.service | 2 +- modules.d/98systemd/dracut-pre-pivot.sh | 3 +++ modules.d/98systemd/module-setup.sh | 4 ---- modules.d/98systemd/udevadm-cleanup-db.service | 20 -------------------- 4 files changed, 4 insertions(+), 25 deletions(-) delete mode 100644 modules.d/98systemd/udevadm-cleanup-db.service diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service index 61257cf..317b476 100644 --- a/modules.d/98systemd/dracut-pre-pivot.service +++ b/modules.d/98systemd/dracut-pre-pivot.service @@ -16,7 +16,7 @@ ConditionPathExists=/etc/initrd-release [Service] Type=oneshot ExecStart=-/bin/dracut-pre-pivot -ExecStopPost=-/usr/bin/systemctl isolate initrd-switch-root.target +ExecStopPost=-/usr/bin/systemctl --no-block isolate initrd-switch-root.target StandardInput=null StandardOutput=syslog StandardError=syslog+console diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh index 31dded5..44afe54 100755 --- a/modules.d/98systemd/dracut-pre-pivot.sh +++ b/modules.d/98systemd/dracut-pre-pivot.sh @@ -39,4 +39,7 @@ echo "NEWROOT=\"$NEWROOT\"" >> /run/initramfs/switch-root.conf getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_root" +/usr/bin/udevadm control --exit || warn "/usr/bin/udevadm control --exit failed" +/usr/bin/udevadm info --cleanup-db || warn "/usr/bin/udevadm info --cleanup-db failed" + exit 0 diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh index 5cb236c..05faf87 100755 --- a/modules.d/98systemd/module-setup.sh +++ b/modules.d/98systemd/module-setup.sh @@ -143,10 +143,6 @@ install() { inst_simple "$moddir/dracut-pre-pivot.service" ${dracutsystemunitdir}/dracut-pre-pivot.service ln -fs ../dracut-pre-pivot.service "${initdir}${dracutsystemunitdir}/basic.target.wants/dracut-pre-pivot.service" - inst_simple "$moddir/udevadm-cleanup-db.service" ${dracutsystemunitdir}/udevadm-cleanup-db.service - mkdir -p "${initdir}${dracutsystemunitdir}/initrd-switch-root.target.requires" - ln -fs ../udevadm-cleanup-db.service "${initdir}${dracutsystemunitdir}/initrd-switch-root.target.requires/udevadm-cleanup-db.service" - inst_script "$moddir/service-to-run.sh" "${systemdutildir}/system-generators/service-to-run" } diff --git a/modules.d/98systemd/udevadm-cleanup-db.service b/modules.d/98systemd/udevadm-cleanup-db.service deleted file mode 100644 index 368a0dd..0000000 --- a/modules.d/98systemd/udevadm-cleanup-db.service +++ /dev/null @@ -1,20 +0,0 @@ -# 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. - -[Unit] -Description=Cleanup udevd DB -DefaultDependencies=no -ConditionPathExists=/etc/initrd-release -Conflicts=systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket -Before=initrd-switch-root.service - -[Service] -Type=oneshot -ExecStart=-/usr/bin/udevadm info --cleanup-db -StandardInput=null -StandardOutput=null -StandardError=null