X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Finitscripts%2Finit.d%2Fudev;h=6cf8771eaf745d132700feb999c4122ac9d3d7a3;hb=3d2415f9242ae312bb4dc1d812e8f4ce0bf9a880;hp=03846e6f3a983664b54991b25d2ea4e99389f7fa;hpb=e2929cde1203ebeb194264bb7d7b9ca4e484e525;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/src/initscripts/init.d/udev b/src/initscripts/init.d/udev index 03846e6f3..6cf8771ea 100644 --- a/src/initscripts/init.d/udev +++ b/src/initscripts/init.d/udev @@ -29,16 +29,10 @@ case "${1}" in read ENTER /etc/rc.d/init.d/halt stop fi - - # Mount a temporary file system over /dev, so that any devices - # made or removed during this boot don't affect the next one. - # The reason we don't write to mtab is because we don't ever - # want /dev to be unavailable (such as by `umount -a'). - mount -n -t tmpfs tmpfs /dev -o mode=755 - if [ ${?} != 0 ]; then + if ! grep -q '[[:space:]]/dev' /proc/mounts; then echo_failure - boot_mesg -n "FAILURE:\n\nCannot mount a tmpfs" ${FAILURE} - boot_mesg -n " onto /dev, this system will be halted." + boot_mesg -n "FAILURE:\n\nKernel has no devtmpfs/mount" ${FAILURE} + boot_mesg -n " support but this is needed for udev." boot_mesg -n "\n\nAfter you press Enter, this system" boot_mesg -n " will be halted and powered off." boot_mesg -n "\n\nPress Enter to continue..." ${INFO} @@ -47,6 +41,16 @@ case "${1}" in /etc/rc.d/init.d/halt stop fi + if ! grep -q '[[:space:]]/dev/shm' /proc/mounts; then + mkdir -p /dev/shm + mount -t tmpfs tmpfs /dev/shm + fi + + if ! grep -q '[[:space:]]/dev/pts' /proc/mounts; then + mkdir -p /dev/pts + mount -t devpts devpts -o gid=5,mode=620 /dev/pts + fi + # Udev handles uevents itself, so we don't need to have # the kernel call out to any binary in response to them echo > /proc/sys/kernel/hotplug @@ -60,10 +64,10 @@ case "${1}" in # Now traverse /sys in order to "coldplug" devices that have # already been discovered - /sbin/udevadm trigger + /bin/udevadm trigger --action=add # Now wait for udevd to process the uevents we triggered - /sbin/udevadm settle + /bin/udevadm settle evaluate_retval ;;