aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/preinit/10_essential_fs
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/10_essential_fs
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/10_essential_fs')
-rw-r--r--package/base-files/files/lib/preinit/10_essential_fs25
1 files changed, 25 insertions, 0 deletions
diff --git a/package/base-files/files/lib/preinit/10_essential_fs b/package/base-files/files/lib/preinit/10_essential_fs
new file mode 100644
index 0000000000..ab317dc20a
--- /dev/null
+++ b/package/base-files/files/lib/preinit/10_essential_fs
@@ -0,0 +1,25 @@
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+do_mount_procfs() {
+ mount proc /proc -t proc
+}
+
+do_mount_sysfs() {
+ mount sysfs /sys -t sysfs
+}
+
+calc_tmpfs_size() {
+ pi_size=$(awk '/MemTotal:/ {l=5242880;mt=($2*1024);print((s=mt/2)<l)&&(mt>l)?mt-l:s}' /proc/meminfo)
+}
+
+do_mount_tmpfs() {
+ calc_tmpfs_size
+ mount tmpfs /tmp -t tmpfs -o size=$pi_size,nosuid,nodev,mode=1777
+}
+
+boot_hook_add preinit_essential do_mount_procfs
+boot_hook_add preinit_essential do_mount_sysfs
+boot_hook_add preinit_essential do_mount_tmpfs
+