Annotation For init.mk
Logged in as anonymous

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

295630c60d 2019-10-23        arcade: # Meta targets
295630c60d 2019-10-23        arcade: 
d8511a3d7c 2022-05-30        arcade: TARGETS:=adjkerntz bootfs cleanvar cleartmp cloned devfs dmesg dumpon fsck \
f49abe7565 2024-12-29        arcade: 	hostname ip6addrctl kld ldconfig microcode mixer mount mountlate \
f49abe7565 2024-12-29        arcade: 	mounttmpfs msgs netif newsyslog nextboot nfsclient pf pwcheck random root \
f49abe7565 2024-12-29        arcade: 	runshm savecore swap sysctl sysdb udevd_check utmpx wlans zfs
d8511a3d7c 2022-05-30        arcade: 
d8511a3d7c 2022-05-30        arcade: OTHER_TARGETS+=mixer_exit nfsclient_exit random_exit
0be859974c 2019-10-25        arcade: 
0be859974c 2019-10-25        arcade: DAEMON: pwcheck sysctl sysdb NETWORK SERVERS ldconfig nfsclient cleartmp pflogd
0be859974c 2019-10-25        arcade: 
0be859974c 2019-10-25        arcade: LOGIN: DAEMON dntpd msgs powerd pflogd
0be859974c 2019-10-25        arcade: 
0be859974c 2019-10-25        arcade: NETWORK: netif devd hostname
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: SERVERS: swap mountlate syslogd newsyslog
295630c60d 2019-10-23        arcade: 
0be859974c 2019-10-25        arcade: SERVICE: netif mount random hostname cleanvar
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: # regular targets
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: adjkerntz: random mount
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Adjust kernel timezone."
6de7ae29c1 2023-11-04        arcade: 	adjkerntz -i &
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: bootfs: fsck
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Checking whether we need /boot mounted."
295630c60d 2019-10-23        arcade: 	mount -vadr | grep -q ' /boot$$' && mount -r /boot || true
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: cleanvar: mount
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Cleaning '/var's."
295630c60d 2019-10-23        arcade: .for dir in ${CLEANVAR_DIRS}
8bc8c738d5 2022-05-31        arcade: 	if [ -d ${dir} ]; then \
f49abe7565 2024-12-29        arcade: 		/rescue/find ${dir} -mindepth 1 -delete; \
8bc8c738d5 2022-05-31        arcade: 	fi
295630c60d 2019-10-23        arcade: .endfor
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: cleartmp: mountlate
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Clearing tmp."
8bc8c738d5 2022-05-31        arcade: 	find -x /tmp -mindepth 1 ! -name lost+found ! -name snapshots \
8bc8c738d5 2022-05-31        arcade: 		! -path "./snapshots/*" ! -name quota.user ! -name quota.group \
8bc8c738d5 2022-05-31        arcade: 		-delete -type d -prune
8bc8c738d5 2022-05-31        arcade: 	rm -fr /tmp/.X11-unix /tmp/.X*-lock
8bc8c738d5 2022-05-31        arcade: 	mkdir -m 1777 /tmp/.X11-unix
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: cloned: kld
88e0b45310 2019-10-23        arcade: .if !empty(CLONED_INTERFACES)
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Cloning interfaces: ${CLONED_INTERFACES}"
d8511a3d7c 2022-05-30        arcade: .	for iface in ${CLONED_INTERFACES}
295630c60d 2019-10-23        arcade: 	ifconfig ${iface} create
d8511a3d7c 2022-05-30        arcade: .	endfor
88e0b45310 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: devfs:
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Applying rules: ${DEVFS_CONFIG_FILES}"
295630c60d 2019-10-23        arcade: .for file in ${DEVFS_CONFIG_FILES}
d8511a3d7c 2022-05-30        arcade: .	if exists(${file})
295630c60d 2019-10-23        arcade: 	devfsctl -a -f ${file}
d8511a3d7c 2022-05-30        arcade: .	endif
295630c60d 2019-10-23        arcade: .endfor
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: dmesg: mountlate
88e0b45310 2019-10-23        arcade: .if !empty(DMESG_FILE)
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Writing dmesg."
8bc8c738d5 2022-05-31        arcade: 	( umask 022 ; dmesg -a > ${DMESG_FILE} ;)
88e0b45310 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: dumpon: random
88e0b45310 2019-10-23        arcade: .if !empty(DUMPDEV)
d8511a3d7c 2022-05-30        arcade: 	if [ -e ${DUMPDEV} ]; then \
f49abe7565 2024-12-29        arcade: 		echo "MRC:$@> Setting dumpon device to ${DUMPDEV}"; \
f49abe7565 2024-12-29        arcade: 		dumpon -v ${DUMPDEV}; \
d8511a3d7c 2022-05-30        arcade: 	fi
88e0b45310 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: fsck:
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Checking disks."
f49abe7565 2024-12-29        arcade: 	fsck -p; \
295630c60d 2019-10-23        arcade: 	case $$? in \
295630c60d 2019-10-23        arcade: 	0) ;; \
295630c60d 2019-10-23        arcade: 	2) exit 1 \
d8511a3d7c 2022-05-30        arcade: 		;; \
f49abe7565 2024-12-29        arcade: 	4) echo "Rebooting..."; \
d8511a3d7c 2022-05-30        arcade: 		reboot ;\
f49abe7565 2024-12-29        arcade: 		echo "Reboot failed; help!"; \
d8511a3d7c 2022-05-30        arcade: 		exit 1 \
d8511a3d7c 2022-05-30        arcade: 		;; \
295630c60d 2019-10-23        arcade: 	8) if [ -n "$${FSCK_Y_ENABLE}" ]; then \
f49abe7565 2024-12-29        arcade: 			echo "File system preen failed, trying fsck -y."; \
8bc8c738d5 2022-05-31        arcade: 			fsck -y || { \
f49abe7565 2024-12-29        arcade: 				echo "Automatic file system check failed; help!"; \
f49abe7565 2024-12-29        arcade: 				exit 1; \
f49abe7565 2024-12-29        arcade: 			}; \
d8511a3d7c 2022-05-30        arcade: 		else \
f49abe7565 2024-12-29        arcade: 			echo "Automatic file system check failed; help!"; \
f49abe7565 2024-12-29        arcade: 			exit 1; \
d8511a3d7c 2022-05-30        arcade: 		fi \
d8511a3d7c 2022-05-30        arcade: 		;; \
f49abe7565 2024-12-29        arcade: 	12) echo "Boot interrupted."; \
d8511a3d7c 2022-05-30        arcade: 		exit 1 \
d8511a3d7c 2022-05-30        arcade: 		;; \
295630c60d 2019-10-23        arcade: 	130) exit 1 \
d8511a3d7c 2022-05-30        arcade: 		;; \
f49abe7565 2024-12-29        arcade: 	*) echo "Unknown error, help!"; \
d8511a3d7c 2022-05-30        arcade: 		exit 1 \
d8511a3d7c 2022-05-30        arcade: 		;; \
295630c60d 2019-10-23        arcade: 	esac
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: hostname:
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Setting to ${HOSTNAME}."
295630c60d 2019-10-23        arcade: 	hostname ${HOSTNAME}
f49abe7565 2024-12-29        arcade: 
f49abe7565 2024-12-29        arcade: ip6addrctl: root mount
f49abe7565 2024-12-29        arcade: .if empty(HAS_INET6:tl:Mno)
f49abe7565 2024-12-29        arcade: 	/usr/sbin/ip6addrctl flush >/dev/null 2>&1
f49abe7565 2024-12-29        arcade: .	if !empty(PREFER:MIPV6)
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Setting v4/v6 address selection defaults (prefer v6)."
f49abe7565 2024-12-29        arcade: 	printf "\
f49abe7565 2024-12-29        arcade: 		::1/128			50	0\n\
f49abe7565 2024-12-29        arcade: 		::/0			40	1\n\
f49abe7565 2024-12-29        arcade: 		::ffff:0:0/96	35	4\n\
f49abe7565 2024-12-29        arcade: 		2002::/16		30	2\n\
f49abe7565 2024-12-29        arcade: 		2001::/32		5	5\n\
f49abe7565 2024-12-29        arcade: 		fc00::/7		3	13\n\
f49abe7565 2024-12-29        arcade: 		::/96			1	3\n\
f49abe7565 2024-12-29        arcade: 		fec0::/10		1	11\n\
f49abe7565 2024-12-29        arcade: 		3ffe::/16		1	12\n" |\
f49abe7565 2024-12-29        arcade: 	/usr/sbin/ip6addrctl install /dev/stdin
f49abe7565 2024-12-29        arcade: .	elif !empty(PREFER:MIPV4)
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Setting v4/v6 address selection defaults (prefer v6)."
f49abe7565 2024-12-29        arcade: 	printf "\
f49abe7565 2024-12-29        arcade: 		::1/128			50	0\n\
f49abe7565 2024-12-29        arcade: 		::/0			40	1\n\
f49abe7565 2024-12-29        arcade: 		::ffff:0:0/96	100	4\n\
f49abe7565 2024-12-29        arcade: 		2002::/16		30	2\n\
f49abe7565 2024-12-29        arcade: 		2001::/32		5	5\n\
f49abe7565 2024-12-29        arcade: 		fc00::/7		3	13\n\
f49abe7565 2024-12-29        arcade: 		::/96			1	3\n\
f49abe7565 2024-12-29        arcade: 		fec0::/10		1	11\n\
f49abe7565 2024-12-29        arcade: 		3ffe::/16		1	12\n" |\
f49abe7565 2024-12-29        arcade: 	/usr/sbin/ip6addrctl install /dev/stdin
f49abe7565 2024-12-29        arcade: .	else
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Setting v4/v6 address selection defaults (none)."
f49abe7565 2024-12-29        arcade: .	endif
f49abe7565 2024-12-29        arcade: .else
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> No INET6 support in kernel."
f49abe7565 2024-12-29        arcade: .endif
625f7382df 2023-08-13        arcade: 
295630c60d 2019-10-23        arcade: kld: bootfs
295630c60d 2019-10-23        arcade: .if defined(KLD_LIST)
625f7382df 2023-08-13        arcade: 	echo "MRC:$@> Loading kernel modules: ${KLD_LIST}"
625f7382df 2023-08-13        arcade: .	for KLD in ${KLD_LIST}
625f7382df 2023-08-13        arcade: 	kldload -n ${KLD} || echo "MRC:$@> Failed to load module: ${KLD}"
625f7382df 2023-08-13        arcade: .	endfor
625f7382df 2023-08-13        arcade: 	true
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
d8511a3d7c 2022-05-30        arcade: # ldconfig
295630c60d 2019-10-23        arcade: .for path in ${LDCONFIG_PATHS} /etc/ld-elf.so.conf
295630c60d 2019-10-23        arcade: .if exists(${path})
295630c60d 2019-10-23        arcade: ldc+=${path}
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: .endfor
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: .for dir in ${LDCONFIG_LOCAL_DIRS}
295630c60d 2019-10-23        arcade: .if exists(${dir})
295630c60d 2019-10-23        arcade: ldc+=${:!find ${dir} -type f!}
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: .endfor
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: ldconfig: mountlate
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Initializing shared libraries: ${ldc}"
295630c60d 2019-10-23        arcade: 	ldconfig -elf ${ldc}
295630c60d 2019-10-23        arcade: 
8f8bbe5cbb 2019-10-25        arcade: microcode: mountlate
f49abe7565 2024-12-29        arcade: 	if [ -d /usr/local/share/cpucontrol ]; then \
f49abe7565 2024-12-29        arcade: 		echo "MRC:$@> Updating microcode."; \
f49abe7565 2024-12-29        arcade: 		if kldload -n cpuctl; then \
f49abe7565 2024-12-29        arcade: 			for cpu in $$(jot ${NCPU} 0); do \
f49abe7565 2024-12-29        arcade: 				cpucontrol -u /dev/cpuctl$${cpu}; \
f49abe7565 2024-12-29        arcade: 			done; \
f49abe7565 2024-12-29        arcade: 			for cpu in $$(jot ${NCPU} 1); do \
f49abe7565 2024-12-29        arcade: 				cpucontrol -e /dev/cpuctl$${cpu}; \
f49abe7565 2024-12-29        arcade: 			done \
f49abe7565 2024-12-29        arcade: 		else \
f49abe7565 2024-12-29        arcade: 			echo "MRC:$@> Failed to load [cpuctl]."; \
f49abe7565 2024-12-29        arcade: 		fi \
f49abe7565 2024-12-29        arcade: 	fi
f49abe7565 2024-12-29        arcade: 
1c381d3eeb 2024-12-31        arcade: mixer: mount cleanvar kld sysctl
d8511a3d7c 2022-05-30        arcade: 	echo "MRC:$@> Restoring levels."
f49abe7565 2024-12-29        arcade: 	for mixer in $$(find /dev -name 'mixer*' | sed 's|^/dev/||'); do \
f49abe7565 2024-12-29        arcade: 		if [ -r /var/db/$${mixer}-state ]; then \
f49abe7565 2024-12-29        arcade: 			mixer -f /dev/$${mixer} `cat /var/db/$${mixer}-state` || \
f49abe7565 2024-12-29        arcade: 			echo "MRC:$@> /dev/$${mixer} config load failed."; \
f49abe7565 2024-12-29        arcade: 		fi \
f49abe7565 2024-12-29        arcade: 	done
d8511a3d7c 2022-05-30        arcade: 
d8511a3d7c 2022-05-30        arcade: mixer_exit:
d8511a3d7c 2022-05-30        arcade: 	echo "MRC:$@> Saving mixer levels."
f49abe7565 2024-12-29        arcade: 	for mixer in $$(find /dev -name 'mixer*' | sed 's|^/dev/||'); do \
f49abe7565 2024-12-29        arcade: 		if [ -r /dev/$${mixer} ]; then \
f49abe7565 2024-12-29        arcade: 			mixer -f /dev/$${mixer} -s > /var/db/$${mixer}-state; \
f49abe7565 2024-12-29        arcade: 		fi \
f49abe7565 2024-12-29        arcade: 	done
d332ed9f4a 2022-05-29        arcade: 
d8511a3d7c 2022-05-30        arcade: DAEMON_EXIT: mixer_exit
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: excludes=${NETFS_TYPES:C/:.*//}
295630c60d 2019-10-23        arcade: 
cda92733d7 2019-10-25        arcade: mount: root zfs
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Mount local FS."
f49abe7565 2024-12-29        arcade: 	mount -p | awk '$$1~/^map$$/{next}$$3!~/^(tmpfs|null|procfs)$$/{print"mount -uo rw "$$1}' | sh
f49abe7565 2024-12-29        arcade: 	mount
295630c60d 2019-10-23        arcade: 	mount -a -t no${excludes:ts,}
295630c60d 2019-10-23        arcade: 
8bc8c738d5 2022-05-31        arcade: mountlate: NETWORK mount cleanvar runshm devd mounttmpfs
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Mount late FS."
295630c60d 2019-10-23        arcade: 	mount -a
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: msgs: mount
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Making bounds."
f49abe7565 2024-12-29        arcade: 	test ! -d /var/msgs -o -f /var/msgs/bound -o -L /var/msgs/bounds || \
d8511a3d7c 2022-05-30        arcade: 		echo 0 > /var/msgs/bounds
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: newsyslog: mountlate sysdb
d8511a3d7c 2022-05-30        arcade: 	if [ -n "$${NEWSYSLOG_ENABLE}" ]; then \
f49abe7565 2024-12-29        arcade: 		echo "MRC:$@> Trimming log files."; \
f49abe7565 2024-12-29        arcade: 		/usr/sbin/newsyslog ${NEWSYSLOG_FLAGS}; \
d8511a3d7c 2022-05-30        arcade: 	fi
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: nextboot: mount
295630c60d 2019-10-23        arcade: .if exists(/boot/nextkernel)
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Removing nextboot setting."
295630c60d 2019-10-23        arcade: 	rm -f /boot/nextkernel
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: .if empty(NFSCLIENT_ENABLE:tl:Mno)
295630c60d 2019-10-23        arcade: DAEMON_rpcbind_ENABLE=yes
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
d8511a3d7c 2022-05-30        arcade: nfsclient: NETWORK rpcbind
d8511a3d7c 2022-05-30        arcade: 	if [ -n "$${NFSCLIENT_ENABLE}" ]; then \
f49abe7565 2024-12-29        arcade: 		kldload -n nfs; \
d8511a3d7c 2022-05-30        arcade: 	fi
d8511a3d7c 2022-05-30        arcade: 
d8511a3d7c 2022-05-30        arcade: nfsclient_exit: DAEMON_EXIT
d8511a3d7c 2022-05-30        arcade: .if empty(RPC_UMNTALL_ENABLE:tl:Mno)
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Sending RPC unmount notifications."
f49abe7565 2024-12-29        arcade: 	test -f /var/db/mounttab || true && rpc.umntall -k
d8511a3d7c 2022-05-30        arcade: .endif
d8511a3d7c 2022-05-30        arcade: 
d8511a3d7c 2022-05-30        arcade: NETWORK_EXIT: nfsclient_exit
0be859974c 2019-10-25        arcade: 
f49abe7565 2024-12-29        arcade: netif: adjkerntz cloned ip6addrctl kld mounttmpfs utmpx wlans
0be859974c 2019-10-25        arcade: 	echo "MRC:$@> Starting interfaces: ${IFCONFIG_IFACES}"
0be859974c 2019-10-25        arcade: .for iface in ${IFCONFIG_IFACES}
cbff0b494f 2023-08-18        arcade: .	for item in ${IFCONFIG_${iface}:tW:ts;}
0be859974c 2019-10-25        arcade: 	ifconfig ${iface} ${item}
cbff0b494f 2023-08-18        arcade: .	endfor
cbff0b494f 2023-08-18        arcade: .	undef _IFCONFIG_ARGS
0be859974c 2019-10-25        arcade: .endfor
0be859974c 2019-10-25        arcade: 
0be859974c 2019-10-25        arcade: pf: pflogd
0be859974c 2019-10-25        arcade: .if empty(PF_ENABLE:tl:Mno)
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Enabling and loading rules."
f49abe7565 2024-12-29        arcade: 	if kldload -n pf; then \
f49abe7565 2024-12-29        arcade: 		if [ -r ${PF_RULES} ]; then \
f49abe7565 2024-12-29        arcade: 			pfctl -Fa || exit 1; \
f49abe7565 2024-12-29        arcade: 			pfctl -f ${PF_RULES} ${PF_FLAGS} || exit 1; \
f49abe7565 2024-12-29        arcade: 			pfctl -Si | grep -q Enabled && pfctl -e; \
f49abe7565 2024-12-29        arcade: 		else \
f49abe7565 2024-12-29        arcade: 			echo "MRC:$@> Can't find file with rules at ${PF_RULES}."; \
f49abe7565 2024-12-29        arcade: 			exit 1; \
f49abe7565 2024-12-29        arcade: 		fi \
d8511a3d7c 2022-05-30        arcade: 	else \
f49abe7565 2024-12-29        arcade: 		echo "MRC:$@> Failed to load [pf]."; \
d8511a3d7c 2022-05-30        arcade: 	fi
0be859974c 2019-10-25        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: pwcheck: mountlate syslogd
295630c60d 2019-10-23        arcade: 	echo "MRC:$@> Checking password lock file."
295630c60d 2019-10-23        arcade: .if exists(/etc/ptmp)
d8511a3d7c 2022-05-30        arcade: 	logger -s -p auth.err \
d8511a3d7c 2022-05-30        arcade: 		"password file may be incorrect -- /etc/ptmp exists"
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: random: mount devfs
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Seeding."
8bc8c738d5 2022-05-31        arcade: 	sysctl kern.seedenable=1 > /dev/null
f49abe7565 2024-12-29        arcade: 	( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww ;) 2>&1 | \
8bc8c738d5 2022-05-31        arcade: 		dd status=none of=/dev/random bs=8k 2>/dev/null
8bc8c738d5 2022-05-31        arcade: 	dd if=/bin/ps status=none of=/dev/random bs=8k 2>/dev/null
d8511a3d7c 2022-05-30        arcade: 	if [ -d $${ENTROPY_DIR} ]; then \
f49abe7565 2024-12-29        arcade: 		find $${ENTROPY_DIR} -type f | \
f49abe7565 2024-12-29        arcade: 			xargs -n1 -Ifoo dd status=none if=foo of=/dev/random bs=8k 2>/dev/null; \
d8511a3d7c 2022-05-30        arcade: 	else \
d8511a3d7c 2022-05-30        arcade: 		if [ -r ${ENTROPY_FILE} ]; then \
f49abe7565 2024-12-29        arcade: 			dd status=none if=${ENTROPY_FILE} of=/dev/random bs=8k 2>/dev/null; \
8bc8c738d5 2022-05-31        arcade: 		fi \
8bc8c738d5 2022-05-31        arcade: 	fi
295630c60d 2019-10-23        arcade: 	sysctl kern.seedenable=0 > /dev/null
d332ed9f4a 2022-05-29        arcade: 
d8511a3d7c 2022-05-30        arcade: random_exit:
f49abe7565 2024-12-29        arcade: 	rm -f ${ENTROPY_FILE}; \
8bc8c738d5 2022-05-31        arcade: 	( \
f49abe7565 2024-12-29        arcade: 		umask 077; \
8bc8c738d5 2022-05-31        arcade: 		dd if=/dev/random of=${ENTROPY_FILE} bs=8k count=1 2>/dev/null || \
f49abe7565 2024-12-29        arcade: 			echo "MRC:$@> entropy file write failed."; \
8bc8c738d5 2022-05-31        arcade: 	)
d8511a3d7c 2022-05-30        arcade: 
d8511a3d7c 2022-05-30        arcade: DAEMON_EXIT: random_exit
d8511a3d7c 2022-05-30        arcade: 
295630c60d 2019-10-23        arcade: root: fsck bootfs
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Mount root R/W."
d332ed9f4a 2022-05-29        arcade: 	mount -uo rw
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: savecore: dumpon
295630c60d 2019-10-23        arcade: .if empty(DUMPDEV:tl:Mno) && exists(${DUMPDEV}) && exists(${DUMPDIR})
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Saving coredump."
295630c60d 2019-10-23        arcade: 	savecore ${DUMPDIR} ${DUMPDEV}
295630c60d 2019-10-23        arcade: .if empty(CRASHINFO_ENABLE:tl:Mno)
295630c60d 2019-10-23        arcade: 	crashinfo -d ${DUMPDIR}
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: swap: savecore
295630c60d 2019-10-23        arcade: .if ${:!sysctl -n vm.swap_enabled!}} != 0
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Enabling swap."
295630c60d 2019-10-23        arcade: 	swapon -a
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: sysctl: kld root
295630c60d 2019-10-23        arcade: .if exists(/etc/sysctl.conf)
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Setting sysctl defaults."
8f8bbe5cbb 2019-10-25        arcade: 	awk '$$0~/^[ ]*(#.*)?$$/{next}{print}' < /etc/sysctl.conf | \
d8511a3d7c 2022-05-30        arcade: 		xargs -n1 sysctl
295630c60d 2019-10-23        arcade: .endif
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: sysdb: mountlate
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Building databases."
295630c60d 2019-10-23        arcade: 	install -c -m 644 -g wheel /dev/null /var/run/utmpx
295630c60d 2019-10-23        arcade: 
295630c60d 2019-10-23        arcade: wlans: kld
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Configuring wlans." ;
8f8bbe5cbb 2019-10-25        arcade: 	for dev in $$(sysctl -n net.wlan.devices); do \
f49abe7565 2024-12-29        arcade: 		eval all_wlans=\$${WLANS_$${dev}}; \
d8511a3d7c 2022-05-30        arcade: 		for wlan in $${all_wlans}; do \
f49abe7565 2024-12-29        arcade: 			{ \
f49abe7565 2024-12-29        arcade: 				eval wlan_args="\$${WLANS_$${wlan}_ARGS}" && \
f49abe7565 2024-12-29        arcade: 				ifconfig $${wlan} create wlandev $${dev} && \
f49abe7565 2024-12-29        arcade: 				{ \
f49abe7565 2024-12-29        arcade: 					ifconfig $${wlan} $${wlan_args}; \
f49abe7565 2024-12-29        arcade: 					ifconfig $${wlan} up; \
f49abe7565 2024-12-29        arcade: 				}; \
f49abe7565 2024-12-29        arcade: 			} || echo "MRC:$@> ERROR: WLAN $${wlan} failed to initialize."; \
8bc8c738d5 2022-05-31        arcade: 		done \
295630c60d 2019-10-23        arcade: 	done
cda92733d7 2019-10-25        arcade: 
cda92733d7 2019-10-25        arcade: zfs:
cda92733d7 2019-10-25        arcade: .if empty(ZFS_ENABLE:tl:Mno)
8bc8c738d5 2022-05-31        arcade: 	zfs mount -va || exit $$?
8bc8c738d5 2022-05-31        arcade: 	zfs share -a || exit $$?
8bc8c738d5 2022-05-31        arcade: 	touch /etc/zfs/exports
8bc8c738d5 2022-05-31        arcade: .endif
8bc8c738d5 2022-05-31        arcade: 
8bc8c738d5 2022-05-31        arcade: runshm: cleanvar
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Preparing /var/run."
8bc8c738d5 2022-05-31        arcade: .	if exists(TMPFS_VAR_RUN_ENABLE)
8bc8c738d5 2022-05-31        arcade: 	/rescue/find /var/run -mindepth 1 -delete
8bc8c738d5 2022-05-31        arcade: 	mount_tmpfs dummy /var/run
8bc8c738d5 2022-05-31        arcade: .	else
8bc8c738d5 2022-05-31        arcade: 	mkdir -p /var/run/shm
8bc8c738d5 2022-05-31        arcade: 	mount_tmpfs -m 01777 dummy /var/run/shm
8bc8c738d5 2022-05-31        arcade: .	endif
8bc8c738d5 2022-05-31        arcade: 	mtree -deiqU -f /etc/mtree/BSD.var.dist -p /var
8bc8c738d5 2022-05-31        arcade: 
8bc8c738d5 2022-05-31        arcade: mounttmpfs: cleanvar
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Mount tmpfs and populating /var/run."
8bc8c738d5 2022-05-31        arcade: .if exists(TMPFS_TMP_ENABLE)
f49abe7565 2024-12-29        arcade: 	mount | awk 'BEGIN{x=1}$$3~/\/tmp/{x=0}END{exit(x)}' || { \
f49abe7565 2024-12-29        arcade: 		/rescue/find /tmp -mindepth 1 -delete; \
f49abe7565 2024-12-29        arcade: 		mount_tmpfs -m 01777 dummy /tmp; \
8bc8c738d5 2022-05-31        arcade: 	}
cda92733d7 2019-10-25        arcade: .endif
f49abe7565 2024-12-29        arcade: 
f49abe7565 2024-12-29        arcade: udevd_check: DAEMON
f49abe7565 2024-12-29        arcade: 	echo "MRC:$@> Check udevd PID/socket are accessible."
1c381d3eeb 2024-12-31        arcade: 	if [ ! -e /var/run/udevd.pid -o ! -e /tmp/udevd.socket ]; then \
f49abe7565 2024-12-29        arcade: 		pkill -HUP -x udevd; \
f49abe7565 2024-12-29        arcade: 		( \
f49abe7565 2024-12-29        arcade: 			sleep 1; \
1c381d3eeb 2024-12-31        arcade: 			if [ ! -e /var/run/udevd.pid -o ! -e /tmp/udevd.socket ]; then \
f49abe7565 2024-12-29        arcade: 				svc restart udevd; \
f49abe7565 2024-12-29        arcade: 			fi \
f49abe7565 2024-12-29        arcade: 		) & \
f49abe7565 2024-12-29        arcade: 	fi
8bc8c738d5 2022-05-31        arcade: 
8bc8c738d5 2022-05-31        arcade: utmpx: runshm
8bc8c738d5 2022-05-31        arcade: 	echo "MRC:$@> Install utmpx."
8bc8c738d5 2022-05-31        arcade: 	install -m 644 -g wheel /dev/null /var/run/utmpx