udev_retry 983 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/sh
  2. ########################################################################
  3. # Begin $rc_base/init.d/udev_retry
  4. #
  5. # Description : Udev cold-plugging script (retry)
  6. #
  7. # Authors : Alexander E. Patrakov
  8. #
  9. # Version : 00.02
  10. #
  11. # Notes :
  12. #
  13. ########################################################################
  14. . /etc/sysconfig/rc
  15. . ${rc_functions}
  16. case "${1}" in
  17. start)
  18. boot_mesg "Retrying failed uevents, if any..."
  19. # From Debian: "copy the rules generated before / was mounted
  20. # read-write":
  21. for file in /dev/.udev/tmp-rules--*; do
  22. dest=${file##*tmp-rules--}
  23. [ "$dest" = '*' ] && break
  24. cat $file >> /etc/udev/rules.d/$dest
  25. rm -f $file
  26. done
  27. # Re-trigger the failed uevents in hope they will succeed now
  28. /sbin/udevadm trigger --retry-failed
  29. # Now wait for udevd to process the uevents we triggered
  30. /sbin/udevadm settle
  31. evaluate_retval
  32. ;;
  33. *)
  34. echo "Usage ${0} {start}"
  35. exit 1
  36. ;;
  37. esac
  38. # End $rc_base/init.d/udev_retry