12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/sh
- # Begin $RC_BASE/init.d/udev_retry
- ### BEGIN INIT INFO
- # Provides: udev_retry
- # Required-Start: udev
- # Should-Start: $local_fs
- # Required-Stop:
- # Should-Stop:
- # Default-Start: S
- # Default-Stop:
- # Short-Description: Replays failed uevents and creates additonal devices.
- # Description: Replays any failed uevents that were skipped due to
- # slow hardware initialization, and creates those needed
- # device nodes
- # X-LFS-Provided-By: LFS
- ### END INIT INFO
- . /lib/lsb/init-functions
- MESSAGE="Retrying failed uevents, if any..."
- case "${1}" in
- 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/udevadm trigger --type=failed --action=add
- # Now wait for udevd to process the uevents we triggered
- /sbin/udevadm settle
- evaluate_retval standard
- ;;
- *)
- echo "Usage ${0} {start}"
- exit 1
- ;;
- esac
- # End $RC_BASE/init.d/udev_retry
|