aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/preinit/20_device_fs_mount
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-01-25 17:11:17 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-01-25 17:11:17 +0000
commit56bc02a305ae8d8a7e927622d924cdab56d4f012 (patch)
tree079702f93a3ad4420b99f31bc99c1b9b2b9a8a08 /package/base-files/files/lib/preinit/20_device_fs_mount
parent35170c48928e99dda69d46274c2749bc9bff972d (diff)
downloadupstream-56bc02a305ae8d8a7e927622d924cdab56d4f012.tar.gz
upstream-56bc02a305ae8d8a7e927622d924cdab56d4f012.tar.bz2
upstream-56bc02a305ae8d8a7e927622d924cdab56d4f012.zip
add preinit modularization work by Daniel Dickinson (cshore)
SVN-Revision: 19331
Diffstat (limited to 'package/base-files/files/lib/preinit/20_device_fs_mount')
-rw-r--r--package/base-files/files/lib/preinit/20_device_fs_mount28
1 files changed, 28 insertions, 0 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
new file mode 100644
index 0000000000..6b2a6e8f3b
--- /dev/null
+++ b/package/base-files/files/lib/preinit/20_device_fs_mount
@@ -0,0 +1,28 @@
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+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 devfs /proc/filesystems > /dev/null; 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
+