X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a9929695c6ad0779eaa8cb3d68d37760981d55b7..d92e2b4207e90f63307006a176c7d2756d293e04:/package/base-files/files/lib/preinit/20_device_fs_mount 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 6b2a6e8f3..832b1cf39 100644 --- a/package/base-files/files/lib/preinit/20_device_fs_mount +++ b/package/base-files/files/lib/preinit/20_device_fs_mount @@ -2,12 +2,19 @@ # Copyright (C) 2006 OpenWrt.org # Copyright (C) 2010 Vertical Communications +do_move_devtmpfs() { + local mnt="$(grep devtmpfs /proc/mounts)" + mnt="${mnt#* }"; mnt="${mnt%% *}" + + [ "$mnt" = "/dev" ] || mount -o move "$mnt" /dev +} + do_mount_devfs() { mount devfs /dev -t devfs } do_mount_hotplug() { - mount -t tmpfs tmpfs /dev -o size=512K + mount -t tmpfs tmpfs /dev -o mode=0755,size=512K } do_mount_udev() { @@ -15,7 +22,9 @@ do_mount_udev() { } choose_device_fs() { - if grep devfs /proc/filesystems > /dev/null; 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