X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/ab6cd4fec9aa945000191b929fb396c0249ca8cd..f835afb5d9c32ac91b51acfb225a38f9b04fe6f1:/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 f82f9a6f4..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 -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