Origin for each line in
init.mk
from check-in f49abe7565:
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 \
f49abe7565 2024-12-29 4: hostname ip6addrctl kld ldconfig microcode mixer mount mountlate \
f49abe7565 2024-12-29 5: mounttmpfs msgs netif newsyslog nextboot nfsclient pf pwcheck random root \
f49abe7565 2024-12-29 6: runshm savecore swap sysctl sysdb udevd_check utmpx wlans zfs
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."
6de7ae29c1 2023-11-04 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 \
f49abe7565 2024-12-29 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 \
f49abe7565 2024-12-29 71: echo "MRC:$@> Setting dumpon device to ${DUMPDEV}"; \
f49abe7565 2024-12-29 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:
f49abe7565 2024-12-29 77: echo "MRC:$@> Checking disks."
f49abe7565 2024-12-29 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: ;; \
f49abe7565 2024-12-29 83: 4) echo "Rebooting..."; \
d8511a3d7c 2022-05-30 84: reboot ;\
f49abe7565 2024-12-29 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 \
f49abe7565 2024-12-29 89: echo "File system preen failed, trying fsck -y."; \
8bc8c738d5 2022-05-31 90: fsck -y || { \
f49abe7565 2024-12-29 91: echo "Automatic file system check failed; help!"; \
f49abe7565 2024-12-29 92: exit 1; \
f49abe7565 2024-12-29 93: }; \
d8511a3d7c 2022-05-30 94: else \
f49abe7565 2024-12-29 95: echo "Automatic file system check failed; help!"; \
f49abe7565 2024-12-29 96: exit 1; \
d8511a3d7c 2022-05-30 97: fi \
d8511a3d7c 2022-05-30 98: ;; \
f49abe7565 2024-12-29 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: ;; \
f49abe7565 2024-12-29 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}
f49abe7565 2024-12-29 112:
f49abe7565 2024-12-29 113: ip6addrctl: root mount
f49abe7565 2024-12-29 114: .if empty(HAS_INET6:tl:Mno)
f49abe7565 2024-12-29 115: /usr/sbin/ip6addrctl flush >/dev/null 2>&1
f49abe7565 2024-12-29 116: . if !empty(PREFER:MIPV6)
f49abe7565 2024-12-29 117: echo "MRC:$@> Setting v4/v6 address selection defaults (prefer v6)."
f49abe7565 2024-12-29 118: printf "\
f49abe7565 2024-12-29 119: ::1/128 50 0\n\
f49abe7565 2024-12-29 120: ::/0 40 1\n\
f49abe7565 2024-12-29 121: ::ffff:0:0/96 35 4\n\
f49abe7565 2024-12-29 122: 2002::/16 30 2\n\
f49abe7565 2024-12-29 123: 2001::/32 5 5\n\
f49abe7565 2024-12-29 124: fc00::/7 3 13\n\
f49abe7565 2024-12-29 125: ::/96 1 3\n\
f49abe7565 2024-12-29 126: fec0::/10 1 11\n\
f49abe7565 2024-12-29 127: 3ffe::/16 1 12\n" |\
f49abe7565 2024-12-29 128: /usr/sbin/ip6addrctl install /dev/stdin
f49abe7565 2024-12-29 129: . elif !empty(PREFER:MIPV4)
f49abe7565 2024-12-29 130: echo "MRC:$@> Setting v4/v6 address selection defaults (prefer v6)."
f49abe7565 2024-12-29 131: printf "\
f49abe7565 2024-12-29 132: ::1/128 50 0\n\
f49abe7565 2024-12-29 133: ::/0 40 1\n\
f49abe7565 2024-12-29 134: ::ffff:0:0/96 100 4\n\
f49abe7565 2024-12-29 135: 2002::/16 30 2\n\
f49abe7565 2024-12-29 136: 2001::/32 5 5\n\
f49abe7565 2024-12-29 137: fc00::/7 3 13\n\
f49abe7565 2024-12-29 138: ::/96 1 3\n\
f49abe7565 2024-12-29 139: fec0::/10 1 11\n\
f49abe7565 2024-12-29 140: 3ffe::/16 1 12\n" |\
f49abe7565 2024-12-29 141: /usr/sbin/ip6addrctl install /dev/stdin
f49abe7565 2024-12-29 142: . else
f49abe7565 2024-12-29 143: echo "MRC:$@> Setting v4/v6 address selection defaults (none)."
f49abe7565 2024-12-29 144: . endif
f49abe7565 2024-12-29 145: .else
f49abe7565 2024-12-29 146: echo "MRC:$@> No INET6 support in kernel."
f49abe7565 2024-12-29 147: .endif
625f7382df 2023-08-13 148:
295630c60d 2019-10-23 149: kld: bootfs
295630c60d 2019-10-23 150: .if defined(KLD_LIST)
625f7382df 2023-08-13 151: echo "MRC:$@> Loading kernel modules: ${KLD_LIST}"
625f7382df 2023-08-13 152: . for KLD in ${KLD_LIST}
625f7382df 2023-08-13 153: kldload -n ${KLD} || echo "MRC:$@> Failed to load module: ${KLD}"
625f7382df 2023-08-13 154: . endfor
625f7382df 2023-08-13 155: true
295630c60d 2019-10-23 156: .endif
295630c60d 2019-10-23 157:
d8511a3d7c 2022-05-30 158: # ldconfig
295630c60d 2019-10-23 159: .for path in ${LDCONFIG_PATHS} /etc/ld-elf.so.conf
295630c60d 2019-10-23 160: .if exists(${path})
295630c60d 2019-10-23 161: ldc+=${path}
295630c60d 2019-10-23 162: .endif
295630c60d 2019-10-23 163: .endfor
295630c60d 2019-10-23 164:
295630c60d 2019-10-23 165: .for dir in ${LDCONFIG_LOCAL_DIRS}
295630c60d 2019-10-23 166: .if exists(${dir})
295630c60d 2019-10-23 167: ldc+=${:!find ${dir} -type f!}
295630c60d 2019-10-23 168: .endif
295630c60d 2019-10-23 169: .endfor
295630c60d 2019-10-23 170:
295630c60d 2019-10-23 171: ldconfig: mountlate
f49abe7565 2024-12-29 172: echo "MRC:$@> Initializing shared libraries: ${ldc}"
295630c60d 2019-10-23 173: ldconfig -elf ${ldc}
295630c60d 2019-10-23 174:
8f8bbe5cbb 2019-10-25 175: microcode: mountlate
f49abe7565 2024-12-29 176: if [ -d /usr/local/share/cpucontrol ]; then \
f49abe7565 2024-12-29 177: echo "MRC:$@> Updating microcode."; \
f49abe7565 2024-12-29 178: if kldload -n cpuctl; then \
f49abe7565 2024-12-29 179: for cpu in $$(jot ${NCPU} 0); do \
f49abe7565 2024-12-29 180: cpucontrol -u /dev/cpuctl$${cpu}; \
f49abe7565 2024-12-29 181: done; \
f49abe7565 2024-12-29 182: for cpu in $$(jot ${NCPU} 1); do \
f49abe7565 2024-12-29 183: cpucontrol -e /dev/cpuctl$${cpu}; \
f49abe7565 2024-12-29 184: done \
f49abe7565 2024-12-29 185: else \
f49abe7565 2024-12-29 186: echo "MRC:$@> Failed to load [cpuctl]."; \
f49abe7565 2024-12-29 187: fi \
f49abe7565 2024-12-29 188: fi
f49abe7565 2024-12-29 189:
f49abe7565 2024-12-29 190: mixer: mount cleanvar kld
d8511a3d7c 2022-05-30 191: echo "MRC:$@> Restoring levels."
f49abe7565 2024-12-29 192: for mixer in $$(find /dev -name 'mixer*' | sed 's|^/dev/||'); do \
f49abe7565 2024-12-29 193: if [ -r /var/db/$${mixer}-state ]; then \
f49abe7565 2024-12-29 194: mixer -f /dev/$${mixer} `cat /var/db/$${mixer}-state` || \
f49abe7565 2024-12-29 195: echo "MRC:$@> /dev/$${mixer} config load failed."; \
f49abe7565 2024-12-29 196: fi \
f49abe7565 2024-12-29 197: done
d8511a3d7c 2022-05-30 198:
d8511a3d7c 2022-05-30 199: mixer_exit:
d8511a3d7c 2022-05-30 200: echo "MRC:$@> Saving mixer levels."
f49abe7565 2024-12-29 201: for mixer in $$(find /dev -name 'mixer*' | sed 's|^/dev/||'); do \
f49abe7565 2024-12-29 202: if [ -r /dev/$${mixer} ]; then \
f49abe7565 2024-12-29 203: mixer -f /dev/$${mixer} -s > /var/db/$${mixer}-state; \
f49abe7565 2024-12-29 204: fi \
f49abe7565 2024-12-29 205: done
d332ed9f4a 2022-05-29 206:
d8511a3d7c 2022-05-30 207: DAEMON_EXIT: mixer_exit
295630c60d 2019-10-23 208:
295630c60d 2019-10-23 209: excludes=${NETFS_TYPES:C/:.*//}
295630c60d 2019-10-23 210:
cda92733d7 2019-10-25 211: mount: root zfs
f49abe7565 2024-12-29 212: echo "MRC:$@> Mount local FS."
f49abe7565 2024-12-29 213: mount -p | awk '$$1~/^map$$/{next}$$3!~/^(tmpfs|null|procfs)$$/{print"mount -uo rw "$$1}' | sh
f49abe7565 2024-12-29 214: mount
295630c60d 2019-10-23 215: mount -a -t no${excludes:ts,}
295630c60d 2019-10-23 216:
8bc8c738d5 2022-05-31 217: mountlate: NETWORK mount cleanvar runshm devd mounttmpfs
f49abe7565 2024-12-29 218: echo "MRC:$@> Mount late FS."
295630c60d 2019-10-23 219: mount -a
295630c60d 2019-10-23 220:
295630c60d 2019-10-23 221: msgs: mount
f49abe7565 2024-12-29 222: echo "MRC:$@> Making bounds."
f49abe7565 2024-12-29 223: test ! -d /var/msgs -o -f /var/msgs/bound -o -L /var/msgs/bounds || \
d8511a3d7c 2022-05-30 224: echo 0 > /var/msgs/bounds
295630c60d 2019-10-23 225:
295630c60d 2019-10-23 226: newsyslog: mountlate sysdb
d8511a3d7c 2022-05-30 227: if [ -n "$${NEWSYSLOG_ENABLE}" ]; then \
f49abe7565 2024-12-29 228: echo "MRC:$@> Trimming log files."; \
f49abe7565 2024-12-29 229: /usr/sbin/newsyslog ${NEWSYSLOG_FLAGS}; \
d8511a3d7c 2022-05-30 230: fi
295630c60d 2019-10-23 231:
295630c60d 2019-10-23 232: nextboot: mount
295630c60d 2019-10-23 233: .if exists(/boot/nextkernel)
295630c60d 2019-10-23 234: echo "MRC:$@> Removing nextboot setting."
295630c60d 2019-10-23 235: rm -f /boot/nextkernel
295630c60d 2019-10-23 236: .endif
295630c60d 2019-10-23 237:
295630c60d 2019-10-23 238: .if empty(NFSCLIENT_ENABLE:tl:Mno)
295630c60d 2019-10-23 239: DAEMON_rpcbind_ENABLE=yes
295630c60d 2019-10-23 240: .endif
295630c60d 2019-10-23 241:
d8511a3d7c 2022-05-30 242: nfsclient: NETWORK rpcbind
d8511a3d7c 2022-05-30 243: if [ -n "$${NFSCLIENT_ENABLE}" ]; then \
f49abe7565 2024-12-29 244: kldload -n nfs; \
d8511a3d7c 2022-05-30 245: fi
d8511a3d7c 2022-05-30 246:
d8511a3d7c 2022-05-30 247: nfsclient_exit: DAEMON_EXIT
d8511a3d7c 2022-05-30 248: .if empty(RPC_UMNTALL_ENABLE:tl:Mno)
f49abe7565 2024-12-29 249: echo "MRC:$@> Sending RPC unmount notifications."
f49abe7565 2024-12-29 250: test -f /var/db/mounttab || true && rpc.umntall -k
d8511a3d7c 2022-05-30 251: .endif
d8511a3d7c 2022-05-30 252:
d8511a3d7c 2022-05-30 253: NETWORK_EXIT: nfsclient_exit
0be859974c 2019-10-25 254:
f49abe7565 2024-12-29 255: netif: adjkerntz cloned ip6addrctl kld mounttmpfs utmpx wlans
0be859974c 2019-10-25 256: echo "MRC:$@> Starting interfaces: ${IFCONFIG_IFACES}"
0be859974c 2019-10-25 257: .for iface in ${IFCONFIG_IFACES}
cbff0b494f 2023-08-18 258: . for item in ${IFCONFIG_${iface}:tW:ts;}
0be859974c 2019-10-25 259: ifconfig ${iface} ${item}
cbff0b494f 2023-08-18 260: . endfor
cbff0b494f 2023-08-18 261: . undef _IFCONFIG_ARGS
0be859974c 2019-10-25 262: .endfor
0be859974c 2019-10-25 263:
0be859974c 2019-10-25 264: pf: pflogd
0be859974c 2019-10-25 265: .if empty(PF_ENABLE:tl:Mno)
8bc8c738d5 2022-05-31 266: echo "MRC:$@> Enabling and loading rules."
f49abe7565 2024-12-29 267: if kldload -n pf; then \
f49abe7565 2024-12-29 268: if [ -r ${PF_RULES} ]; then \
f49abe7565 2024-12-29 269: pfctl -Fa || exit 1; \
f49abe7565 2024-12-29 270: pfctl -f ${PF_RULES} ${PF_FLAGS} || exit 1; \
f49abe7565 2024-12-29 271: pfctl -Si | grep -q Enabled && pfctl -e; \
f49abe7565 2024-12-29 272: else \
f49abe7565 2024-12-29 273: echo "MRC:$@> Can't find file with rules at ${PF_RULES}."; \
f49abe7565 2024-12-29 274: exit 1; \
f49abe7565 2024-12-29 275: fi \
d8511a3d7c 2022-05-30 276: else \
f49abe7565 2024-12-29 277: echo "MRC:$@> Failed to load [pf]."; \
d8511a3d7c 2022-05-30 278: fi
0be859974c 2019-10-25 279: .endif
295630c60d 2019-10-23 280:
295630c60d 2019-10-23 281: pwcheck: mountlate syslogd
295630c60d 2019-10-23 282: echo "MRC:$@> Checking password lock file."
295630c60d 2019-10-23 283: .if exists(/etc/ptmp)
d8511a3d7c 2022-05-30 284: logger -s -p auth.err \
d8511a3d7c 2022-05-30 285: "password file may be incorrect -- /etc/ptmp exists"
295630c60d 2019-10-23 286: .endif
295630c60d 2019-10-23 287:
295630c60d 2019-10-23 288: random: mount devfs
8bc8c738d5 2022-05-31 289: echo "MRC:$@> Seeding."
8bc8c738d5 2022-05-31 290: sysctl kern.seedenable=1 > /dev/null
f49abe7565 2024-12-29 291: ( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww ;) 2>&1 | \
8bc8c738d5 2022-05-31 292: dd status=none of=/dev/random bs=8k 2>/dev/null
8bc8c738d5 2022-05-31 293: dd if=/bin/ps status=none of=/dev/random bs=8k 2>/dev/null
d8511a3d7c 2022-05-30 294: if [ -d $${ENTROPY_DIR} ]; then \
f49abe7565 2024-12-29 295: find $${ENTROPY_DIR} -type f | \
f49abe7565 2024-12-29 296: xargs -n1 -Ifoo dd status=none if=foo of=/dev/random bs=8k 2>/dev/null; \
d8511a3d7c 2022-05-30 297: else \
d8511a3d7c 2022-05-30 298: if [ -r ${ENTROPY_FILE} ]; then \
f49abe7565 2024-12-29 299: dd status=none if=${ENTROPY_FILE} of=/dev/random bs=8k 2>/dev/null; \
8bc8c738d5 2022-05-31 300: fi \
8bc8c738d5 2022-05-31 301: fi
295630c60d 2019-10-23 302: sysctl kern.seedenable=0 > /dev/null
d332ed9f4a 2022-05-29 303:
d8511a3d7c 2022-05-30 304: random_exit:
f49abe7565 2024-12-29 305: rm -f ${ENTROPY_FILE}; \
8bc8c738d5 2022-05-31 306: ( \
f49abe7565 2024-12-29 307: umask 077; \
8bc8c738d5 2022-05-31 308: dd if=/dev/random of=${ENTROPY_FILE} bs=8k count=1 2>/dev/null || \
f49abe7565 2024-12-29 309: echo "MRC:$@> entropy file write failed."; \
8bc8c738d5 2022-05-31 310: )
d8511a3d7c 2022-05-30 311:
d8511a3d7c 2022-05-30 312: DAEMON_EXIT: random_exit
d8511a3d7c 2022-05-30 313:
295630c60d 2019-10-23 314: root: fsck bootfs
8bc8c738d5 2022-05-31 315: echo "MRC:$@> Mount root R/W."
d332ed9f4a 2022-05-29 316: mount -uo rw
295630c60d 2019-10-23 317:
295630c60d 2019-10-23 318: savecore: dumpon
295630c60d 2019-10-23 319: .if empty(DUMPDEV:tl:Mno) && exists(${DUMPDEV}) && exists(${DUMPDIR})
8bc8c738d5 2022-05-31 320: echo "MRC:$@> Saving coredump."
295630c60d 2019-10-23 321: savecore ${DUMPDIR} ${DUMPDEV}
295630c60d 2019-10-23 322: .if empty(CRASHINFO_ENABLE:tl:Mno)
295630c60d 2019-10-23 323: crashinfo -d ${DUMPDIR}
295630c60d 2019-10-23 324: .endif
295630c60d 2019-10-23 325: .endif
295630c60d 2019-10-23 326:
295630c60d 2019-10-23 327: swap: savecore
295630c60d 2019-10-23 328: .if ${:!sysctl -n vm.swap_enabled!}} != 0
8bc8c738d5 2022-05-31 329: echo "MRC:$@> Enabling swap."
295630c60d 2019-10-23 330: swapon -a
295630c60d 2019-10-23 331: .endif
295630c60d 2019-10-23 332:
295630c60d 2019-10-23 333: sysctl: kld root
295630c60d 2019-10-23 334: .if exists(/etc/sysctl.conf)
8bc8c738d5 2022-05-31 335: echo "MRC:$@> Setting sysctl defaults."
8f8bbe5cbb 2019-10-25 336: awk '$$0~/^[ ]*(#.*)?$$/{next}{print}' < /etc/sysctl.conf | \
d8511a3d7c 2022-05-30 337: xargs -n1 sysctl
295630c60d 2019-10-23 338: .endif
295630c60d 2019-10-23 339:
295630c60d 2019-10-23 340: sysdb: mountlate
8bc8c738d5 2022-05-31 341: echo "MRC:$@> Building databases."
295630c60d 2019-10-23 342: install -c -m 644 -g wheel /dev/null /var/run/utmpx
295630c60d 2019-10-23 343:
295630c60d 2019-10-23 344: wlans: kld
f49abe7565 2024-12-29 345: echo "MRC:$@> Configuring wlans." ;
8f8bbe5cbb 2019-10-25 346: for dev in $$(sysctl -n net.wlan.devices); do \
f49abe7565 2024-12-29 347: eval all_wlans=\$${WLANS_$${dev}}; \
d8511a3d7c 2022-05-30 348: for wlan in $${all_wlans}; do \
f49abe7565 2024-12-29 349: { \
f49abe7565 2024-12-29 350: eval wlan_args="\$${WLANS_$${wlan}_ARGS}" && \
f49abe7565 2024-12-29 351: ifconfig $${wlan} create wlandev $${dev} && \
f49abe7565 2024-12-29 352: { \
f49abe7565 2024-12-29 353: ifconfig $${wlan} $${wlan_args}; \
f49abe7565 2024-12-29 354: ifconfig $${wlan} up; \
f49abe7565 2024-12-29 355: }; \
f49abe7565 2024-12-29 356: } || echo "MRC:$@> ERROR: WLAN $${wlan} failed to initialize."; \
8bc8c738d5 2022-05-31 357: done \
295630c60d 2019-10-23 358: done
cda92733d7 2019-10-25 359:
cda92733d7 2019-10-25 360: zfs:
cda92733d7 2019-10-25 361: .if empty(ZFS_ENABLE:tl:Mno)
8bc8c738d5 2022-05-31 362: zfs mount -va || exit $$?
8bc8c738d5 2022-05-31 363: zfs share -a || exit $$?
8bc8c738d5 2022-05-31 364: touch /etc/zfs/exports
8bc8c738d5 2022-05-31 365: .endif
8bc8c738d5 2022-05-31 366:
8bc8c738d5 2022-05-31 367: runshm: cleanvar
8bc8c738d5 2022-05-31 368: echo "MRC:$@> Preparing /var/run."
8bc8c738d5 2022-05-31 369: . if exists(TMPFS_VAR_RUN_ENABLE)
8bc8c738d5 2022-05-31 370: /rescue/find /var/run -mindepth 1 -delete
8bc8c738d5 2022-05-31 371: mount_tmpfs dummy /var/run
8bc8c738d5 2022-05-31 372: . else
8bc8c738d5 2022-05-31 373: mkdir -p /var/run/shm
8bc8c738d5 2022-05-31 374: mount_tmpfs -m 01777 dummy /var/run/shm
8bc8c738d5 2022-05-31 375: . endif
8bc8c738d5 2022-05-31 376: mtree -deiqU -f /etc/mtree/BSD.var.dist -p /var
8bc8c738d5 2022-05-31 377:
8bc8c738d5 2022-05-31 378: mounttmpfs: cleanvar
8bc8c738d5 2022-05-31 379: echo "MRC:$@> Mount tmpfs and populating /var/run."
8bc8c738d5 2022-05-31 380: .if exists(TMPFS_TMP_ENABLE)
f49abe7565 2024-12-29 381: mount | awk 'BEGIN{x=1}$$3~/\/tmp/{x=0}END{exit(x)}' || { \
f49abe7565 2024-12-29 382: /rescue/find /tmp -mindepth 1 -delete; \
f49abe7565 2024-12-29 383: mount_tmpfs -m 01777 dummy /tmp; \
8bc8c738d5 2022-05-31 384: }
cda92733d7 2019-10-25 385: .endif
f49abe7565 2024-12-29 386:
f49abe7565 2024-12-29 387: udevd_check: DAEMON
f49abe7565 2024-12-29 388: echo "MRC:$@> Check udevd PID/socket are accessible."
f49abe7565 2024-12-29 389: if [ ! -e /var/run/udevd.pid ]; then \
f49abe7565 2024-12-29 390: pkill -HUP -x udevd; \
f49abe7565 2024-12-29 391: ( \
f49abe7565 2024-12-29 392: sleep 1; \
f49abe7565 2024-12-29 393: if [ ! -e /var/run/udevd.pid ]; then \
f49abe7565 2024-12-29 394: svc restart udevd; \
f49abe7565 2024-12-29 395: fi \
f49abe7565 2024-12-29 396: ) & \
f49abe7565 2024-12-29 397: fi
8bc8c738d5 2022-05-31 398:
8bc8c738d5 2022-05-31 399: utmpx: runshm
8bc8c738d5 2022-05-31 400: echo "MRC:$@> Install utmpx."
8bc8c738d5 2022-05-31 401: install -m 644 -g wheel /dev/null /var/run/utmpx