systemd/dracut-pre-pivot.service: force clean stop of udevd and cleanup-db

master
Harald Hoyer 2012-07-17 11:06:25 +02:00
parent 4ee59ab3ed
commit a43f97c4e3
4 changed files with 4 additions and 25 deletions

View File

@ -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

View File

@ -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

View File

@ -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"
}


View File

@ -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