#!/bin/sh 
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications

do_mount_procfs() {
   mount -o noatime -t proc proc /proc
}

do_mount_sysfs() {
   mount -o noatime -tsysfs sysfs /sys
}

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 -o noatime -t tmpfs -o size=$pi_size,nosuid,nodev,mode=1777 tmpfs /tmp
}

boot_hook_add preinit_essential do_mount_procfs
boot_hook_add preinit_essential do_mount_sysfs
boot_hook_add preinit_essential do_mount_tmpfs

