1#!/bin/sh 2 3# PROVIDE: mounttmpfs 4# REQUIRE: cleanvar 5# BEFORE: FILESYSTEMS 6 7. /etc/rc.subr 8 9name="mounttmpfs" 10start_cmd="mounttmpfs_start" 11stop_cmd=":" 12 13is_mountpoint() 14{ 15 local mp="$1" 16 mount | awk '{ print $3 }' | grep -q "^${mp}$" 17} 18 19mounttmpfs_start() 20{ 21 if checkyesno tmpfs_var_run; then 22 echo -n "Mounting tmpfs at /var/run" 23 mount_tmpfs dummy /var/run 24 echo "." 25 26 echo "Recreating filesystem hierarchy in /var/run:" 27 mtree -deiqU -f /etc/mtree/BSD.var.dist -p /var 28 echo "." 29 else 30 echo -n "Mounting tmpfs at /var/run/shm" 31 mount_tmpfs -m 01777 dummy /var/run/shm 32 mkdir -p -m 01777 /var/run/shm/tmp 33 mkdir -p -m 01777 /var/run/shm/dev 34 mkdir -p -m 01777 /var/run/shm/dev/shm 35 echo "." 36 fi 37 38 if checkyesno tmpfs_tmp; then 39 if is_mountpoint "/tmp"; then 40 echo "/tmp has been already mounted a filesystem." 41 else 42 echo -n "Mounting tmpfs at /tmp" 43 mount_tmpfs -m 01777 dummy /tmp 44 echo "." 45 fi 46 fi 47} 48 49load_rc_config $name 50run_rc_command "$1" 51