diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service index 61257cf0..317b4769 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 31dded50..44afe548 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 5cb236c4..05faf874 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 368a0dd4..00000000 --- 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