Annotation For init.mk
Logged in as anonymous

Origin for each line in init.mk from check-in cbff0b494f:

295630c60d 2019-10-23    1: # Meta targets
295630c60d 2019-10-23    2: 
d8511a3d7c 2022-05-30    3: TARGETS:=adjkerntz bootfs cleanvar cleartmp cloned devfs dmesg dumpon fsck \
0be859974c 2019-10-25    4: 	hostname kld ldconfig microcode mixer mount mountlate msgs netif \
d8511a3d7c 2022-05-30    5: 	newsyslog nextboot nfsclient pf pwcheck random root runshm savecore swap \
8bc8c738d5 2022-05-31    6: 	sysctl sysdb wlans zfs mounttmpfs utmpx
d8511a3d7c 2022-05-30    7: 
d8511a3d7c 2022-05-30    8: OTHER_TARGETS+=mixer_exit nfsclient_exit random_exit
0be859974c 2019-10-25    9: 
0be859974c 2019-10-25   10: DAEMON: pwcheck sysctl sysdb NETWORK SERVERS ldconfig nfsclient cleartmp pflogd
0be859974c 2019-10-25   11: 
0be859974c 2019-10-25   12: LOGIN: DAEMON dntpd msgs powerd pflogd
0be859974c 2019-10-25   13: 
0be859974c 2019-10-25   14: NETWORK: netif devd hostname
295630c60d 2019-10-23   15: 
295630c60d 2019-10-23   16: SERVERS: swap mountlate syslogd newsyslog
295630c60d 2019-10-23   17: 
0be859974c 2019-10-25   18: SERVICE: netif mount random hostname cleanvar
295630c60d 2019-10-23   19: 
295630c60d 2019-10-23   20: # regular targets
295630c60d 2019-10-23   21: 
295630c60d 2019-10-23   22: adjkerntz: random mount
295630c60d 2019-10-23   23: 	echo "MRC:$@> Adjust kernel timezone."
295630c60d 2019-10-23   24: 	adjkerntz -i
295630c60d 2019-10-23   25: 
295630c60d 2019-10-23   26: bootfs: fsck
295630c60d 2019-10-23   27: 	echo "MRC:$@> Checking whether we need /boot mounted."
295630c60d 2019-10-23   28: 	mount -vadr | grep -q ' /boot$$' && mount -r /boot || true
295630c60d 2019-10-23   29: 
295630c60d 2019-10-23   30: cleanvar: mount
8bc8c738d5 2022-05-31   31: 	echo "MRC:$@> Cleaning '/var's."
295630c60d 2019-10-23   32: .for dir in ${CLEANVAR_DIRS}
8bc8c738d5 2022-05-31   33: 	if [ -d ${dir} ]; then \
8bc8c738d5 2022-05-31   34: 		/rescue/find ${dir} -mindepth 1 -delete ;\
8bc8c738d5 2022-05-31   35: 	fi
295630c60d 2019-10-23   36: .endfor
295630c60d 2019-10-23   37: 
295630c60d 2019-10-23   38: cleartmp: mountlate
8bc8c738d5 2022-05-31   39: 	echo "MRC:$@> Clearing tmp."
8bc8c738d5 2022-05-31   40: 	find -x /tmp -mindepth 1 ! -name lost+found ! -name snapshots \
8bc8c738d5 2022-05-31   41: 		! -path "./snapshots/*" ! -name quota.user ! -name quota.group \
8bc8c738d5 2022-05-31   42: 		-delete -type d -prune
8bc8c738d5 2022-05-31   43: 	rm -fr /tmp/.X11-unix /tmp/.X*-lock
8bc8c738d5 2022-05-31   44: 	mkdir -m 1777 /tmp/.X11-unix
295630c60d 2019-10-23   45: 
295630c60d 2019-10-23   46: cloned: kld
88e0b45310 2019-10-23   47: .if !empty(CLONED_INTERFACES)
295630c60d 2019-10-23   48: 	echo "MRC:$@> Cloning interfaces: ${CLONED_INTERFACES}"
d8511a3d7c 2022-05-30   49: .	for iface in ${CLONED_INTERFACES}
295630c60d 2019-10-23   50: 	ifconfig ${iface} create
d8511a3d7c 2022-05-30   51: .	endfor
88e0b45310 2019-10-23   52: .endif
295630c60d 2019-10-23   53: 
295630c60d 2019-10-23   54: devfs:
295630c60d 2019-10-23   55: 	echo "MRC:$@> Applying rules: ${DEVFS_CONFIG_FILES}"
295630c60d 2019-10-23   56: .for file in ${DEVFS_CONFIG_FILES}
d8511a3d7c 2022-05-30   57: .	if exists(${file})
295630c60d 2019-10-23   58: 	devfsctl -a -f ${file}
d8511a3d7c 2022-05-30   59: .	endif
295630c60d 2019-10-23   60: .endfor
295630c60d 2019-10-23   61: 
295630c60d 2019-10-23   62: dmesg: mountlate
88e0b45310 2019-10-23   63: .if !empty(DMESG_FILE)
295630c60d 2019-10-23   64: 	echo "MRC:$@> Writing dmesg."
8bc8c738d5 2022-05-31   65: 	( umask 022 ; dmesg -a > ${DMESG_FILE} ;)
88e0b45310 2019-10-23   66: .endif
295630c60d 2019-10-23   67: 
295630c60d 2019-10-23   68: dumpon: random
88e0b45310 2019-10-23   69: .if !empty(DUMPDEV)
d8511a3d7c 2022-05-30   70: 	if [ -e ${DUMPDEV} ]; then \
8bc8c738d5 2022-05-31   71: 		echo "MRC:$@> Setting dumpon device to ${DUMPDEV}" ;\
8bc8c738d5 2022-05-31   72: 		dumpon -v ${DUMPDEV} ;\
d8511a3d7c 2022-05-30   73: 	fi
88e0b45310 2019-10-23   74: .endif
295630c60d 2019-10-23   75: 
295630c60d 2019-10-23   76: fsck:
295630c60d 2019-10-23   77: 	echo "MRC:$@> Checking disks." ;\
295630c60d 2019-10-23   78: 	fsck -p ;\
295630c60d 2019-10-23   79: 	case $$? in \
295630c60d 2019-10-23   80: 	0) ;; \
295630c60d 2019-10-23   81: 	2) exit 1 \
d8511a3d7c 2022-05-30   82: 		;; \
295630c60d 2019-10-23   83: 	4) echo "Rebooting..." ;\
d8511a3d7c 2022-05-30   84: 		reboot ;\
d8511a3d7c 2022-05-30   85: 		echo "Reboot failed; help!" ;\
d8511a3d7c 2022-05-30   86: 		exit 1 \
d8511a3d7c 2022-05-30   87: 		;; \
295630c60d 2019-10-23   88: 	8) if [ -n "$${FSCK_Y_ENABLE}" ]; then \
d8511a3d7c 2022-05-30   89: 			echo "File system preen failed, trying fsck -y." ;\
8bc8c738d5 2022-05-31   90: 			fsck -y || { \
d8511a3d7c 2022-05-30   91: 				echo "Automatic file system check failed; help!" ;\
d8511a3d7c 2022-05-30   92: 				exit 1 ;\
d8511a3d7c 2022-05-30   93: 			} ;\
d8511a3d7c 2022-05-30   94: 		else \
d8511a3d7c 2022-05-30   95: 			echo "Automatic file system check failed; help!" ;\
d8511a3d7c 2022-05-30   96: 			exit 1 ;\
d8511a3d7c 2022-05-30   97: 		fi \
d8511a3d7c 2022-05-30   98: 		;; \
295630c60d 2019-10-23   99: 	12) echo "Boot interrupted." ;\
d8511a3d7c 2022-05-30  100: 		exit 1 \
d8511a3d7c 2022-05-30  101: 		;; \
295630c60d 2019-10-23  102: 	130) exit 1 \
d8511a3d7c 2022-05-30  103: 		;; \
295630c60d 2019-10-23  104: 	*) echo "Unknown error, help!" ;\
d8511a3d7c 2022-05-30  105: 		exit 1 \
d8511a3d7c 2022-05-30  106: 		;; \
295630c60d 2019-10-23  107: 	esac
295630c60d 2019-10-23  108: 
295630c60d 2019-10-23  109: hostname:
295630c60d 2019-10-23  110: 	echo "MRC:$@> Setting to ${HOSTNAME}."
295630c60d 2019-10-23  111: 	hostname ${HOSTNAME}
295630c60d 2019-10-23  112: 
295630c60d 2019-10-23  113: kld: bootfs
295630c60d 2019-10-23  114: .if defined(KLD_LIST)
625f7382df 2023-08-13  115: 	echo "MRC:$@> Loading kernel modules: ${KLD_LIST}"
625f7382df 2023-08-13  116: .	for KLD in ${KLD_LIST}
625f7382df 2023-08-13  117: 	kldload -n ${KLD} || echo "MRC:$@> Failed to load module: ${KLD}"
625f7382df 2023-08-13  118: .	endfor
625f7382df 2023-08-13  119: 	true
295630c60d 2019-10-23  120: .endif
295630c60d 2019-10-23  121: 
d8511a3d7c 2022-05-30  122: # ldconfig
295630c60d 2019-10-23  123: .for path in ${LDCONFIG_PATHS} /etc/ld-elf.so.conf
295630c60d 2019-10-23  124: .if exists(${path})
295630c60d 2019-10-23  125: ldc+=${path}
295630c60d 2019-10-23  126: .endif
295630c60d 2019-10-23  127: .endfor
295630c60d 2019-10-23  128: 
295630c60d 2019-10-23  129: .for dir in ${LDCONFIG_LOCAL_DIRS}
295630c60d 2019-10-23  130: .if exists(${dir})
295630c60d 2019-10-23  131: ldc+=${:!find ${dir} -type f!}
295630c60d 2019-10-23  132: .endif
295630c60d 2019-10-23  133: .endfor
295630c60d 2019-10-23  134: 
295630c60d 2019-10-23  135: ldconfig: mountlate
295630c60d 2019-10-23  136: 	echo "MRC:$@> Initializing shared libraries: ${ldc}"; \
295630c60d 2019-10-23  137: 	ldconfig -elf ${ldc}
295630c60d 2019-10-23  138: 
8f8bbe5cbb 2019-10-25  139: microcode: mountlate
d332ed9f4a 2022-05-29  140: 	test -d /usr/local/share/cpucontrol || exit 0 ;\
d332ed9f4a 2022-05-29  141: 	echo "MRC:$@> Updating microcode." ;\
8f8bbe5cbb 2019-10-25  142: 	kldload -n cpuctl || exit 1 ;\
d332ed9f4a 2022-05-29  143: 	for cpu in $$(jot ${NCPU} 0); do \
d8511a3d7c 2022-05-30  144: 		{ cpucontrol -u -d /usr/local/share/cpucontrol /dev/cpuctl$${cpu} \
d8511a3d7c 2022-05-30  145: 			|| exit 1 ;\
d8511a3d7c 2022-05-30  146: 		} | grep -v '^TEST' ;\
d8511a3d7c 2022-05-30  147: 		cpucontrol -e /dev/cpuctl$${cpu} || exit 1 ;\
8f8bbe5cbb 2019-10-25  148: 	done
8f8bbe5cbb 2019-10-25  149: 
295630c60d 2019-10-23  150: mixers=${:!find /dev -name 'mixer*'!:S/\/dev\///}
295630c60d 2019-10-23  151: 
295630c60d 2019-10-23  152: mixer: mount cleanvar
295630c60d 2019-10-23  153: 	echo "MRC:$@> Restoring levels."
295630c60d 2019-10-23  154: .for mixer in ${mixers}
d8511a3d7c 2022-05-30  155: 	if [ -r /var/db/${mixer}-state ]; then \
d8511a3d7c 2022-05-30  156: 		mixer -f /dev/${mixer} `cat /var/db/${mixer}-state` ;\
d8511a3d7c 2022-05-30  157: 	fi
d8511a3d7c 2022-05-30  158: .endfor
d8511a3d7c 2022-05-30  159: 
d8511a3d7c 2022-05-30  160: mixer_exit:
d8511a3d7c 2022-05-30  161: 	echo "MRC:$@> Saving mixer levels."
d8511a3d7c 2022-05-30  162: .for mixer in ${mixers}
d8511a3d7c 2022-05-30  163: 	if [ -r /dev/${mixer} ]; then \
d8511a3d7c 2022-05-30  164: 		mixer -f /dev/${mixer} -s > /var/db/${mixer}-state ;\
d8511a3d7c 2022-05-30  165: 	fi
295630c60d 2019-10-23  166: .endfor
d8511a3d7c 2022-05-30  167: 
d8511a3d7c 2022-05-30  168: DAEMON_EXIT: mixer_exit
295630c60d 2019-10-23  169: 
295630c60d 2019-10-23  170: excludes=${NETFS_TYPES:C/:.*//}
295630c60d 2019-10-23  171: 
cda92733d7 2019-10-25  172: mount: root zfs
d332ed9f4a 2022-05-29  173: 	echo "MRC:$@> Mount local FS." ;\
d332ed9f4a 2022-05-29  174: 	mount -uo rw -a ;\
d332ed9f4a 2022-05-29  175: 	mount ;\
295630c60d 2019-10-23  176: 	mount -a -t no${excludes:ts,}
295630c60d 2019-10-23  177: 
8bc8c738d5 2022-05-31  178: mountlate: NETWORK mount cleanvar runshm devd mounttmpfs
d332ed9f4a 2022-05-29  179: 	echo "MRC:$@> Mount late FS." ;\
295630c60d 2019-10-23  180: 	mount -a
295630c60d 2019-10-23  181: 
295630c60d 2019-10-23  182: msgs: mount
295630c60d 2019-10-23  183: 	echo "MRC:$@> Making bounds." ;\
d8511a3d7c 2022-05-30  184: 		test ! -d /var/msgs -o -f /var/msgs/bound -o -L /var/msgs/bounds || \
d8511a3d7c 2022-05-30  185: 		echo 0 > /var/msgs/bounds
295630c60d 2019-10-23  186: 
295630c60d 2019-10-23  187: newsyslog: mountlate sysdb
d8511a3d7c 2022-05-30  188: 	if [ -n "$${NEWSYSLOG_ENABLE}" ]; then \
d8511a3d7c 2022-05-30  189: 		echo "MRC:$@> Trimming log files." ;\
d8511a3d7c 2022-05-30  190: 		/usr/sbin/newsyslog ${NEWSYSLOG_FLAGS} ;\
d8511a3d7c 2022-05-30  191: 	fi
295630c60d 2019-10-23  192: 
295630c60d 2019-10-23  193: nextboot: mount
295630c60d 2019-10-23  194: .if exists(/boot/nextkernel)
295630c60d 2019-10-23  195: 	echo "MRC:$@> Removing nextboot setting."
295630c60d 2019-10-23  196: 	rm -f /boot/nextkernel
295630c60d 2019-10-23  197: .endif
295630c60d 2019-10-23  198: 
295630c60d 2019-10-23  199: .if empty(NFSCLIENT_ENABLE:tl:Mno)
295630c60d 2019-10-23  200: DAEMON_rpcbind_ENABLE=yes
295630c60d 2019-10-23  201: .endif
295630c60d 2019-10-23  202: 
d8511a3d7c 2022-05-30  203: nfsclient: NETWORK rpcbind
d8511a3d7c 2022-05-30  204: 	if [ -n "$${NFSCLIENT_ENABLE}" ]; then \
d8511a3d7c 2022-05-30  205: 		kldload -n nfs ;\
d8511a3d7c 2022-05-30  206: 	fi
d8511a3d7c 2022-05-30  207: 
d8511a3d7c 2022-05-30  208: nfsclient_exit: DAEMON_EXIT
d8511a3d7c 2022-05-30  209: .if empty(RPC_UMNTALL_ENABLE:tl:Mno)
d8511a3d7c 2022-05-30  210: 	echo "MRC:$@> Sending RPC unmount notifications."; \
d8511a3d7c 2022-05-30  211: 	test -f /var/db/mounttab || true && \
d8511a3d7c 2022-05-30  212: 		rpc.umntall -k
d8511a3d7c 2022-05-30  213: .endif
d8511a3d7c 2022-05-30  214: 
d8511a3d7c 2022-05-30  215: NETWORK_EXIT: nfsclient_exit
0be859974c 2019-10-25  216: 
8bc8c738d5 2022-05-31  217: netif: adjkerntz wlans cloned kld mounttmpfs utmpx
0be859974c 2019-10-25  218: 	echo "MRC:$@> Starting interfaces: ${IFCONFIG_IFACES}"
0be859974c 2019-10-25  219: .for iface in ${IFCONFIG_IFACES}
cbff0b494f 2023-08-18  220: .	for item in ${IFCONFIG_${iface}:tW:ts;}
0be859974c 2019-10-25  221: 	ifconfig ${iface} ${item}
cbff0b494f 2023-08-18  222: .	endfor
cbff0b494f 2023-08-18  223: .	undef _IFCONFIG_ARGS
0be859974c 2019-10-25  224: .endfor
0be859974c 2019-10-25  225: 
0be859974c 2019-10-25  226: pf: pflogd
0be859974c 2019-10-25  227: .if empty(PF_ENABLE:tl:Mno)
8bc8c738d5 2022-05-31  228: 	echo "MRC:$@> Enabling and loading rules."
8bc8c738d5 2022-05-31  229: 	kldload -n pf || exit 1
d8511a3d7c 2022-05-30  230: 	if [ -r ${PF_RULES} ]; then \
d8511a3d7c 2022-05-30  231: 		pfctl -Fa || exit 1 ;\
d8511a3d7c 2022-05-30  232: 		pfctl -f ${PF_RULES} ${PF_FLAGS} || exit 1 ;\
8bc8c738d5 2022-05-31  233: 		pfctl -Si | grep -q Enabled && pfctl -e ;\
d8511a3d7c 2022-05-30  234: 	else \
d8511a3d7c 2022-05-30  235: 		echo "MRC:$@> Can't find file with rules at ${PF_RULES}." ;\
d8511a3d7c 2022-05-30  236: 		exit 1 ;\
d8511a3d7c 2022-05-30  237: 	fi
0be859974c 2019-10-25  238: .endif
295630c60d 2019-10-23  239: 
295630c60d 2019-10-23  240: pwcheck: mountlate syslogd
295630c60d 2019-10-23  241: 	echo "MRC:$@> Checking password lock file."
295630c60d 2019-10-23  242: .if exists(/etc/ptmp)
d8511a3d7c 2022-05-30  243: 	logger -s -p auth.err \
d8511a3d7c 2022-05-30  244: 		"password file may be incorrect -- /etc/ptmp exists"
295630c60d 2019-10-23  245: .endif
295630c60d 2019-10-23  246: 
295630c60d 2019-10-23  247: random: mount devfs
8bc8c738d5 2022-05-31  248: 	echo "MRC:$@> Seeding."
8bc8c738d5 2022-05-31  249: 	sysctl kern.seedenable=1 > /dev/null
8bc8c738d5 2022-05-31  250: 	( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww ;) 2>&1 |\
8bc8c738d5 2022-05-31  251: 		dd status=none of=/dev/random bs=8k 2>/dev/null
8bc8c738d5 2022-05-31  252: 	dd if=/bin/ps status=none of=/dev/random bs=8k 2>/dev/null
d8511a3d7c 2022-05-30  253: 	if [ -d $${ENTROPY_DIR} ]; then \
d8511a3d7c 2022-05-30  254: 		find $${ENTROPY_DIR} -type f |\
8bc8c738d5 2022-05-31  255: 			xargs -n1 -Ifoo dd status=none if=foo of=/dev/random bs=8k 2>/dev/null ;\
d8511a3d7c 2022-05-30  256: 	else \
d8511a3d7c 2022-05-30  257: 		if [ -r ${ENTROPY_FILE} ]; then \
8bc8c738d5 2022-05-31  258: 			dd status=none if=${ENTROPY_FILE} of=/dev/random bs=8k 2>/dev/null ;\
8bc8c738d5 2022-05-31  259: 		fi \
8bc8c738d5 2022-05-31  260: 	fi
295630c60d 2019-10-23  261: 	sysctl kern.seedenable=0 > /dev/null
d332ed9f4a 2022-05-29  262: 
d8511a3d7c 2022-05-30  263: random_exit:
8bc8c738d5 2022-05-31  264: 	rm -f ${ENTROPY_FILE}
8bc8c738d5 2022-05-31  265: 	( \
8bc8c738d5 2022-05-31  266: 		umask 077 ;\
8bc8c738d5 2022-05-31  267: 		dd if=/dev/random of=${ENTROPY_FILE} bs=8k count=1 2>/dev/null || \
8bc8c738d5 2022-05-31  268: 			echo "MRC:$@> entropy file write failed." ;\
8bc8c738d5 2022-05-31  269: 	)
d8511a3d7c 2022-05-30  270: 
d8511a3d7c 2022-05-30  271: DAEMON_EXIT: random_exit
d8511a3d7c 2022-05-30  272: 
295630c60d 2019-10-23  273: root: fsck bootfs
8bc8c738d5 2022-05-31  274: 	echo "MRC:$@> Mount root R/W."
d332ed9f4a 2022-05-29  275: 	mount -uo rw
295630c60d 2019-10-23  276: 
295630c60d 2019-10-23  277: savecore: dumpon
295630c60d 2019-10-23  278: .if empty(DUMPDEV:tl:Mno) && exists(${DUMPDEV}) && exists(${DUMPDIR})
8bc8c738d5 2022-05-31  279: 	echo "MRC:$@> Saving coredump."
295630c60d 2019-10-23  280: 	savecore ${DUMPDIR} ${DUMPDEV}
295630c60d 2019-10-23  281: .if empty(CRASHINFO_ENABLE:tl:Mno)
295630c60d 2019-10-23  282: 	crashinfo -d ${DUMPDIR}
295630c60d 2019-10-23  283: .endif
295630c60d 2019-10-23  284: .endif
295630c60d 2019-10-23  285: 
295630c60d 2019-10-23  286: swap: savecore
295630c60d 2019-10-23  287: .if ${:!sysctl -n vm.swap_enabled!}} != 0
8bc8c738d5 2022-05-31  288: 	echo "MRC:$@> Enabling swap."
295630c60d 2019-10-23  289: 	swapon -a
295630c60d 2019-10-23  290: .endif
295630c60d 2019-10-23  291: 
295630c60d 2019-10-23  292: sysctl: kld root
295630c60d 2019-10-23  293: .if exists(/etc/sysctl.conf)
8bc8c738d5 2022-05-31  294: 	echo "MRC:$@> Setting sysctl defaults."
8f8bbe5cbb 2019-10-25  295: 	awk '$$0~/^[ ]*(#.*)?$$/{next}{print}' < /etc/sysctl.conf | \
d8511a3d7c 2022-05-30  296: 		xargs -n1 sysctl
295630c60d 2019-10-23  297: .endif
295630c60d 2019-10-23  298: 
295630c60d 2019-10-23  299: sysdb: mountlate
8bc8c738d5 2022-05-31  300: 	echo "MRC:$@> Building databases."
295630c60d 2019-10-23  301: 	install -c -m 644 -g wheel /dev/null /var/run/utmpx
295630c60d 2019-10-23  302: 
295630c60d 2019-10-23  303: wlans: kld
8bc8c738d5 2022-05-31  304: 	echo "MRC:$@> Configuring wlans."
8f8bbe5cbb 2019-10-25  305: 	for dev in $$(sysctl -n net.wlan.devices); do \
8bc8c738d5 2022-05-31  306: 		eval all_wlans=\$${WLANS_$${dev}} ;\
d8511a3d7c 2022-05-30  307: 		for wlan in $${all_wlans}; do \
8bc8c738d5 2022-05-31  308: 			eval wlan_args=\$${WLANS_$${wlan}_ARGS} ;\
8bc8c738d5 2022-05-31  309: 			ifconfig $${wlan} create wlandev $${dev} $${wlan_args} ;\
8bc8c738d5 2022-05-31  310: 			ifconfig $${wlan} up ;\
8bc8c738d5 2022-05-31  311: 		done \
295630c60d 2019-10-23  312: 	done
cda92733d7 2019-10-25  313: 
cda92733d7 2019-10-25  314: zfs:
cda92733d7 2019-10-25  315: .if empty(ZFS_ENABLE:tl:Mno)
8bc8c738d5 2022-05-31  316: 	zfs mount -va || exit $$?
8bc8c738d5 2022-05-31  317: 	zfs share -a || exit $$?
8bc8c738d5 2022-05-31  318: 	touch /etc/zfs/exports
8bc8c738d5 2022-05-31  319: .endif
8bc8c738d5 2022-05-31  320: 
8bc8c738d5 2022-05-31  321: runshm: cleanvar
8bc8c738d5 2022-05-31  322: 	echo "MRC:$@> Preparing /var/run."
8bc8c738d5 2022-05-31  323: .	if exists(TMPFS_VAR_RUN_ENABLE)
8bc8c738d5 2022-05-31  324: 	/rescue/find /var/run -mindepth 1 -delete
8bc8c738d5 2022-05-31  325: 	mount_tmpfs dummy /var/run
8bc8c738d5 2022-05-31  326: .	else
8bc8c738d5 2022-05-31  327: 	mkdir -p /var/run/shm
8bc8c738d5 2022-05-31  328: 	mount_tmpfs -m 01777 dummy /var/run/shm
8bc8c738d5 2022-05-31  329: .	endif
8bc8c738d5 2022-05-31  330: 	mtree -deiqU -f /etc/mtree/BSD.var.dist -p /var
8bc8c738d5 2022-05-31  331: 
8bc8c738d5 2022-05-31  332: mounttmpfs: cleanvar
8bc8c738d5 2022-05-31  333: 	echo "MRC:$@> Mount tmpfs and populating /var/run."
8bc8c738d5 2022-05-31  334: .if exists(TMPFS_TMP_ENABLE)
8bc8c738d5 2022-05-31  335: 	mount | awk 'BEGIN{x=1}$$3~/\/tmp/{x=0}END{exit(x)}' || {
8bc8c738d5 2022-05-31  336: 		/rescue/find /tmp -mindepth 1 -delete
8bc8c738d5 2022-05-31  337: 		mount_tmpfs -m 01777 dummy /tmp
8bc8c738d5 2022-05-31  338: 	}
cda92733d7 2019-10-25  339: .endif
8bc8c738d5 2022-05-31  340: 
8bc8c738d5 2022-05-31  341: utmpx: runshm
8bc8c738d5 2022-05-31  342: 	echo "MRC:$@> Install utmpx."
8bc8c738d5 2022-05-31  343: 	install -m 644 -g wheel /dev/null /var/run/utmpx