xref: /dragonfly/etc/rc.d/mounttmpfs (revision 35e996c9)
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