#!/bin/sh # udev_retry # Udev cold-plugging script (retry) # Source functions library source /etc/rc.d/init.d/functions log_script_name "$0 $*" udev_retry_start() { # From Debian: "copy the rules generated before / was mounted # read-write": for file in /dev/.udev/tmp-rules--*; do dest=${file##*tmp-rules--} [ "$dest" = '*' ] && break cat $file >> /etc/udev/rules.d/$dest rm -f $file done # Re-trigger the failed uevents in hope they will succeed now /sbin/udevtrigger --retry-failed && # Now wait for udevd to process the uevents we triggered /sbin/udevsettle } # See how we were called case "$1" in start) cmd_run_log_box_warn "Retrying failed uvents, if any" udev_retry_start ;; *) echo "Usage: $0 {start}" exit ${EXIT_CODE_FAILURE} ;; esac exit $?