summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/preinit/10_essential_fs
blob: ab317dc20aeb3b0f98cb3c2c989b4ada0bcff3cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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