X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a48c17c2573532cc0267b20544314a44832316ea..8ef0e1eb51ad54bbcd21bf22dc3af695120beb2a:/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 1f049dade..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; 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