Annotation For init.mk
Logged in as anonymous

Lines of init.mk from check-in d8511a3d7c that are changed by the sequence of edits moving toward check-in 8bc8c738d5:

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