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