Artifact
6667146e8d29f13629d5fed769dd782c1c5e78e7cb1d369e823fdfc074adb221:
- File
init.mk
— part of check-in
[f49abe7565]
at
2024-12-29 09:49:18
on branch trunk
— Number of small changes:
- fixed syntax a little;
- ipv6 routing;
- possible CPU microcode update bug;
- cleaned up mounting FS RW;
- changed how mixer works;
- check errors on pf load;
- change how wlans are created;
- pock udevd to show socket and pid after FS mounts;
- fix killing stopped service (I hope for the last time);
- add delay and message on shutdown when something fails.
(user:
arcade,
size: 9787)
[annotate]
[blame]
[check-ins using]
0000: 23 20 4d 65 74 61 20 74 61 72 67 65 74 73 0a 0a # Meta targets..
0010: 54 41 52 47 45 54 53 3a 3d 61 64 6a 6b 65 72 6e TARGETS:=adjkern
0020: 74 7a 20 62 6f 6f 74 66 73 20 63 6c 65 61 6e 76 tz bootfs cleanv
0030: 61 72 20 63 6c 65 61 72 74 6d 70 20 63 6c 6f 6e ar cleartmp clon
0040: 65 64 20 64 65 76 66 73 20 64 6d 65 73 67 20 64 ed devfs dmesg d
0050: 75 6d 70 6f 6e 20 66 73 63 6b 20 5c 0a 09 68 6f umpon fsck \..ho
0060: 73 74 6e 61 6d 65 20 69 70 36 61 64 64 72 63 74 stname ip6addrct
0070: 6c 20 6b 6c 64 20 6c 64 63 6f 6e 66 69 67 20 6d l kld ldconfig m
0080: 69 63 72 6f 63 6f 64 65 20 6d 69 78 65 72 20 6d icrocode mixer m
0090: 6f 75 6e 74 20 6d 6f 75 6e 74 6c 61 74 65 20 5c ount mountlate \
00a0: 0a 09 6d 6f 75 6e 74 74 6d 70 66 73 20 6d 73 67 ..mounttmpfs msg
00b0: 73 20 6e 65 74 69 66 20 6e 65 77 73 79 73 6c 6f s netif newsyslo
00c0: 67 20 6e 65 78 74 62 6f 6f 74 20 6e 66 73 63 6c g nextboot nfscl
00d0: 69 65 6e 74 20 70 66 20 70 77 63 68 65 63 6b 20 ient pf pwcheck
00e0: 72 61 6e 64 6f 6d 20 72 6f 6f 74 20 5c 0a 09 72 random root \..r
00f0: 75 6e 73 68 6d 20 73 61 76 65 63 6f 72 65 20 73 unshm savecore s
0100: 77 61 70 20 73 79 73 63 74 6c 20 73 79 73 64 62 wap sysctl sysdb
0110: 20 75 64 65 76 64 5f 63 68 65 63 6b 20 75 74 6d udevd_check utm
0120: 70 78 20 77 6c 61 6e 73 20 7a 66 73 0a 0a 4f 54 px wlans zfs..OT
0130: 48 45 52 5f 54 41 52 47 45 54 53 2b 3d 6d 69 78 HER_TARGETS+=mix
0140: 65 72 5f 65 78 69 74 20 6e 66 73 63 6c 69 65 6e er_exit nfsclien
0150: 74 5f 65 78 69 74 20 72 61 6e 64 6f 6d 5f 65 78 t_exit random_ex
0160: 69 74 0a 0a 44 41 45 4d 4f 4e 3a 20 70 77 63 68 it..DAEMON: pwch
0170: 65 63 6b 20 73 79 73 63 74 6c 20 73 79 73 64 62 eck sysctl sysdb
0180: 20 4e 45 54 57 4f 52 4b 20 53 45 52 56 45 52 53 NETWORK SERVERS
0190: 20 6c 64 63 6f 6e 66 69 67 20 6e 66 73 63 6c 69 ldconfig nfscli
01a0: 65 6e 74 20 63 6c 65 61 72 74 6d 70 20 70 66 6c ent cleartmp pfl
01b0: 6f 67 64 0a 0a 4c 4f 47 49 4e 3a 20 44 41 45 4d ogd..LOGIN: DAEM
01c0: 4f 4e 20 64 6e 74 70 64 20 6d 73 67 73 20 70 6f ON dntpd msgs po
01d0: 77 65 72 64 20 70 66 6c 6f 67 64 0a 0a 4e 45 54 werd pflogd..NET
01e0: 57 4f 52 4b 3a 20 6e 65 74 69 66 20 64 65 76 64 WORK: netif devd
01f0: 20 68 6f 73 74 6e 61 6d 65 0a 0a 53 45 52 56 45 hostname..SERVE
0200: 52 53 3a 20 73 77 61 70 20 6d 6f 75 6e 74 6c 61 RS: swap mountla
0210: 74 65 20 73 79 73 6c 6f 67 64 20 6e 65 77 73 79 te syslogd newsy
0220: 73 6c 6f 67 0a 0a 53 45 52 56 49 43 45 3a 20 6e slog..SERVICE: n
0230: 65 74 69 66 20 6d 6f 75 6e 74 20 72 61 6e 64 6f etif mount rando
0240: 6d 20 68 6f 73 74 6e 61 6d 65 20 63 6c 65 61 6e m hostname clean
0250: 76 61 72 0a 0a 23 20 72 65 67 75 6c 61 72 20 74 var..# regular t
0260: 61 72 67 65 74 73 0a 0a 61 64 6a 6b 65 72 6e 74 argets..adjkernt
0270: 7a 3a 20 72 61 6e 64 6f 6d 20 6d 6f 75 6e 74 0a z: random mount.
0280: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 41 .echo "MRC:$@> A
0290: 64 6a 75 73 74 20 6b 65 72 6e 65 6c 20 74 69 6d djust kernel tim
02a0: 65 7a 6f 6e 65 2e 22 0a 09 61 64 6a 6b 65 72 6e ezone."..adjkern
02b0: 74 7a 20 2d 69 20 26 0a 0a 62 6f 6f 74 66 73 3a tz -i &..bootfs:
02c0: 20 66 73 63 6b 0a 09 65 63 68 6f 20 22 4d 52 43 fsck..echo "MRC
02d0: 3a 24 40 3e 20 43 68 65 63 6b 69 6e 67 20 77 68 :$@> Checking wh
02e0: 65 74 68 65 72 20 77 65 20 6e 65 65 64 20 2f 62 ether we need /b
02f0: 6f 6f 74 20 6d 6f 75 6e 74 65 64 2e 22 0a 09 6d oot mounted."..m
0300: 6f 75 6e 74 20 2d 76 61 64 72 20 7c 20 67 72 65 ount -vadr | gre
0310: 70 20 2d 71 20 27 20 2f 62 6f 6f 74 24 24 27 20 p -q ' /boot$$'
0320: 26 26 20 6d 6f 75 6e 74 20 2d 72 20 2f 62 6f 6f && mount -r /boo
0330: 74 20 7c 7c 20 74 72 75 65 0a 0a 63 6c 65 61 6e t || true..clean
0340: 76 61 72 3a 20 6d 6f 75 6e 74 0a 09 65 63 68 6f var: mount..echo
0350: 20 22 4d 52 43 3a 24 40 3e 20 43 6c 65 61 6e 69 "MRC:$@> Cleani
0360: 6e 67 20 27 2f 76 61 72 27 73 2e 22 0a 2e 66 6f ng '/var's."..fo
0370: 72 20 64 69 72 20 69 6e 20 24 7b 43 4c 45 41 4e r dir in ${CLEAN
0380: 56 41 52 5f 44 49 52 53 7d 0a 09 69 66 20 5b 20 VAR_DIRS}..if [
0390: 2d 64 20 24 7b 64 69 72 7d 20 5d 3b 20 74 68 65 -d ${dir} ]; the
03a0: 6e 20 5c 0a 09 09 2f 72 65 73 63 75 65 2f 66 69 n \.../rescue/fi
03b0: 6e 64 20 24 7b 64 69 72 7d 20 2d 6d 69 6e 64 65 nd ${dir} -minde
03c0: 70 74 68 20 31 20 2d 64 65 6c 65 74 65 3b 20 5c pth 1 -delete; \
03d0: 0a 09 66 69 0a 2e 65 6e 64 66 6f 72 0a 0a 63 6c ..fi..endfor..cl
03e0: 65 61 72 74 6d 70 3a 20 6d 6f 75 6e 74 6c 61 74 eartmp: mountlat
03f0: 65 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e e..echo "MRC:$@>
0400: 20 43 6c 65 61 72 69 6e 67 20 74 6d 70 2e 22 0a Clearing tmp.".
0410: 09 66 69 6e 64 20 2d 78 20 2f 74 6d 70 20 2d 6d .find -x /tmp -m
0420: 69 6e 64 65 70 74 68 20 31 20 21 20 2d 6e 61 6d indepth 1 ! -nam
0430: 65 20 6c 6f 73 74 2b 66 6f 75 6e 64 20 21 20 2d e lost+found ! -
0440: 6e 61 6d 65 20 73 6e 61 70 73 68 6f 74 73 20 5c name snapshots \
0450: 0a 09 09 21 20 2d 70 61 74 68 20 22 2e 2f 73 6e ...! -path "./sn
0460: 61 70 73 68 6f 74 73 2f 2a 22 20 21 20 2d 6e 61 apshots/*" ! -na
0470: 6d 65 20 71 75 6f 74 61 2e 75 73 65 72 20 21 20 me quota.user !
0480: 2d 6e 61 6d 65 20 71 75 6f 74 61 2e 67 72 6f 75 -name quota.grou
0490: 70 20 5c 0a 09 09 2d 64 65 6c 65 74 65 20 2d 74 p \...-delete -t
04a0: 79 70 65 20 64 20 2d 70 72 75 6e 65 0a 09 72 6d ype d -prune..rm
04b0: 20 2d 66 72 20 2f 74 6d 70 2f 2e 58 31 31 2d 75 -fr /tmp/.X11-u
04c0: 6e 69 78 20 2f 74 6d 70 2f 2e 58 2a 2d 6c 6f 63 nix /tmp/.X*-loc
04d0: 6b 0a 09 6d 6b 64 69 72 20 2d 6d 20 31 37 37 37 k..mkdir -m 1777
04e0: 20 2f 74 6d 70 2f 2e 58 31 31 2d 75 6e 69 78 0a /tmp/.X11-unix.
04f0: 0a 63 6c 6f 6e 65 64 3a 20 6b 6c 64 0a 2e 69 66 .cloned: kld..if
0500: 20 21 65 6d 70 74 79 28 43 4c 4f 4e 45 44 5f 49 !empty(CLONED_I
0510: 4e 54 45 52 46 41 43 45 53 29 0a 09 65 63 68 6f NTERFACES)..echo
0520: 20 22 4d 52 43 3a 24 40 3e 20 43 6c 6f 6e 69 6e "MRC:$@> Clonin
0530: 67 20 69 6e 74 65 72 66 61 63 65 73 3a 20 24 7b g interfaces: ${
0540: 43 4c 4f 4e 45 44 5f 49 4e 54 45 52 46 41 43 45 CLONED_INTERFACE
0550: 53 7d 22 0a 2e 09 66 6f 72 20 69 66 61 63 65 20 S}"...for iface
0560: 69 6e 20 24 7b 43 4c 4f 4e 45 44 5f 49 4e 54 45 in ${CLONED_INTE
0570: 52 46 41 43 45 53 7d 0a 09 69 66 63 6f 6e 66 69 RFACES}..ifconfi
0580: 67 20 24 7b 69 66 61 63 65 7d 20 63 72 65 61 74 g ${iface} creat
0590: 65 0a 2e 09 65 6e 64 66 6f 72 0a 2e 65 6e 64 69 e...endfor..endi
05a0: 66 0a 0a 64 65 76 66 73 3a 0a 09 65 63 68 6f 20 f..devfs:..echo
05b0: 22 4d 52 43 3a 24 40 3e 20 41 70 70 6c 79 69 6e "MRC:$@> Applyin
05c0: 67 20 72 75 6c 65 73 3a 20 24 7b 44 45 56 46 53 g rules: ${DEVFS
05d0: 5f 43 4f 4e 46 49 47 5f 46 49 4c 45 53 7d 22 0a _CONFIG_FILES}".
05e0: 2e 66 6f 72 20 66 69 6c 65 20 69 6e 20 24 7b 44 .for file in ${D
05f0: 45 56 46 53 5f 43 4f 4e 46 49 47 5f 46 49 4c 45 EVFS_CONFIG_FILE
0600: 53 7d 0a 2e 09 69 66 20 65 78 69 73 74 73 28 24 S}...if exists($
0610: 7b 66 69 6c 65 7d 29 0a 09 64 65 76 66 73 63 74 {file})..devfsct
0620: 6c 20 2d 61 20 2d 66 20 24 7b 66 69 6c 65 7d 0a l -a -f ${file}.
0630: 2e 09 65 6e 64 69 66 0a 2e 65 6e 64 66 6f 72 0a ..endif..endfor.
0640: 0a 64 6d 65 73 67 3a 20 6d 6f 75 6e 74 6c 61 74 .dmesg: mountlat
0650: 65 0a 2e 69 66 20 21 65 6d 70 74 79 28 44 4d 45 e..if !empty(DME
0660: 53 47 5f 46 49 4c 45 29 0a 09 65 63 68 6f 20 22 SG_FILE)..echo "
0670: 4d 52 43 3a 24 40 3e 20 57 72 69 74 69 6e 67 20 MRC:$@> Writing
0680: 64 6d 65 73 67 2e 22 0a 09 28 20 75 6d 61 73 6b dmesg."..( umask
0690: 20 30 32 32 20 3b 20 64 6d 65 73 67 20 2d 61 20 022 ; dmesg -a
06a0: 3e 20 24 7b 44 4d 45 53 47 5f 46 49 4c 45 7d 20 > ${DMESG_FILE}
06b0: 3b 29 0a 2e 65 6e 64 69 66 0a 0a 64 75 6d 70 6f ;)..endif..dumpo
06c0: 6e 3a 20 72 61 6e 64 6f 6d 0a 2e 69 66 20 21 65 n: random..if !e
06d0: 6d 70 74 79 28 44 55 4d 50 44 45 56 29 0a 09 69 mpty(DUMPDEV)..i
06e0: 66 20 5b 20 2d 65 20 24 7b 44 55 4d 50 44 45 56 f [ -e ${DUMPDEV
06f0: 7d 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 65 63 } ]; then \...ec
0700: 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53 65 74 74 ho "MRC:$@> Sett
0710: 69 6e 67 20 64 75 6d 70 6f 6e 20 64 65 76 69 63 ing dumpon devic
0720: 65 20 74 6f 20 24 7b 44 55 4d 50 44 45 56 7d 22 e to ${DUMPDEV}"
0730: 3b 20 5c 0a 09 09 64 75 6d 70 6f 6e 20 2d 76 20 ; \...dumpon -v
0740: 24 7b 44 55 4d 50 44 45 56 7d 3b 20 5c 0a 09 66 ${DUMPDEV}; \..f
0750: 69 0a 2e 65 6e 64 69 66 0a 0a 66 73 63 6b 3a 0a i..endif..fsck:.
0760: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 43 .echo "MRC:$@> C
0770: 68 65 63 6b 69 6e 67 20 64 69 73 6b 73 2e 22 0a hecking disks.".
0780: 09 66 73 63 6b 20 2d 70 3b 20 5c 0a 09 63 61 73 .fsck -p; \..cas
0790: 65 20 24 24 3f 20 69 6e 20 5c 0a 09 30 29 20 3b e $$? in \..0) ;
07a0: 3b 20 5c 0a 09 32 29 20 65 78 69 74 20 31 20 5c ; \..2) exit 1 \
07b0: 0a 09 09 3b 3b 20 5c 0a 09 34 29 20 65 63 68 6f ...;; \..4) echo
07c0: 20 22 52 65 62 6f 6f 74 69 6e 67 2e 2e 2e 22 3b "Rebooting...";
07d0: 20 5c 0a 09 09 72 65 62 6f 6f 74 20 3b 5c 0a 09 \...reboot ;\..
07e0: 09 65 63 68 6f 20 22 52 65 62 6f 6f 74 20 66 61 .echo "Reboot fa
07f0: 69 6c 65 64 3b 20 68 65 6c 70 21 22 3b 20 5c 0a iled; help!"; \.
0800: 09 09 65 78 69 74 20 31 20 5c 0a 09 09 3b 3b 20 ..exit 1 \...;;
0810: 5c 0a 09 38 29 20 69 66 20 5b 20 2d 6e 20 22 24 \..8) if [ -n "$
0820: 24 7b 46 53 43 4b 5f 59 5f 45 4e 41 42 4c 45 7d ${FSCK_Y_ENABLE}
0830: 22 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 09 65 " ]; then \....e
0840: 63 68 6f 20 22 46 69 6c 65 20 73 79 73 74 65 6d cho "File system
0850: 20 70 72 65 65 6e 20 66 61 69 6c 65 64 2c 20 74 preen failed, t
0860: 72 79 69 6e 67 20 66 73 63 6b 20 2d 79 2e 22 3b rying fsck -y.";
0870: 20 5c 0a 09 09 09 66 73 63 6b 20 2d 79 20 7c 7c \....fsck -y ||
0880: 20 7b 20 5c 0a 09 09 09 09 65 63 68 6f 20 22 41 { \.....echo "A
0890: 75 74 6f 6d 61 74 69 63 20 66 69 6c 65 20 73 79 utomatic file sy
08a0: 73 74 65 6d 20 63 68 65 63 6b 20 66 61 69 6c 65 stem check faile
08b0: 64 3b 20 68 65 6c 70 21 22 3b 20 5c 0a 09 09 09 d; help!"; \....
08c0: 09 65 78 69 74 20 31 3b 20 5c 0a 09 09 09 7d 3b .exit 1; \....};
08d0: 20 5c 0a 09 09 65 6c 73 65 20 5c 0a 09 09 09 65 \...else \....e
08e0: 63 68 6f 20 22 41 75 74 6f 6d 61 74 69 63 20 66 cho "Automatic f
08f0: 69 6c 65 20 73 79 73 74 65 6d 20 63 68 65 63 6b ile system check
0900: 20 66 61 69 6c 65 64 3b 20 68 65 6c 70 21 22 3b failed; help!";
0910: 20 5c 0a 09 09 09 65 78 69 74 20 31 3b 20 5c 0a \....exit 1; \.
0920: 09 09 66 69 20 5c 0a 09 09 3b 3b 20 5c 0a 09 31 ..fi \...;; \..1
0930: 32 29 20 65 63 68 6f 20 22 42 6f 6f 74 20 69 6e 2) echo "Boot in
0940: 74 65 72 72 75 70 74 65 64 2e 22 3b 20 5c 0a 09 terrupted."; \..
0950: 09 65 78 69 74 20 31 20 5c 0a 09 09 3b 3b 20 5c .exit 1 \...;; \
0960: 0a 09 31 33 30 29 20 65 78 69 74 20 31 20 5c 0a ..130) exit 1 \.
0970: 09 09 3b 3b 20 5c 0a 09 2a 29 20 65 63 68 6f 20 ..;; \..*) echo
0980: 22 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 2c 20 "Unknown error,
0990: 68 65 6c 70 21 22 3b 20 5c 0a 09 09 65 78 69 74 help!"; \...exit
09a0: 20 31 20 5c 0a 09 09 3b 3b 20 5c 0a 09 65 73 61 1 \...;; \..esa
09b0: 63 0a 0a 68 6f 73 74 6e 61 6d 65 3a 0a 09 65 63 c..hostname:..ec
09c0: 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53 65 74 74 ho "MRC:$@> Sett
09d0: 69 6e 67 20 74 6f 20 24 7b 48 4f 53 54 4e 41 4d ing to ${HOSTNAM
09e0: 45 7d 2e 22 0a 09 68 6f 73 74 6e 61 6d 65 20 24 E}."..hostname $
09f0: 7b 48 4f 53 54 4e 41 4d 45 7d 0a 0a 69 70 36 61 {HOSTNAME}..ip6a
0a00: 64 64 72 63 74 6c 3a 20 72 6f 6f 74 20 6d 6f 75 ddrctl: root mou
0a10: 6e 74 0a 2e 69 66 20 65 6d 70 74 79 28 48 41 53 nt..if empty(HAS
0a20: 5f 49 4e 45 54 36 3a 74 6c 3a 4d 6e 6f 29 0a 09 _INET6:tl:Mno)..
0a30: 2f 75 73 72 2f 73 62 69 6e 2f 69 70 36 61 64 64 /usr/sbin/ip6add
0a40: 72 63 74 6c 20 66 6c 75 73 68 20 3e 2f 64 65 76 rctl flush >/dev
0a50: 2f 6e 75 6c 6c 20 32 3e 26 31 0a 2e 09 69 66 20 /null 2>&1...if
0a60: 21 65 6d 70 74 79 28 50 52 45 46 45 52 3a 4d 49 !empty(PREFER:MI
0a70: 50 56 36 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a PV6)..echo "MRC:
0a80: 24 40 3e 20 53 65 74 74 69 6e 67 20 76 34 2f 76 $@> Setting v4/v
0a90: 36 20 61 64 64 72 65 73 73 20 73 65 6c 65 63 74 6 address select
0aa0: 69 6f 6e 20 64 65 66 61 75 6c 74 73 20 28 70 72 ion defaults (pr
0ab0: 65 66 65 72 20 76 36 29 2e 22 0a 09 70 72 69 6e efer v6)."..prin
0ac0: 74 66 20 22 5c 0a 09 09 3a 3a 31 2f 31 32 38 09 tf "\...::1/128.
0ad0: 09 09 35 30 09 30 5c 6e 5c 0a 09 09 3a 3a 2f 30 ..50.0\n\...::/0
0ae0: 09 09 09 34 30 09 31 5c 6e 5c 0a 09 09 3a 3a 66 ...40.1\n\...::f
0af0: 66 66 66 3a 30 3a 30 2f 39 36 09 33 35 09 34 5c fff:0:0/96.35.4\
0b00: 6e 5c 0a 09 09 32 30 30 32 3a 3a 2f 31 36 09 09 n\...2002::/16..
0b10: 33 30 09 32 5c 6e 5c 0a 09 09 32 30 30 31 3a 3a 30.2\n\...2001::
0b20: 2f 33 32 09 09 35 09 35 5c 6e 5c 0a 09 09 66 63 /32..5.5\n\...fc
0b30: 30 30 3a 3a 2f 37 09 09 33 09 31 33 5c 6e 5c 0a 00::/7..3.13\n\.
0b40: 09 09 3a 3a 2f 39 36 09 09 09 31 09 33 5c 6e 5c ..::/96...1.3\n\
0b50: 0a 09 09 66 65 63 30 3a 3a 2f 31 30 09 09 31 09 ...fec0::/10..1.
0b60: 31 31 5c 6e 5c 0a 09 09 33 66 66 65 3a 3a 2f 31 11\n\...3ffe::/1
0b70: 36 09 09 31 09 31 32 5c 6e 22 20 7c 5c 0a 09 2f 6..1.12\n" |\../
0b80: 75 73 72 2f 73 62 69 6e 2f 69 70 36 61 64 64 72 usr/sbin/ip6addr
0b90: 63 74 6c 20 69 6e 73 74 61 6c 6c 20 2f 64 65 76 ctl install /dev
0ba0: 2f 73 74 64 69 6e 0a 2e 09 65 6c 69 66 20 21 65 /stdin...elif !e
0bb0: 6d 70 74 79 28 50 52 45 46 45 52 3a 4d 49 50 56 mpty(PREFER:MIPV
0bc0: 34 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 4)..echo "MRC:$@
0bd0: 3e 20 53 65 74 74 69 6e 67 20 76 34 2f 76 36 20 > Setting v4/v6
0be0: 61 64 64 72 65 73 73 20 73 65 6c 65 63 74 69 6f address selectio
0bf0: 6e 20 64 65 66 61 75 6c 74 73 20 28 70 72 65 66 n defaults (pref
0c00: 65 72 20 76 36 29 2e 22 0a 09 70 72 69 6e 74 66 er v6)."..printf
0c10: 20 22 5c 0a 09 09 3a 3a 31 2f 31 32 38 09 09 09 "\...::1/128...
0c20: 35 30 09 30 5c 6e 5c 0a 09 09 3a 3a 2f 30 09 09 50.0\n\...::/0..
0c30: 09 34 30 09 31 5c 6e 5c 0a 09 09 3a 3a 66 66 66 .40.1\n\...::fff
0c40: 66 3a 30 3a 30 2f 39 36 09 31 30 30 09 34 5c 6e f:0:0/96.100.4\n
0c50: 5c 0a 09 09 32 30 30 32 3a 3a 2f 31 36 09 09 33 \...2002::/16..3
0c60: 30 09 32 5c 6e 5c 0a 09 09 32 30 30 31 3a 3a 2f 0.2\n\...2001::/
0c70: 33 32 09 09 35 09 35 5c 6e 5c 0a 09 09 66 63 30 32..5.5\n\...fc0
0c80: 30 3a 3a 2f 37 09 09 33 09 31 33 5c 6e 5c 0a 09 0::/7..3.13\n\..
0c90: 09 3a 3a 2f 39 36 09 09 09 31 09 33 5c 6e 5c 0a .::/96...1.3\n\.
0ca0: 09 09 66 65 63 30 3a 3a 2f 31 30 09 09 31 09 31 ..fec0::/10..1.1
0cb0: 31 5c 6e 5c 0a 09 09 33 66 66 65 3a 3a 2f 31 36 1\n\...3ffe::/16
0cc0: 09 09 31 09 31 32 5c 6e 22 20 7c 5c 0a 09 2f 75 ..1.12\n" |\../u
0cd0: 73 72 2f 73 62 69 6e 2f 69 70 36 61 64 64 72 63 sr/sbin/ip6addrc
0ce0: 74 6c 20 69 6e 73 74 61 6c 6c 20 2f 64 65 76 2f tl install /dev/
0cf0: 73 74 64 69 6e 0a 2e 09 65 6c 73 65 0a 09 65 63 stdin...else..ec
0d00: 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53 65 74 74 ho "MRC:$@> Sett
0d10: 69 6e 67 20 76 34 2f 76 36 20 61 64 64 72 65 73 ing v4/v6 addres
0d20: 73 20 73 65 6c 65 63 74 69 6f 6e 20 64 65 66 61 s selection defa
0d30: 75 6c 74 73 20 28 6e 6f 6e 65 29 2e 22 0a 2e 09 ults (none)."...
0d40: 65 6e 64 69 66 0a 2e 65 6c 73 65 0a 09 65 63 68 endif..else..ech
0d50: 6f 20 22 4d 52 43 3a 24 40 3e 20 4e 6f 20 49 4e o "MRC:$@> No IN
0d60: 45 54 36 20 73 75 70 70 6f 72 74 20 69 6e 20 6b ET6 support in k
0d70: 65 72 6e 65 6c 2e 22 0a 2e 65 6e 64 69 66 0a 0a ernel."..endif..
0d80: 6b 6c 64 3a 20 62 6f 6f 74 66 73 0a 2e 69 66 20 kld: bootfs..if
0d90: 64 65 66 69 6e 65 64 28 4b 4c 44 5f 4c 49 53 54 defined(KLD_LIST
0da0: 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e )..echo "MRC:$@>
0db0: 20 4c 6f 61 64 69 6e 67 20 6b 65 72 6e 65 6c 20 Loading kernel
0dc0: 6d 6f 64 75 6c 65 73 3a 20 24 7b 4b 4c 44 5f 4c modules: ${KLD_L
0dd0: 49 53 54 7d 22 0a 2e 09 66 6f 72 20 4b 4c 44 20 IST}"...for KLD
0de0: 69 6e 20 24 7b 4b 4c 44 5f 4c 49 53 54 7d 0a 09 in ${KLD_LIST}..
0df0: 6b 6c 64 6c 6f 61 64 20 2d 6e 20 24 7b 4b 4c 44 kldload -n ${KLD
0e00: 7d 20 7c 7c 20 65 63 68 6f 20 22 4d 52 43 3a 24 } || echo "MRC:$
0e10: 40 3e 20 46 61 69 6c 65 64 20 74 6f 20 6c 6f 61 @> Failed to loa
0e20: 64 20 6d 6f 64 75 6c 65 3a 20 24 7b 4b 4c 44 7d d module: ${KLD}
0e30: 22 0a 2e 09 65 6e 64 66 6f 72 0a 09 74 72 75 65 "...endfor..true
0e40: 0a 2e 65 6e 64 69 66 0a 0a 23 20 6c 64 63 6f 6e ..endif..# ldcon
0e50: 66 69 67 0a 2e 66 6f 72 20 70 61 74 68 20 69 6e fig..for path in
0e60: 20 24 7b 4c 44 43 4f 4e 46 49 47 5f 50 41 54 48 ${LDCONFIG_PATH
0e70: 53 7d 20 2f 65 74 63 2f 6c 64 2d 65 6c 66 2e 73 S} /etc/ld-elf.s
0e80: 6f 2e 63 6f 6e 66 0a 2e 69 66 20 65 78 69 73 74 o.conf..if exist
0e90: 73 28 24 7b 70 61 74 68 7d 29 0a 6c 64 63 2b 3d s(${path}).ldc+=
0ea0: 24 7b 70 61 74 68 7d 0a 2e 65 6e 64 69 66 0a 2e ${path}..endif..
0eb0: 65 6e 64 66 6f 72 0a 0a 2e 66 6f 72 20 64 69 72 endfor...for dir
0ec0: 20 69 6e 20 24 7b 4c 44 43 4f 4e 46 49 47 5f 4c in ${LDCONFIG_L
0ed0: 4f 43 41 4c 5f 44 49 52 53 7d 0a 2e 69 66 20 65 OCAL_DIRS}..if e
0ee0: 78 69 73 74 73 28 24 7b 64 69 72 7d 29 0a 6c 64 xists(${dir}).ld
0ef0: 63 2b 3d 24 7b 3a 21 66 69 6e 64 20 24 7b 64 69 c+=${:!find ${di
0f00: 72 7d 20 2d 74 79 70 65 20 66 21 7d 0a 2e 65 6e r} -type f!}..en
0f10: 64 69 66 0a 2e 65 6e 64 66 6f 72 0a 0a 6c 64 63 dif..endfor..ldc
0f20: 6f 6e 66 69 67 3a 20 6d 6f 75 6e 74 6c 61 74 65 onfig: mountlate
0f30: 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 ..echo "MRC:$@>
0f40: 49 6e 69 74 69 61 6c 69 7a 69 6e 67 20 73 68 61 Initializing sha
0f50: 72 65 64 20 6c 69 62 72 61 72 69 65 73 3a 20 24 red libraries: $
0f60: 7b 6c 64 63 7d 22 0a 09 6c 64 63 6f 6e 66 69 67 {ldc}"..ldconfig
0f70: 20 2d 65 6c 66 20 24 7b 6c 64 63 7d 0a 0a 6d 69 -elf ${ldc}..mi
0f80: 63 72 6f 63 6f 64 65 3a 20 6d 6f 75 6e 74 6c 61 crocode: mountla
0f90: 74 65 0a 09 69 66 20 5b 20 2d 64 20 2f 75 73 72 te..if [ -d /usr
0fa0: 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 70 75 /local/share/cpu
0fb0: 63 6f 6e 74 72 6f 6c 20 5d 3b 20 74 68 65 6e 20 control ]; then
0fc0: 5c 0a 09 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 \...echo "MRC:$@
0fd0: 3e 20 55 70 64 61 74 69 6e 67 20 6d 69 63 72 6f > Updating micro
0fe0: 63 6f 64 65 2e 22 3b 20 5c 0a 09 09 69 66 20 6b code."; \...if k
0ff0: 6c 64 6c 6f 61 64 20 2d 6e 20 63 70 75 63 74 6c ldload -n cpuctl
1000: 3b 20 74 68 65 6e 20 5c 0a 09 09 09 66 6f 72 20 ; then \....for
1010: 63 70 75 20 69 6e 20 24 24 28 6a 6f 74 20 24 7b cpu in $$(jot ${
1020: 4e 43 50 55 7d 20 30 29 3b 20 64 6f 20 5c 0a 09 NCPU} 0); do \..
1030: 09 09 09 63 70 75 63 6f 6e 74 72 6f 6c 20 2d 75 ...cpucontrol -u
1040: 20 2f 64 65 76 2f 63 70 75 63 74 6c 24 24 7b 63 /dev/cpuctl$${c
1050: 70 75 7d 3b 20 5c 0a 09 09 09 64 6f 6e 65 3b 20 pu}; \....done;
1060: 5c 0a 09 09 09 66 6f 72 20 63 70 75 20 69 6e 20 \....for cpu in
1070: 24 24 28 6a 6f 74 20 24 7b 4e 43 50 55 7d 20 31 $$(jot ${NCPU} 1
1080: 29 3b 20 64 6f 20 5c 0a 09 09 09 09 63 70 75 63 ); do \.....cpuc
1090: 6f 6e 74 72 6f 6c 20 2d 65 20 2f 64 65 76 2f 63 ontrol -e /dev/c
10a0: 70 75 63 74 6c 24 24 7b 63 70 75 7d 3b 20 5c 0a puctl$${cpu}; \.
10b0: 09 09 09 64 6f 6e 65 20 5c 0a 09 09 65 6c 73 65 ...done \...else
10c0: 20 5c 0a 09 09 09 65 63 68 6f 20 22 4d 52 43 3a \....echo "MRC:
10d0: 24 40 3e 20 46 61 69 6c 65 64 20 74 6f 20 6c 6f $@> Failed to lo
10e0: 61 64 20 5b 63 70 75 63 74 6c 5d 2e 22 3b 20 5c ad [cpuctl]."; \
10f0: 0a 09 09 66 69 20 5c 0a 09 66 69 0a 0a 6d 69 78 ...fi \..fi..mix
1100: 65 72 3a 20 6d 6f 75 6e 74 20 63 6c 65 61 6e 76 er: mount cleanv
1110: 61 72 20 6b 6c 64 0a 09 65 63 68 6f 20 22 4d 52 ar kld..echo "MR
1120: 43 3a 24 40 3e 20 52 65 73 74 6f 72 69 6e 67 20 C:$@> Restoring
1130: 6c 65 76 65 6c 73 2e 22 0a 09 66 6f 72 20 6d 69 levels."..for mi
1140: 78 65 72 20 69 6e 20 24 24 28 66 69 6e 64 20 2f xer in $$(find /
1150: 64 65 76 20 2d 6e 61 6d 65 20 27 6d 69 78 65 72 dev -name 'mixer
1160: 2a 27 20 7c 20 73 65 64 20 27 73 7c 5e 2f 64 65 *' | sed 's|^/de
1170: 76 2f 7c 7c 27 29 3b 20 64 6f 20 5c 0a 09 09 69 v/||'); do \...i
1180: 66 20 5b 20 2d 72 20 2f 76 61 72 2f 64 62 2f 24 f [ -r /var/db/$
1190: 24 7b 6d 69 78 65 72 7d 2d 73 74 61 74 65 20 5d ${mixer}-state ]
11a0: 3b 20 74 68 65 6e 20 5c 0a 09 09 09 6d 69 78 65 ; then \....mixe
11b0: 72 20 2d 66 20 2f 64 65 76 2f 24 24 7b 6d 69 78 r -f /dev/$${mix
11c0: 65 72 7d 20 60 63 61 74 20 2f 76 61 72 2f 64 62 er} `cat /var/db
11d0: 2f 24 24 7b 6d 69 78 65 72 7d 2d 73 74 61 74 65 /$${mixer}-state
11e0: 60 20 7c 7c 20 5c 0a 09 09 09 65 63 68 6f 20 22 ` || \....echo "
11f0: 4d 52 43 3a 24 40 3e 20 2f 64 65 76 2f 24 24 7b MRC:$@> /dev/$${
1200: 6d 69 78 65 72 7d 20 63 6f 6e 66 69 67 20 6c 6f mixer} config lo
1210: 61 64 20 66 61 69 6c 65 64 2e 22 3b 20 5c 0a 09 ad failed."; \..
1220: 09 66 69 20 5c 0a 09 64 6f 6e 65 0a 0a 6d 69 78 .fi \..done..mix
1230: 65 72 5f 65 78 69 74 3a 0a 09 65 63 68 6f 20 22 er_exit:..echo "
1240: 4d 52 43 3a 24 40 3e 20 53 61 76 69 6e 67 20 6d MRC:$@> Saving m
1250: 69 78 65 72 20 6c 65 76 65 6c 73 2e 22 0a 09 66 ixer levels."..f
1260: 6f 72 20 6d 69 78 65 72 20 69 6e 20 24 24 28 66 or mixer in $$(f
1270: 69 6e 64 20 2f 64 65 76 20 2d 6e 61 6d 65 20 27 ind /dev -name '
1280: 6d 69 78 65 72 2a 27 20 7c 20 73 65 64 20 27 73 mixer*' | sed 's
1290: 7c 5e 2f 64 65 76 2f 7c 7c 27 29 3b 20 64 6f 20 |^/dev/||'); do
12a0: 5c 0a 09 09 69 66 20 5b 20 2d 72 20 2f 64 65 76 \...if [ -r /dev
12b0: 2f 24 24 7b 6d 69 78 65 72 7d 20 5d 3b 20 74 68 /$${mixer} ]; th
12c0: 65 6e 20 5c 0a 09 09 09 6d 69 78 65 72 20 2d 66 en \....mixer -f
12d0: 20 2f 64 65 76 2f 24 24 7b 6d 69 78 65 72 7d 20 /dev/$${mixer}
12e0: 2d 73 20 3e 20 2f 76 61 72 2f 64 62 2f 24 24 7b -s > /var/db/$${
12f0: 6d 69 78 65 72 7d 2d 73 74 61 74 65 3b 20 5c 0a mixer}-state; \.
1300: 09 09 66 69 20 5c 0a 09 64 6f 6e 65 0a 0a 44 41 ..fi \..done..DA
1310: 45 4d 4f 4e 5f 45 58 49 54 3a 20 6d 69 78 65 72 EMON_EXIT: mixer
1320: 5f 65 78 69 74 0a 0a 65 78 63 6c 75 64 65 73 3d _exit..excludes=
1330: 24 7b 4e 45 54 46 53 5f 54 59 50 45 53 3a 43 2f ${NETFS_TYPES:C/
1340: 3a 2e 2a 2f 2f 7d 0a 0a 6d 6f 75 6e 74 3a 20 72 :.*//}..mount: r
1350: 6f 6f 74 20 7a 66 73 0a 09 65 63 68 6f 20 22 4d oot zfs..echo "M
1360: 52 43 3a 24 40 3e 20 4d 6f 75 6e 74 20 6c 6f 63 RC:$@> Mount loc
1370: 61 6c 20 46 53 2e 22 0a 09 6d 6f 75 6e 74 20 2d al FS."..mount -
1380: 70 20 7c 20 61 77 6b 20 27 24 24 31 7e 2f 5e 6d p | awk '$$1~/^m
1390: 61 70 24 24 2f 7b 6e 65 78 74 7d 24 24 33 21 7e ap$$/{next}$$3!~
13a0: 2f 5e 28 74 6d 70 66 73 7c 6e 75 6c 6c 7c 70 72 /^(tmpfs|null|pr
13b0: 6f 63 66 73 29 24 24 2f 7b 70 72 69 6e 74 22 6d ocfs)$$/{print"m
13c0: 6f 75 6e 74 20 2d 75 6f 20 72 77 20 22 24 24 31 ount -uo rw "$$1
13d0: 7d 27 20 7c 20 73 68 0a 09 6d 6f 75 6e 74 0a 09 }' | sh..mount..
13e0: 6d 6f 75 6e 74 20 2d 61 20 2d 74 20 6e 6f 24 7b mount -a -t no${
13f0: 65 78 63 6c 75 64 65 73 3a 74 73 2c 7d 0a 0a 6d excludes:ts,}..m
1400: 6f 75 6e 74 6c 61 74 65 3a 20 4e 45 54 57 4f 52 ountlate: NETWOR
1410: 4b 20 6d 6f 75 6e 74 20 63 6c 65 61 6e 76 61 72 K mount cleanvar
1420: 20 72 75 6e 73 68 6d 20 64 65 76 64 20 6d 6f 75 runshm devd mou
1430: 6e 74 74 6d 70 66 73 0a 09 65 63 68 6f 20 22 4d nttmpfs..echo "M
1440: 52 43 3a 24 40 3e 20 4d 6f 75 6e 74 20 6c 61 74 RC:$@> Mount lat
1450: 65 20 46 53 2e 22 0a 09 6d 6f 75 6e 74 20 2d 61 e FS."..mount -a
1460: 0a 0a 6d 73 67 73 3a 20 6d 6f 75 6e 74 0a 09 65 ..msgs: mount..e
1470: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 4d 61 6b cho "MRC:$@> Mak
1480: 69 6e 67 20 62 6f 75 6e 64 73 2e 22 0a 09 74 65 ing bounds."..te
1490: 73 74 20 21 20 2d 64 20 2f 76 61 72 2f 6d 73 67 st ! -d /var/msg
14a0: 73 20 2d 6f 20 2d 66 20 2f 76 61 72 2f 6d 73 67 s -o -f /var/msg
14b0: 73 2f 62 6f 75 6e 64 20 2d 6f 20 2d 4c 20 2f 76 s/bound -o -L /v
14c0: 61 72 2f 6d 73 67 73 2f 62 6f 75 6e 64 73 20 7c ar/msgs/bounds |
14d0: 7c 20 5c 0a 09 09 65 63 68 6f 20 30 20 3e 20 2f | \...echo 0 > /
14e0: 76 61 72 2f 6d 73 67 73 2f 62 6f 75 6e 64 73 0a var/msgs/bounds.
14f0: 0a 6e 65 77 73 79 73 6c 6f 67 3a 20 6d 6f 75 6e .newsyslog: moun
1500: 74 6c 61 74 65 20 73 79 73 64 62 0a 09 69 66 20 tlate sysdb..if
1510: 5b 20 2d 6e 20 22 24 24 7b 4e 45 57 53 59 53 4c [ -n "$${NEWSYSL
1520: 4f 47 5f 45 4e 41 42 4c 45 7d 22 20 5d 3b 20 74 OG_ENABLE}" ]; t
1530: 68 65 6e 20 5c 0a 09 09 65 63 68 6f 20 22 4d 52 hen \...echo "MR
1540: 43 3a 24 40 3e 20 54 72 69 6d 6d 69 6e 67 20 6c C:$@> Trimming l
1550: 6f 67 20 66 69 6c 65 73 2e 22 3b 20 5c 0a 09 09 og files."; \...
1560: 2f 75 73 72 2f 73 62 69 6e 2f 6e 65 77 73 79 73 /usr/sbin/newsys
1570: 6c 6f 67 20 24 7b 4e 45 57 53 59 53 4c 4f 47 5f log ${NEWSYSLOG_
1580: 46 4c 41 47 53 7d 3b 20 5c 0a 09 66 69 0a 0a 6e FLAGS}; \..fi..n
1590: 65 78 74 62 6f 6f 74 3a 20 6d 6f 75 6e 74 0a 2e extboot: mount..
15a0: 69 66 20 65 78 69 73 74 73 28 2f 62 6f 6f 74 2f if exists(/boot/
15b0: 6e 65 78 74 6b 65 72 6e 65 6c 29 0a 09 65 63 68 nextkernel)..ech
15c0: 6f 20 22 4d 52 43 3a 24 40 3e 20 52 65 6d 6f 76 o "MRC:$@> Remov
15d0: 69 6e 67 20 6e 65 78 74 62 6f 6f 74 20 73 65 74 ing nextboot set
15e0: 74 69 6e 67 2e 22 0a 09 72 6d 20 2d 66 20 2f 62 ting."..rm -f /b
15f0: 6f 6f 74 2f 6e 65 78 74 6b 65 72 6e 65 6c 0a 2e oot/nextkernel..
1600: 65 6e 64 69 66 0a 0a 2e 69 66 20 65 6d 70 74 79 endif...if empty
1610: 28 4e 46 53 43 4c 49 45 4e 54 5f 45 4e 41 42 4c (NFSCLIENT_ENABL
1620: 45 3a 74 6c 3a 4d 6e 6f 29 0a 44 41 45 4d 4f 4e E:tl:Mno).DAEMON
1630: 5f 72 70 63 62 69 6e 64 5f 45 4e 41 42 4c 45 3d _rpcbind_ENABLE=
1640: 79 65 73 0a 2e 65 6e 64 69 66 0a 0a 6e 66 73 63 yes..endif..nfsc
1650: 6c 69 65 6e 74 3a 20 4e 45 54 57 4f 52 4b 20 72 lient: NETWORK r
1660: 70 63 62 69 6e 64 0a 09 69 66 20 5b 20 2d 6e 20 pcbind..if [ -n
1670: 22 24 24 7b 4e 46 53 43 4c 49 45 4e 54 5f 45 4e "$${NFSCLIENT_EN
1680: 41 42 4c 45 7d 22 20 5d 3b 20 74 68 65 6e 20 5c ABLE}" ]; then \
1690: 0a 09 09 6b 6c 64 6c 6f 61 64 20 2d 6e 20 6e 66 ...kldload -n nf
16a0: 73 3b 20 5c 0a 09 66 69 0a 0a 6e 66 73 63 6c 69 s; \..fi..nfscli
16b0: 65 6e 74 5f 65 78 69 74 3a 20 44 41 45 4d 4f 4e ent_exit: DAEMON
16c0: 5f 45 58 49 54 0a 2e 69 66 20 65 6d 70 74 79 28 _EXIT..if empty(
16d0: 52 50 43 5f 55 4d 4e 54 41 4c 4c 5f 45 4e 41 42 RPC_UMNTALL_ENAB
16e0: 4c 45 3a 74 6c 3a 4d 6e 6f 29 0a 09 65 63 68 6f LE:tl:Mno)..echo
16f0: 20 22 4d 52 43 3a 24 40 3e 20 53 65 6e 64 69 6e "MRC:$@> Sendin
1700: 67 20 52 50 43 20 75 6e 6d 6f 75 6e 74 20 6e 6f g RPC unmount no
1710: 74 69 66 69 63 61 74 69 6f 6e 73 2e 22 0a 09 74 tifications."..t
1720: 65 73 74 20 2d 66 20 2f 76 61 72 2f 64 62 2f 6d est -f /var/db/m
1730: 6f 75 6e 74 74 61 62 20 7c 7c 20 74 72 75 65 20 ounttab || true
1740: 26 26 20 72 70 63 2e 75 6d 6e 74 61 6c 6c 20 2d && rpc.umntall -
1750: 6b 0a 2e 65 6e 64 69 66 0a 0a 4e 45 54 57 4f 52 k..endif..NETWOR
1760: 4b 5f 45 58 49 54 3a 20 6e 66 73 63 6c 69 65 6e K_EXIT: nfsclien
1770: 74 5f 65 78 69 74 0a 0a 6e 65 74 69 66 3a 20 61 t_exit..netif: a
1780: 64 6a 6b 65 72 6e 74 7a 20 63 6c 6f 6e 65 64 20 djkerntz cloned
1790: 69 70 36 61 64 64 72 63 74 6c 20 6b 6c 64 20 6d ip6addrctl kld m
17a0: 6f 75 6e 74 74 6d 70 66 73 20 75 74 6d 70 78 20 ounttmpfs utmpx
17b0: 77 6c 61 6e 73 0a 09 65 63 68 6f 20 22 4d 52 43 wlans..echo "MRC
17c0: 3a 24 40 3e 20 53 74 61 72 74 69 6e 67 20 69 6e :$@> Starting in
17d0: 74 65 72 66 61 63 65 73 3a 20 24 7b 49 46 43 4f terfaces: ${IFCO
17e0: 4e 46 49 47 5f 49 46 41 43 45 53 7d 22 0a 2e 66 NFIG_IFACES}"..f
17f0: 6f 72 20 69 66 61 63 65 20 69 6e 20 24 7b 49 46 or iface in ${IF
1800: 43 4f 4e 46 49 47 5f 49 46 41 43 45 53 7d 0a 2e CONFIG_IFACES}..
1810: 09 66 6f 72 20 69 74 65 6d 20 69 6e 20 24 7b 49 .for item in ${I
1820: 46 43 4f 4e 46 49 47 5f 24 7b 69 66 61 63 65 7d FCONFIG_${iface}
1830: 3a 74 57 3a 74 73 3b 7d 0a 09 69 66 63 6f 6e 66 :tW:ts;}..ifconf
1840: 69 67 20 24 7b 69 66 61 63 65 7d 20 24 7b 69 74 ig ${iface} ${it
1850: 65 6d 7d 0a 2e 09 65 6e 64 66 6f 72 0a 2e 09 75 em}...endfor...u
1860: 6e 64 65 66 20 5f 49 46 43 4f 4e 46 49 47 5f 41 ndef _IFCONFIG_A
1870: 52 47 53 0a 2e 65 6e 64 66 6f 72 0a 0a 70 66 3a RGS..endfor..pf:
1880: 20 70 66 6c 6f 67 64 0a 2e 69 66 20 65 6d 70 74 pflogd..if empt
1890: 79 28 50 46 5f 45 4e 41 42 4c 45 3a 74 6c 3a 4d y(PF_ENABLE:tl:M
18a0: 6e 6f 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 no)..echo "MRC:$
18b0: 40 3e 20 45 6e 61 62 6c 69 6e 67 20 61 6e 64 20 @> Enabling and
18c0: 6c 6f 61 64 69 6e 67 20 72 75 6c 65 73 2e 22 0a loading rules.".
18d0: 09 69 66 20 6b 6c 64 6c 6f 61 64 20 2d 6e 20 70 .if kldload -n p
18e0: 66 3b 20 74 68 65 6e 20 5c 0a 09 09 69 66 20 5b f; then \...if [
18f0: 20 2d 72 20 24 7b 50 46 5f 52 55 4c 45 53 7d 20 -r ${PF_RULES}
1900: 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 09 70 66 63 ]; then \....pfc
1910: 74 6c 20 2d 46 61 20 7c 7c 20 65 78 69 74 20 31 tl -Fa || exit 1
1920: 3b 20 5c 0a 09 09 09 70 66 63 74 6c 20 2d 66 20 ; \....pfctl -f
1930: 24 7b 50 46 5f 52 55 4c 45 53 7d 20 24 7b 50 46 ${PF_RULES} ${PF
1940: 5f 46 4c 41 47 53 7d 20 7c 7c 20 65 78 69 74 20 _FLAGS} || exit
1950: 31 3b 20 5c 0a 09 09 09 70 66 63 74 6c 20 2d 53 1; \....pfctl -S
1960: 69 20 7c 20 67 72 65 70 20 2d 71 20 45 6e 61 62 i | grep -q Enab
1970: 6c 65 64 20 26 26 20 70 66 63 74 6c 20 2d 65 3b led && pfctl -e;
1980: 20 5c 0a 09 09 65 6c 73 65 20 5c 0a 09 09 09 65 \...else \....e
1990: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 43 61 6e cho "MRC:$@> Can
19a0: 27 74 20 66 69 6e 64 20 66 69 6c 65 20 77 69 74 't find file wit
19b0: 68 20 72 75 6c 65 73 20 61 74 20 24 7b 50 46 5f h rules at ${PF_
19c0: 52 55 4c 45 53 7d 2e 22 3b 20 5c 0a 09 09 09 65 RULES}."; \....e
19d0: 78 69 74 20 31 3b 20 5c 0a 09 09 66 69 20 5c 0a xit 1; \...fi \.
19e0: 09 65 6c 73 65 20 5c 0a 09 09 65 63 68 6f 20 22 .else \...echo "
19f0: 4d 52 43 3a 24 40 3e 20 46 61 69 6c 65 64 20 74 MRC:$@> Failed t
1a00: 6f 20 6c 6f 61 64 20 5b 70 66 5d 2e 22 3b 20 5c o load [pf]."; \
1a10: 0a 09 66 69 0a 2e 65 6e 64 69 66 0a 0a 70 77 63 ..fi..endif..pwc
1a20: 68 65 63 6b 3a 20 6d 6f 75 6e 74 6c 61 74 65 20 heck: mountlate
1a30: 73 79 73 6c 6f 67 64 0a 09 65 63 68 6f 20 22 4d syslogd..echo "M
1a40: 52 43 3a 24 40 3e 20 43 68 65 63 6b 69 6e 67 20 RC:$@> Checking
1a50: 70 61 73 73 77 6f 72 64 20 6c 6f 63 6b 20 66 69 password lock fi
1a60: 6c 65 2e 22 0a 2e 69 66 20 65 78 69 73 74 73 28 le."..if exists(
1a70: 2f 65 74 63 2f 70 74 6d 70 29 0a 09 6c 6f 67 67 /etc/ptmp)..logg
1a80: 65 72 20 2d 73 20 2d 70 20 61 75 74 68 2e 65 72 er -s -p auth.er
1a90: 72 20 5c 0a 09 09 22 70 61 73 73 77 6f 72 64 20 r \..."password
1aa0: 66 69 6c 65 20 6d 61 79 20 62 65 20 69 6e 63 6f file may be inco
1ab0: 72 72 65 63 74 20 2d 2d 20 2f 65 74 63 2f 70 74 rrect -- /etc/pt
1ac0: 6d 70 20 65 78 69 73 74 73 22 0a 2e 65 6e 64 69 mp exists"..endi
1ad0: 66 0a 0a 72 61 6e 64 6f 6d 3a 20 6d 6f 75 6e 74 f..random: mount
1ae0: 20 64 65 76 66 73 0a 09 65 63 68 6f 20 22 4d 52 devfs..echo "MR
1af0: 43 3a 24 40 3e 20 53 65 65 64 69 6e 67 2e 22 0a C:$@> Seeding.".
1b00: 09 73 79 73 63 74 6c 20 6b 65 72 6e 2e 73 65 65 .sysctl kern.see
1b10: 64 65 6e 61 62 6c 65 3d 31 20 3e 20 2f 64 65 76 denable=1 > /dev
1b20: 2f 6e 75 6c 6c 0a 09 28 20 70 73 20 2d 66 61 75 /null..( ps -fau
1b30: 78 77 77 3b 20 73 79 73 63 74 6c 20 2d 61 3b 20 xww; sysctl -a;
1b40: 64 61 74 65 3b 20 64 66 20 2d 69 62 3b 20 64 6d date; df -ib; dm
1b50: 65 73 67 3b 20 70 73 20 2d 66 61 75 78 77 77 20 esg; ps -fauxww
1b60: 3b 29 20 32 3e 26 31 20 7c 20 5c 0a 09 09 64 64 ;) 2>&1 | \...dd
1b70: 20 73 74 61 74 75 73 3d 6e 6f 6e 65 20 6f 66 3d status=none of=
1b80: 2f 64 65 76 2f 72 61 6e 64 6f 6d 20 62 73 3d 38 /dev/random bs=8
1b90: 6b 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 09 64 k 2>/dev/null..d
1ba0: 64 20 69 66 3d 2f 62 69 6e 2f 70 73 20 73 74 61 d if=/bin/ps sta
1bb0: 74 75 73 3d 6e 6f 6e 65 20 6f 66 3d 2f 64 65 76 tus=none of=/dev
1bc0: 2f 72 61 6e 64 6f 6d 20 62 73 3d 38 6b 20 32 3e /random bs=8k 2>
1bd0: 2f 64 65 76 2f 6e 75 6c 6c 0a 09 69 66 20 5b 20 /dev/null..if [
1be0: 2d 64 20 24 24 7b 45 4e 54 52 4f 50 59 5f 44 49 -d $${ENTROPY_DI
1bf0: 52 7d 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 66 R} ]; then \...f
1c00: 69 6e 64 20 24 24 7b 45 4e 54 52 4f 50 59 5f 44 ind $${ENTROPY_D
1c10: 49 52 7d 20 2d 74 79 70 65 20 66 20 7c 20 5c 0a IR} -type f | \.
1c20: 09 09 09 78 61 72 67 73 20 2d 6e 31 20 2d 49 66 ...xargs -n1 -If
1c30: 6f 6f 20 64 64 20 73 74 61 74 75 73 3d 6e 6f 6e oo dd status=non
1c40: 65 20 69 66 3d 66 6f 6f 20 6f 66 3d 2f 64 65 76 e if=foo of=/dev
1c50: 2f 72 61 6e 64 6f 6d 20 62 73 3d 38 6b 20 32 3e /random bs=8k 2>
1c60: 2f 64 65 76 2f 6e 75 6c 6c 3b 20 5c 0a 09 65 6c /dev/null; \..el
1c70: 73 65 20 5c 0a 09 09 69 66 20 5b 20 2d 72 20 24 se \...if [ -r $
1c80: 7b 45 4e 54 52 4f 50 59 5f 46 49 4c 45 7d 20 5d {ENTROPY_FILE} ]
1c90: 3b 20 74 68 65 6e 20 5c 0a 09 09 09 64 64 20 73 ; then \....dd s
1ca0: 74 61 74 75 73 3d 6e 6f 6e 65 20 69 66 3d 24 7b tatus=none if=${
1cb0: 45 4e 54 52 4f 50 59 5f 46 49 4c 45 7d 20 6f 66 ENTROPY_FILE} of
1cc0: 3d 2f 64 65 76 2f 72 61 6e 64 6f 6d 20 62 73 3d =/dev/random bs=
1cd0: 38 6b 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 8k 2>/dev/null;
1ce0: 5c 0a 09 09 66 69 20 5c 0a 09 66 69 0a 09 73 79 \...fi \..fi..sy
1cf0: 73 63 74 6c 20 6b 65 72 6e 2e 73 65 65 64 65 6e sctl kern.seeden
1d00: 61 62 6c 65 3d 30 20 3e 20 2f 64 65 76 2f 6e 75 able=0 > /dev/nu
1d10: 6c 6c 0a 0a 72 61 6e 64 6f 6d 5f 65 78 69 74 3a ll..random_exit:
1d20: 0a 09 72 6d 20 2d 66 20 24 7b 45 4e 54 52 4f 50 ..rm -f ${ENTROP
1d30: 59 5f 46 49 4c 45 7d 3b 20 5c 0a 09 28 20 5c 0a Y_FILE}; \..( \.
1d40: 09 09 75 6d 61 73 6b 20 30 37 37 3b 20 5c 0a 09 ..umask 077; \..
1d50: 09 64 64 20 69 66 3d 2f 64 65 76 2f 72 61 6e 64 .dd if=/dev/rand
1d60: 6f 6d 20 6f 66 3d 24 7b 45 4e 54 52 4f 50 59 5f om of=${ENTROPY_
1d70: 46 49 4c 45 7d 20 62 73 3d 38 6b 20 63 6f 75 6e FILE} bs=8k coun
1d80: 74 3d 31 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 t=1 2>/dev/null
1d90: 7c 7c 20 5c 0a 09 09 09 65 63 68 6f 20 22 4d 52 || \....echo "MR
1da0: 43 3a 24 40 3e 20 65 6e 74 72 6f 70 79 20 66 69 C:$@> entropy fi
1db0: 6c 65 20 77 72 69 74 65 20 66 61 69 6c 65 64 2e le write failed.
1dc0: 22 3b 20 5c 0a 09 29 0a 0a 44 41 45 4d 4f 4e 5f "; \..)..DAEMON_
1dd0: 45 58 49 54 3a 20 72 61 6e 64 6f 6d 5f 65 78 69 EXIT: random_exi
1de0: 74 0a 0a 72 6f 6f 74 3a 20 66 73 63 6b 20 62 6f t..root: fsck bo
1df0: 6f 74 66 73 0a 09 65 63 68 6f 20 22 4d 52 43 3a otfs..echo "MRC:
1e00: 24 40 3e 20 4d 6f 75 6e 74 20 72 6f 6f 74 20 52 $@> Mount root R
1e10: 2f 57 2e 22 0a 09 6d 6f 75 6e 74 20 2d 75 6f 20 /W."..mount -uo
1e20: 72 77 0a 0a 73 61 76 65 63 6f 72 65 3a 20 64 75 rw..savecore: du
1e30: 6d 70 6f 6e 0a 2e 69 66 20 65 6d 70 74 79 28 44 mpon..if empty(D
1e40: 55 4d 50 44 45 56 3a 74 6c 3a 4d 6e 6f 29 20 26 UMPDEV:tl:Mno) &
1e50: 26 20 65 78 69 73 74 73 28 24 7b 44 55 4d 50 44 & exists(${DUMPD
1e60: 45 56 7d 29 20 26 26 20 65 78 69 73 74 73 28 24 EV}) && exists($
1e70: 7b 44 55 4d 50 44 49 52 7d 29 0a 09 65 63 68 6f {DUMPDIR})..echo
1e80: 20 22 4d 52 43 3a 24 40 3e 20 53 61 76 69 6e 67 "MRC:$@> Saving
1e90: 20 63 6f 72 65 64 75 6d 70 2e 22 0a 09 73 61 76 coredump."..sav
1ea0: 65 63 6f 72 65 20 24 7b 44 55 4d 50 44 49 52 7d ecore ${DUMPDIR}
1eb0: 20 24 7b 44 55 4d 50 44 45 56 7d 0a 2e 69 66 20 ${DUMPDEV}..if
1ec0: 65 6d 70 74 79 28 43 52 41 53 48 49 4e 46 4f 5f empty(CRASHINFO_
1ed0: 45 4e 41 42 4c 45 3a 74 6c 3a 4d 6e 6f 29 0a 09 ENABLE:tl:Mno)..
1ee0: 63 72 61 73 68 69 6e 66 6f 20 2d 64 20 24 7b 44 crashinfo -d ${D
1ef0: 55 4d 50 44 49 52 7d 0a 2e 65 6e 64 69 66 0a 2e UMPDIR}..endif..
1f00: 65 6e 64 69 66 0a 0a 73 77 61 70 3a 20 73 61 76 endif..swap: sav
1f10: 65 63 6f 72 65 0a 2e 69 66 20 24 7b 3a 21 73 79 ecore..if ${:!sy
1f20: 73 63 74 6c 20 2d 6e 20 76 6d 2e 73 77 61 70 5f sctl -n vm.swap_
1f30: 65 6e 61 62 6c 65 64 21 7d 7d 20 21 3d 20 30 0a enabled!}} != 0.
1f40: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 45 .echo "MRC:$@> E
1f50: 6e 61 62 6c 69 6e 67 20 73 77 61 70 2e 22 0a 09 nabling swap."..
1f60: 73 77 61 70 6f 6e 20 2d 61 0a 2e 65 6e 64 69 66 swapon -a..endif
1f70: 0a 0a 73 79 73 63 74 6c 3a 20 6b 6c 64 20 72 6f ..sysctl: kld ro
1f80: 6f 74 0a 2e 69 66 20 65 78 69 73 74 73 28 2f 65 ot..if exists(/e
1f90: 74 63 2f 73 79 73 63 74 6c 2e 63 6f 6e 66 29 0a tc/sysctl.conf).
1fa0: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53 .echo "MRC:$@> S
1fb0: 65 74 74 69 6e 67 20 73 79 73 63 74 6c 20 64 65 etting sysctl de
1fc0: 66 61 75 6c 74 73 2e 22 0a 09 61 77 6b 20 27 24 faults."..awk '$
1fd0: 24 30 7e 2f 5e 5b 20 5d 2a 28 23 2e 2a 29 3f 24 $0~/^[ ]*(#.*)?$
1fe0: 24 2f 7b 6e 65 78 74 7d 7b 70 72 69 6e 74 7d 27 $/{next}{print}'
1ff0: 20 3c 20 2f 65 74 63 2f 73 79 73 63 74 6c 2e 63 < /etc/sysctl.c
2000: 6f 6e 66 20 7c 20 5c 0a 09 09 78 61 72 67 73 20 onf | \...xargs
2010: 2d 6e 31 20 73 79 73 63 74 6c 0a 2e 65 6e 64 69 -n1 sysctl..endi
2020: 66 0a 0a 73 79 73 64 62 3a 20 6d 6f 75 6e 74 6c f..sysdb: mountl
2030: 61 74 65 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 ate..echo "MRC:$
2040: 40 3e 20 42 75 69 6c 64 69 6e 67 20 64 61 74 61 @> Building data
2050: 62 61 73 65 73 2e 22 0a 09 69 6e 73 74 61 6c 6c bases."..install
2060: 20 2d 63 20 2d 6d 20 36 34 34 20 2d 67 20 77 68 -c -m 644 -g wh
2070: 65 65 6c 20 2f 64 65 76 2f 6e 75 6c 6c 20 2f 76 eel /dev/null /v
2080: 61 72 2f 72 75 6e 2f 75 74 6d 70 78 0a 0a 77 6c ar/run/utmpx..wl
2090: 61 6e 73 3a 20 6b 6c 64 0a 09 65 63 68 6f 20 22 ans: kld..echo "
20a0: 4d 52 43 3a 24 40 3e 20 43 6f 6e 66 69 67 75 72 MRC:$@> Configur
20b0: 69 6e 67 20 77 6c 61 6e 73 2e 22 20 3b 0a 09 66 ing wlans." ;..f
20c0: 6f 72 20 64 65 76 20 69 6e 20 24 24 28 73 79 73 or dev in $$(sys
20d0: 63 74 6c 20 2d 6e 20 6e 65 74 2e 77 6c 61 6e 2e ctl -n net.wlan.
20e0: 64 65 76 69 63 65 73 29 3b 20 64 6f 20 5c 0a 09 devices); do \..
20f0: 09 65 76 61 6c 20 61 6c 6c 5f 77 6c 61 6e 73 3d .eval all_wlans=
2100: 5c 24 24 7b 57 4c 41 4e 53 5f 24 24 7b 64 65 76 \$${WLANS_$${dev
2110: 7d 7d 3b 20 5c 0a 09 09 66 6f 72 20 77 6c 61 6e }}; \...for wlan
2120: 20 69 6e 20 24 24 7b 61 6c 6c 5f 77 6c 61 6e 73 in $${all_wlans
2130: 7d 3b 20 64 6f 20 5c 0a 09 09 09 7b 20 5c 0a 09 }; do \....{ \..
2140: 09 09 09 65 76 61 6c 20 77 6c 61 6e 5f 61 72 67 ...eval wlan_arg
2150: 73 3d 22 5c 24 24 7b 57 4c 41 4e 53 5f 24 24 7b s="\$${WLANS_$${
2160: 77 6c 61 6e 7d 5f 41 52 47 53 7d 22 20 26 26 20 wlan}_ARGS}" &&
2170: 5c 0a 09 09 09 09 69 66 63 6f 6e 66 69 67 20 24 \.....ifconfig $
2180: 24 7b 77 6c 61 6e 7d 20 63 72 65 61 74 65 20 77 ${wlan} create w
2190: 6c 61 6e 64 65 76 20 24 24 7b 64 65 76 7d 20 26 landev $${dev} &
21a0: 26 20 5c 0a 09 09 09 09 7b 20 5c 0a 09 09 09 09 & \.....{ \.....
21b0: 09 69 66 63 6f 6e 66 69 67 20 24 24 7b 77 6c 61 .ifconfig $${wla
21c0: 6e 7d 20 24 24 7b 77 6c 61 6e 5f 61 72 67 73 7d n} $${wlan_args}
21d0: 3b 20 5c 0a 09 09 09 09 09 69 66 63 6f 6e 66 69 ; \......ifconfi
21e0: 67 20 24 24 7b 77 6c 61 6e 7d 20 75 70 3b 20 5c g $${wlan} up; \
21f0: 0a 09 09 09 09 7d 3b 20 5c 0a 09 09 09 7d 20 7c .....}; \....} |
2200: 7c 20 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 | echo "MRC:$@>
2210: 45 52 52 4f 52 3a 20 57 4c 41 4e 20 24 24 7b 77 ERROR: WLAN $${w
2220: 6c 61 6e 7d 20 66 61 69 6c 65 64 20 74 6f 20 69 lan} failed to i
2230: 6e 69 74 69 61 6c 69 7a 65 2e 22 3b 20 5c 0a 09 nitialize."; \..
2240: 09 64 6f 6e 65 20 5c 0a 09 64 6f 6e 65 0a 0a 7a .done \..done..z
2250: 66 73 3a 0a 2e 69 66 20 65 6d 70 74 79 28 5a 46 fs:..if empty(ZF
2260: 53 5f 45 4e 41 42 4c 45 3a 74 6c 3a 4d 6e 6f 29 S_ENABLE:tl:Mno)
2270: 0a 09 7a 66 73 20 6d 6f 75 6e 74 20 2d 76 61 20 ..zfs mount -va
2280: 7c 7c 20 65 78 69 74 20 24 24 3f 0a 09 7a 66 73 || exit $$?..zfs
2290: 20 73 68 61 72 65 20 2d 61 20 7c 7c 20 65 78 69 share -a || exi
22a0: 74 20 24 24 3f 0a 09 74 6f 75 63 68 20 2f 65 74 t $$?..touch /et
22b0: 63 2f 7a 66 73 2f 65 78 70 6f 72 74 73 0a 2e 65 c/zfs/exports..e
22c0: 6e 64 69 66 0a 0a 72 75 6e 73 68 6d 3a 20 63 6c ndif..runshm: cl
22d0: 65 61 6e 76 61 72 0a 09 65 63 68 6f 20 22 4d 52 eanvar..echo "MR
22e0: 43 3a 24 40 3e 20 50 72 65 70 61 72 69 6e 67 20 C:$@> Preparing
22f0: 2f 76 61 72 2f 72 75 6e 2e 22 0a 2e 09 69 66 20 /var/run."...if
2300: 65 78 69 73 74 73 28 54 4d 50 46 53 5f 56 41 52 exists(TMPFS_VAR
2310: 5f 52 55 4e 5f 45 4e 41 42 4c 45 29 0a 09 2f 72 _RUN_ENABLE)../r
2320: 65 73 63 75 65 2f 66 69 6e 64 20 2f 76 61 72 2f escue/find /var/
2330: 72 75 6e 20 2d 6d 69 6e 64 65 70 74 68 20 31 20 run -mindepth 1
2340: 2d 64 65 6c 65 74 65 0a 09 6d 6f 75 6e 74 5f 74 -delete..mount_t
2350: 6d 70 66 73 20 64 75 6d 6d 79 20 2f 76 61 72 2f mpfs dummy /var/
2360: 72 75 6e 0a 2e 09 65 6c 73 65 0a 09 6d 6b 64 69 run...else..mkdi
2370: 72 20 2d 70 20 2f 76 61 72 2f 72 75 6e 2f 73 68 r -p /var/run/sh
2380: 6d 0a 09 6d 6f 75 6e 74 5f 74 6d 70 66 73 20 2d m..mount_tmpfs -
2390: 6d 20 30 31 37 37 37 20 64 75 6d 6d 79 20 2f 76 m 01777 dummy /v
23a0: 61 72 2f 72 75 6e 2f 73 68 6d 0a 2e 09 65 6e 64 ar/run/shm...end
23b0: 69 66 0a 09 6d 74 72 65 65 20 2d 64 65 69 71 55 if..mtree -deiqU
23c0: 20 2d 66 20 2f 65 74 63 2f 6d 74 72 65 65 2f 42 -f /etc/mtree/B
23d0: 53 44 2e 76 61 72 2e 64 69 73 74 20 2d 70 20 2f SD.var.dist -p /
23e0: 76 61 72 0a 0a 6d 6f 75 6e 74 74 6d 70 66 73 3a var..mounttmpfs:
23f0: 20 63 6c 65 61 6e 76 61 72 0a 09 65 63 68 6f 20 cleanvar..echo
2400: 22 4d 52 43 3a 24 40 3e 20 4d 6f 75 6e 74 20 74 "MRC:$@> Mount t
2410: 6d 70 66 73 20 61 6e 64 20 70 6f 70 75 6c 61 74 mpfs and populat
2420: 69 6e 67 20 2f 76 61 72 2f 72 75 6e 2e 22 0a 2e ing /var/run."..
2430: 69 66 20 65 78 69 73 74 73 28 54 4d 50 46 53 5f if exists(TMPFS_
2440: 54 4d 50 5f 45 4e 41 42 4c 45 29 0a 09 6d 6f 75 TMP_ENABLE)..mou
2450: 6e 74 20 7c 20 61 77 6b 20 27 42 45 47 49 4e 7b nt | awk 'BEGIN{
2460: 78 3d 31 7d 24 24 33 7e 2f 5c 2f 74 6d 70 2f 7b x=1}$$3~/\/tmp/{
2470: 78 3d 30 7d 45 4e 44 7b 65 78 69 74 28 78 29 7d x=0}END{exit(x)}
2480: 27 20 7c 7c 20 7b 20 5c 0a 09 09 2f 72 65 73 63 ' || { \.../resc
2490: 75 65 2f 66 69 6e 64 20 2f 74 6d 70 20 2d 6d 69 ue/find /tmp -mi
24a0: 6e 64 65 70 74 68 20 31 20 2d 64 65 6c 65 74 65 ndepth 1 -delete
24b0: 3b 20 5c 0a 09 09 6d 6f 75 6e 74 5f 74 6d 70 66 ; \...mount_tmpf
24c0: 73 20 2d 6d 20 30 31 37 37 37 20 64 75 6d 6d 79 s -m 01777 dummy
24d0: 20 2f 74 6d 70 3b 20 5c 0a 09 7d 0a 2e 65 6e 64 /tmp; \..}..end
24e0: 69 66 0a 0a 75 64 65 76 64 5f 63 68 65 63 6b 3a if..udevd_check:
24f0: 20 44 41 45 4d 4f 4e 0a 09 65 63 68 6f 20 22 4d DAEMON..echo "M
2500: 52 43 3a 24 40 3e 20 43 68 65 63 6b 20 75 64 65 RC:$@> Check ude
2510: 76 64 20 50 49 44 2f 73 6f 63 6b 65 74 20 61 72 vd PID/socket ar
2520: 65 20 61 63 63 65 73 73 69 62 6c 65 2e 22 0a 09 e accessible."..
2530: 69 66 20 5b 20 21 20 2d 65 20 2f 76 61 72 2f 72 if [ ! -e /var/r
2540: 75 6e 2f 75 64 65 76 64 2e 70 69 64 20 5d 3b 20 un/udevd.pid ];
2550: 74 68 65 6e 20 5c 0a 09 09 70 6b 69 6c 6c 20 2d then \...pkill -
2560: 48 55 50 20 2d 78 20 75 64 65 76 64 3b 20 5c 0a HUP -x udevd; \.
2570: 09 09 28 20 5c 0a 09 09 09 73 6c 65 65 70 20 31 ..( \....sleep 1
2580: 3b 20 5c 0a 09 09 09 69 66 20 5b 20 21 20 2d 65 ; \....if [ ! -e
2590: 20 2f 76 61 72 2f 72 75 6e 2f 75 64 65 76 64 2e /var/run/udevd.
25a0: 70 69 64 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 pid ]; then \...
25b0: 09 09 73 76 63 20 72 65 73 74 61 72 74 20 75 64 ..svc restart ud
25c0: 65 76 64 3b 20 5c 0a 09 09 09 66 69 20 5c 0a 09 evd; \....fi \..
25d0: 09 29 20 26 20 5c 0a 09 66 69 0a 0a 75 74 6d 70 .) & \..fi..utmp
25e0: 78 3a 20 72 75 6e 73 68 6d 0a 09 65 63 68 6f 20 x: runshm..echo
25f0: 22 4d 52 43 3a 24 40 3e 20 49 6e 73 74 61 6c 6c "MRC:$@> Install
2600: 20 75 74 6d 70 78 2e 22 0a 09 69 6e 73 74 61 6c utmpx."..instal
2610: 6c 20 2d 6d 20 36 34 34 20 2d 67 20 77 68 65 65 l -m 644 -g whee
2620: 6c 20 2f 64 65 76 2f 6e 75 6c 6c 20 2f 76 61 72 l /dev/null /var
2630: 2f 72 75 6e 2f 75 74 6d 70 78 0a /run/utmpx.