nrelease - fix/improve livecd
[dragonfly.git] / etc / rc.d / mounttmpfs
1 #!/bin/sh
2
3 # PROVIDE: mounttmpfs
4 # REQUIRE: cleanvar
5 # BEFORE:  FILESYSTEMS
6
7 . /etc/rc.subr
8
9 name="mounttmpfs"
10 start_cmd="mounttmpfs_start"
11 stop_cmd=":"
12
13 is_mountpoint()
14 {
15         local mp="$1"
16         mount | awk '{ print $3 }' | grep -q "^${mp}$"
17 }
18
19 mounttmpfs_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
49 load_rc_config $name
50 run_rc_command "$1"