openwrt/package/base-files/files/lib/preinit/20_device_fs_mount
2010-07-24 19:21:27 +00:00

41 lines
768 B
Bash

#!/bin/sh
# 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
}
do_mount_hotplug() {
mount -t tmpfs tmpfs /dev -o size=512K
}
do_mount_udev() {
mount -n -t tmpfs -o mode=0755 udev /dev
}
choose_device_fs() {
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
elif [ -x /sbin/udevd ]; then
do_mount_udev
fi
}
boot_hook_add preinit_essential choose_device_fs