summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/preinit
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/lib/preinit')
-rw-r--r--package/base-files/files/lib/preinit/20_device_fs_mount14
1 files changed, 13 insertions, 1 deletions
diff --git a/package/base-files/files/lib/preinit/20_device_fs_mount b/package/base-files/files/lib/preinit/20_device_fs_mount
index f82f9a6f4..6ba7ccc6f 100644
--- a/package/base-files/files/lib/preinit/20_device_fs_mount
+++ b/package/base-files/files/lib/preinit/20_device_fs_mount
@@ -2,6 +2,16 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
+do_move_devtmpfs() {
+ foo="`grep devtmpfs /proc/mounts`"
+ x=${foo#* }
+ x=${x%% *}
+
+ if [ "$x" != "/dev" ] ; then
+ mount -o move "$x" /dev
+ fi
+}
+
do_mount_devfs() {
mount devfs /dev -t devfs
}
@@ -15,7 +25,9 @@ do_mount_udev() {
}
choose_device_fs() {
- if grep -q devfs /proc/filesystems; then
+ if grep -q devtmpfs /proc/mounts; then
+ do_move_devtmpfs
+ elif grep -q devfs /proc/filesystems; then
do_mount_devfs
elif [ -x /sbin/hotplug2 ]; then
do_mount_hotplug