Hex Artifact Content
Logged in as anonymous

Artifact ce989e635e98aa5a5c334fbe1d05ddc0d4b64b1ef7b3143f777fc2d8714000ab:


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 20 73 79 73 63 74 6c 0a 09 65  ar kld sysctl..e
1120: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 52 65 73  cho "MRC:$@> Res
1130: 74 6f 72 69 6e 67 20 6c 65 76 65 6c 73 2e 22 0a  toring levels.".
1140: 09 66 6f 72 20 6d 69 78 65 72 20 69 6e 20 24 24  .for mixer in $$
1150: 28 66 69 6e 64 20 2f 64 65 76 20 2d 6e 61 6d 65  (find /dev -name
1160: 20 27 6d 69 78 65 72 2a 27 20 7c 20 73 65 64 20   'mixer*' | sed 
1170: 27 73 7c 5e 2f 64 65 76 2f 7c 7c 27 29 3b 20 64  's|^/dev/||'); d
1180: 6f 20 5c 0a 09 09 69 66 20 5b 20 2d 72 20 2f 76  o \...if [ -r /v
1190: 61 72 2f 64 62 2f 24 24 7b 6d 69 78 65 72 7d 2d  ar/db/$${mixer}-
11a0: 73 74 61 74 65 20 5d 3b 20 74 68 65 6e 20 5c 0a  state ]; then \.
11b0: 09 09 09 6d 69 78 65 72 20 2d 66 20 2f 64 65 76  ...mixer -f /dev
11c0: 2f 24 24 7b 6d 69 78 65 72 7d 20 60 63 61 74 20  /$${mixer} `cat 
11d0: 2f 76 61 72 2f 64 62 2f 24 24 7b 6d 69 78 65 72  /var/db/$${mixer
11e0: 7d 2d 73 74 61 74 65 60 20 7c 7c 20 5c 0a 09 09  }-state` || \...
11f0: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 2f  .echo "MRC:$@> /
1200: 64 65 76 2f 24 24 7b 6d 69 78 65 72 7d 20 63 6f  dev/$${mixer} co
1210: 6e 66 69 67 20 6c 6f 61 64 20 66 61 69 6c 65 64  nfig load failed
1220: 2e 22 3b 20 5c 0a 09 09 66 69 20 5c 0a 09 64 6f  ."; \...fi \..do
1230: 6e 65 0a 0a 6d 69 78 65 72 5f 65 78 69 74 3a 0a  ne..mixer_exit:.
1240: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53  .echo "MRC:$@> S
1250: 61 76 69 6e 67 20 6d 69 78 65 72 20 6c 65 76 65  aving mixer leve
1260: 6c 73 2e 22 0a 09 66 6f 72 20 6d 69 78 65 72 20  ls."..for mixer 
1270: 69 6e 20 24 24 28 66 69 6e 64 20 2f 64 65 76 20  in $$(find /dev 
1280: 2d 6e 61 6d 65 20 27 6d 69 78 65 72 2a 27 20 7c  -name 'mixer*' |
1290: 20 73 65 64 20 27 73 7c 5e 2f 64 65 76 2f 7c 7c   sed 's|^/dev/||
12a0: 27 29 3b 20 64 6f 20 5c 0a 09 09 69 66 20 5b 20  '); do \...if [ 
12b0: 2d 72 20 2f 64 65 76 2f 24 24 7b 6d 69 78 65 72  -r /dev/$${mixer
12c0: 7d 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 09 6d  } ]; then \....m
12d0: 69 78 65 72 20 2d 66 20 2f 64 65 76 2f 24 24 7b  ixer -f /dev/$${
12e0: 6d 69 78 65 72 7d 20 2d 73 20 3e 20 2f 76 61 72  mixer} -s > /var
12f0: 2f 64 62 2f 24 24 7b 6d 69 78 65 72 7d 2d 73 74  /db/$${mixer}-st
1300: 61 74 65 3b 20 5c 0a 09 09 66 69 20 5c 0a 09 64  ate; \...fi \..d
1310: 6f 6e 65 0a 0a 44 41 45 4d 4f 4e 5f 45 58 49 54  one..DAEMON_EXIT
1320: 3a 20 6d 69 78 65 72 5f 65 78 69 74 0a 0a 65 78  : mixer_exit..ex
1330: 63 6c 75 64 65 73 3d 24 7b 4e 45 54 46 53 5f 54  cludes=${NETFS_T
1340: 59 50 45 53 3a 43 2f 3a 2e 2a 2f 2f 7d 0a 0a 6d  YPES:C/:.*//}..m
1350: 6f 75 6e 74 3a 20 72 6f 6f 74 20 7a 66 73 0a 09  ount: root zfs..
1360: 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 4d 6f  echo "MRC:$@> Mo
1370: 75 6e 74 20 6c 6f 63 61 6c 20 46 53 2e 22 0a 09  unt local FS."..
1380: 6d 6f 75 6e 74 20 2d 70 20 7c 20 61 77 6b 20 27  mount -p | awk '
1390: 24 24 31 7e 2f 5e 6d 61 70 24 24 2f 7b 6e 65 78  $$1~/^map$$/{nex
13a0: 74 7d 24 24 33 21 7e 2f 5e 28 74 6d 70 66 73 7c  t}$$3!~/^(tmpfs|
13b0: 6e 75 6c 6c 7c 70 72 6f 63 66 73 29 24 24 2f 7b  null|procfs)$$/{
13c0: 70 72 69 6e 74 22 6d 6f 75 6e 74 20 2d 75 6f 20  print"mount -uo 
13d0: 72 77 20 22 24 24 31 7d 27 20 7c 20 73 68 0a 09  rw "$$1}' | sh..
13e0: 6d 6f 75 6e 74 0a 09 6d 6f 75 6e 74 20 2d 61 20  mount..mount -a 
13f0: 2d 74 20 6e 6f 24 7b 65 78 63 6c 75 64 65 73 3a  -t no${excludes:
1400: 74 73 2c 7d 0a 0a 6d 6f 75 6e 74 6c 61 74 65 3a  ts,}..mountlate:
1410: 20 4e 45 54 57 4f 52 4b 20 6d 6f 75 6e 74 20 63   NETWORK mount c
1420: 6c 65 61 6e 76 61 72 20 72 75 6e 73 68 6d 20 64  leanvar runshm d
1430: 65 76 64 20 6d 6f 75 6e 74 74 6d 70 66 73 0a 09  evd mounttmpfs..
1440: 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 4d 6f  echo "MRC:$@> Mo
1450: 75 6e 74 20 6c 61 74 65 20 46 53 2e 22 0a 09 6d  unt late FS."..m
1460: 6f 75 6e 74 20 2d 61 0a 0a 6d 73 67 73 3a 20 6d  ount -a..msgs: m
1470: 6f 75 6e 74 0a 09 65 63 68 6f 20 22 4d 52 43 3a  ount..echo "MRC:
1480: 24 40 3e 20 4d 61 6b 69 6e 67 20 62 6f 75 6e 64  $@> Making bound
1490: 73 2e 22 0a 09 74 65 73 74 20 21 20 2d 64 20 2f  s."..test ! -d /
14a0: 76 61 72 2f 6d 73 67 73 20 2d 6f 20 2d 66 20 2f  var/msgs -o -f /
14b0: 76 61 72 2f 6d 73 67 73 2f 62 6f 75 6e 64 20 2d  var/msgs/bound -
14c0: 6f 20 2d 4c 20 2f 76 61 72 2f 6d 73 67 73 2f 62  o -L /var/msgs/b
14d0: 6f 75 6e 64 73 20 7c 7c 20 5c 0a 09 09 65 63 68  ounds || \...ech
14e0: 6f 20 30 20 3e 20 2f 76 61 72 2f 6d 73 67 73 2f  o 0 > /var/msgs/
14f0: 62 6f 75 6e 64 73 0a 0a 6e 65 77 73 79 73 6c 6f  bounds..newsyslo
1500: 67 3a 20 6d 6f 75 6e 74 6c 61 74 65 20 73 79 73  g: mountlate sys
1510: 64 62 0a 09 69 66 20 5b 20 2d 6e 20 22 24 24 7b  db..if [ -n "$${
1520: 4e 45 57 53 59 53 4c 4f 47 5f 45 4e 41 42 4c 45  NEWSYSLOG_ENABLE
1530: 7d 22 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 65  }" ]; then \...e
1540: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 54 72 69  cho "MRC:$@> Tri
1550: 6d 6d 69 6e 67 20 6c 6f 67 20 66 69 6c 65 73 2e  mming log files.
1560: 22 3b 20 5c 0a 09 09 2f 75 73 72 2f 73 62 69 6e  "; \.../usr/sbin
1570: 2f 6e 65 77 73 79 73 6c 6f 67 20 24 7b 4e 45 57  /newsyslog ${NEW
1580: 53 59 53 4c 4f 47 5f 46 4c 41 47 53 7d 3b 20 5c  SYSLOG_FLAGS}; \
1590: 0a 09 66 69 0a 0a 6e 65 78 74 62 6f 6f 74 3a 20  ..fi..nextboot: 
15a0: 6d 6f 75 6e 74 0a 2e 69 66 20 65 78 69 73 74 73  mount..if exists
15b0: 28 2f 62 6f 6f 74 2f 6e 65 78 74 6b 65 72 6e 65  (/boot/nextkerne
15c0: 6c 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40  l)..echo "MRC:$@
15d0: 3e 20 52 65 6d 6f 76 69 6e 67 20 6e 65 78 74 62  > Removing nextb
15e0: 6f 6f 74 20 73 65 74 74 69 6e 67 2e 22 0a 09 72  oot setting."..r
15f0: 6d 20 2d 66 20 2f 62 6f 6f 74 2f 6e 65 78 74 6b  m -f /boot/nextk
1600: 65 72 6e 65 6c 0a 2e 65 6e 64 69 66 0a 0a 2e 69  ernel..endif...i
1610: 66 20 65 6d 70 74 79 28 4e 46 53 43 4c 49 45 4e  f empty(NFSCLIEN
1620: 54 5f 45 4e 41 42 4c 45 3a 74 6c 3a 4d 6e 6f 29  T_ENABLE:tl:Mno)
1630: 0a 44 41 45 4d 4f 4e 5f 72 70 63 62 69 6e 64 5f  .DAEMON_rpcbind_
1640: 45 4e 41 42 4c 45 3d 79 65 73 0a 2e 65 6e 64 69  ENABLE=yes..endi
1650: 66 0a 0a 6e 66 73 63 6c 69 65 6e 74 3a 20 4e 45  f..nfsclient: NE
1660: 54 57 4f 52 4b 20 72 70 63 62 69 6e 64 0a 09 69  TWORK rpcbind..i
1670: 66 20 5b 20 2d 6e 20 22 24 24 7b 4e 46 53 43 4c  f [ -n "$${NFSCL
1680: 49 45 4e 54 5f 45 4e 41 42 4c 45 7d 22 20 5d 3b  IENT_ENABLE}" ];
1690: 20 74 68 65 6e 20 5c 0a 09 09 6b 6c 64 6c 6f 61   then \...kldloa
16a0: 64 20 2d 6e 20 6e 66 73 3b 20 5c 0a 09 66 69 0a  d -n nfs; \..fi.
16b0: 0a 6e 66 73 63 6c 69 65 6e 74 5f 65 78 69 74 3a  .nfsclient_exit:
16c0: 20 44 41 45 4d 4f 4e 5f 45 58 49 54 0a 2e 69 66   DAEMON_EXIT..if
16d0: 20 65 6d 70 74 79 28 52 50 43 5f 55 4d 4e 54 41   empty(RPC_UMNTA
16e0: 4c 4c 5f 45 4e 41 42 4c 45 3a 74 6c 3a 4d 6e 6f  LL_ENABLE:tl:Mno
16f0: 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e  )..echo "MRC:$@>
1700: 20 53 65 6e 64 69 6e 67 20 52 50 43 20 75 6e 6d   Sending RPC unm
1710: 6f 75 6e 74 20 6e 6f 74 69 66 69 63 61 74 69 6f  ount notificatio
1720: 6e 73 2e 22 0a 09 74 65 73 74 20 2d 66 20 2f 76  ns."..test -f /v
1730: 61 72 2f 64 62 2f 6d 6f 75 6e 74 74 61 62 20 7c  ar/db/mounttab |
1740: 7c 20 74 72 75 65 20 26 26 20 72 70 63 2e 75 6d  | true && rpc.um
1750: 6e 74 61 6c 6c 20 2d 6b 0a 2e 65 6e 64 69 66 0a  ntall -k..endif.
1760: 0a 4e 45 54 57 4f 52 4b 5f 45 58 49 54 3a 20 6e  .NETWORK_EXIT: n
1770: 66 73 63 6c 69 65 6e 74 5f 65 78 69 74 0a 0a 6e  fsclient_exit..n
1780: 65 74 69 66 3a 20 61 64 6a 6b 65 72 6e 74 7a 20  etif: adjkerntz 
1790: 63 6c 6f 6e 65 64 20 69 70 36 61 64 64 72 63 74  cloned ip6addrct
17a0: 6c 20 6b 6c 64 20 6d 6f 75 6e 74 74 6d 70 66 73  l kld mounttmpfs
17b0: 20 75 74 6d 70 78 20 77 6c 61 6e 73 0a 09 65 63   utmpx wlans..ec
17c0: 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53 74 61 72  ho "MRC:$@> Star
17d0: 74 69 6e 67 20 69 6e 74 65 72 66 61 63 65 73 3a  ting interfaces:
17e0: 20 24 7b 49 46 43 4f 4e 46 49 47 5f 49 46 41 43   ${IFCONFIG_IFAC
17f0: 45 53 7d 22 0a 2e 66 6f 72 20 69 66 61 63 65 20  ES}"..for iface 
1800: 69 6e 20 24 7b 49 46 43 4f 4e 46 49 47 5f 49 46  in ${IFCONFIG_IF
1810: 41 43 45 53 7d 0a 2e 09 66 6f 72 20 69 74 65 6d  ACES}...for item
1820: 20 69 6e 20 24 7b 49 46 43 4f 4e 46 49 47 5f 24   in ${IFCONFIG_$
1830: 7b 69 66 61 63 65 7d 3a 74 57 3a 74 73 3b 7d 0a  {iface}:tW:ts;}.
1840: 09 69 66 63 6f 6e 66 69 67 20 24 7b 69 66 61 63  .ifconfig ${ifac
1850: 65 7d 20 24 7b 69 74 65 6d 7d 0a 2e 09 65 6e 64  e} ${item}...end
1860: 66 6f 72 0a 2e 09 75 6e 64 65 66 20 5f 49 46 43  for...undef _IFC
1870: 4f 4e 46 49 47 5f 41 52 47 53 0a 2e 65 6e 64 66  ONFIG_ARGS..endf
1880: 6f 72 0a 0a 70 66 3a 20 70 66 6c 6f 67 64 0a 2e  or..pf: pflogd..
1890: 69 66 20 65 6d 70 74 79 28 50 46 5f 45 4e 41 42  if empty(PF_ENAB
18a0: 4c 45 3a 74 6c 3a 4d 6e 6f 29 0a 09 65 63 68 6f  LE:tl:Mno)..echo
18b0: 20 22 4d 52 43 3a 24 40 3e 20 45 6e 61 62 6c 69   "MRC:$@> Enabli
18c0: 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 72  ng and loading r
18d0: 75 6c 65 73 2e 22 0a 09 69 66 20 6b 6c 64 6c 6f  ules."..if kldlo
18e0: 61 64 20 2d 6e 20 70 66 3b 20 74 68 65 6e 20 5c  ad -n pf; then \
18f0: 0a 09 09 69 66 20 5b 20 2d 72 20 24 7b 50 46 5f  ...if [ -r ${PF_
1900: 52 55 4c 45 53 7d 20 5d 3b 20 74 68 65 6e 20 5c  RULES} ]; then \
1910: 0a 09 09 09 70 66 63 74 6c 20 2d 46 61 20 7c 7c  ....pfctl -Fa ||
1920: 20 65 78 69 74 20 31 3b 20 5c 0a 09 09 09 70 66   exit 1; \....pf
1930: 63 74 6c 20 2d 66 20 24 7b 50 46 5f 52 55 4c 45  ctl -f ${PF_RULE
1940: 53 7d 20 24 7b 50 46 5f 46 4c 41 47 53 7d 20 7c  S} ${PF_FLAGS} |
1950: 7c 20 65 78 69 74 20 31 3b 20 5c 0a 09 09 09 70  | exit 1; \....p
1960: 66 63 74 6c 20 2d 53 69 20 7c 20 67 72 65 70 20  fctl -Si | grep 
1970: 2d 71 20 45 6e 61 62 6c 65 64 20 26 26 20 70 66  -q Enabled && pf
1980: 63 74 6c 20 2d 65 3b 20 5c 0a 09 09 65 6c 73 65  ctl -e; \...else
1990: 20 5c 0a 09 09 09 65 63 68 6f 20 22 4d 52 43 3a   \....echo "MRC:
19a0: 24 40 3e 20 43 61 6e 27 74 20 66 69 6e 64 20 66  $@> Can't find f
19b0: 69 6c 65 20 77 69 74 68 20 72 75 6c 65 73 20 61  ile with rules a
19c0: 74 20 24 7b 50 46 5f 52 55 4c 45 53 7d 2e 22 3b  t ${PF_RULES}.";
19d0: 20 5c 0a 09 09 09 65 78 69 74 20 31 3b 20 5c 0a   \....exit 1; \.
19e0: 09 09 66 69 20 5c 0a 09 65 6c 73 65 20 5c 0a 09  ..fi \..else \..
19f0: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 46  .echo "MRC:$@> F
1a00: 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 5b 70  ailed to load [p
1a10: 66 5d 2e 22 3b 20 5c 0a 09 66 69 0a 2e 65 6e 64  f]."; \..fi..end
1a20: 69 66 0a 0a 70 77 63 68 65 63 6b 3a 20 6d 6f 75  if..pwcheck: mou
1a30: 6e 74 6c 61 74 65 20 73 79 73 6c 6f 67 64 0a 09  ntlate syslogd..
1a40: 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 43 68  echo "MRC:$@> Ch
1a50: 65 63 6b 69 6e 67 20 70 61 73 73 77 6f 72 64 20  ecking password 
1a60: 6c 6f 63 6b 20 66 69 6c 65 2e 22 0a 2e 69 66 20  lock file."..if 
1a70: 65 78 69 73 74 73 28 2f 65 74 63 2f 70 74 6d 70  exists(/etc/ptmp
1a80: 29 0a 09 6c 6f 67 67 65 72 20 2d 73 20 2d 70 20  )..logger -s -p 
1a90: 61 75 74 68 2e 65 72 72 20 5c 0a 09 09 22 70 61  auth.err \..."pa
1aa0: 73 73 77 6f 72 64 20 66 69 6c 65 20 6d 61 79 20  ssword file may 
1ab0: 62 65 20 69 6e 63 6f 72 72 65 63 74 20 2d 2d 20  be incorrect -- 
1ac0: 2f 65 74 63 2f 70 74 6d 70 20 65 78 69 73 74 73  /etc/ptmp exists
1ad0: 22 0a 2e 65 6e 64 69 66 0a 0a 72 61 6e 64 6f 6d  "..endif..random
1ae0: 3a 20 6d 6f 75 6e 74 20 64 65 76 66 73 0a 09 65  : mount devfs..e
1af0: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 53 65 65  cho "MRC:$@> See
1b00: 64 69 6e 67 2e 22 0a 09 73 79 73 63 74 6c 20 6b  ding."..sysctl k
1b10: 65 72 6e 2e 73 65 65 64 65 6e 61 62 6c 65 3d 31  ern.seedenable=1
1b20: 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 28 20   > /dev/null..( 
1b30: 70 73 20 2d 66 61 75 78 77 77 3b 20 73 79 73 63  ps -fauxww; sysc
1b40: 74 6c 20 2d 61 3b 20 64 61 74 65 3b 20 64 66 20  tl -a; date; df 
1b50: 2d 69 62 3b 20 64 6d 65 73 67 3b 20 70 73 20 2d  -ib; dmesg; ps -
1b60: 66 61 75 78 77 77 20 3b 29 20 32 3e 26 31 20 7c  fauxww ;) 2>&1 |
1b70: 20 5c 0a 09 09 64 64 20 73 74 61 74 75 73 3d 6e   \...dd status=n
1b80: 6f 6e 65 20 6f 66 3d 2f 64 65 76 2f 72 61 6e 64  one of=/dev/rand
1b90: 6f 6d 20 62 73 3d 38 6b 20 32 3e 2f 64 65 76 2f  om bs=8k 2>/dev/
1ba0: 6e 75 6c 6c 0a 09 64 64 20 69 66 3d 2f 62 69 6e  null..dd if=/bin
1bb0: 2f 70 73 20 73 74 61 74 75 73 3d 6e 6f 6e 65 20  /ps status=none 
1bc0: 6f 66 3d 2f 64 65 76 2f 72 61 6e 64 6f 6d 20 62  of=/dev/random b
1bd0: 73 3d 38 6b 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  s=8k 2>/dev/null
1be0: 0a 09 69 66 20 5b 20 2d 64 20 24 24 7b 45 4e 54  ..if [ -d $${ENT
1bf0: 52 4f 50 59 5f 44 49 52 7d 20 5d 3b 20 74 68 65  ROPY_DIR} ]; the
1c00: 6e 20 5c 0a 09 09 66 69 6e 64 20 24 24 7b 45 4e  n \...find $${EN
1c10: 54 52 4f 50 59 5f 44 49 52 7d 20 2d 74 79 70 65  TROPY_DIR} -type
1c20: 20 66 20 7c 20 5c 0a 09 09 09 78 61 72 67 73 20   f | \....xargs 
1c30: 2d 6e 31 20 2d 49 66 6f 6f 20 64 64 20 73 74 61  -n1 -Ifoo dd sta
1c40: 74 75 73 3d 6e 6f 6e 65 20 69 66 3d 66 6f 6f 20  tus=none if=foo 
1c50: 6f 66 3d 2f 64 65 76 2f 72 61 6e 64 6f 6d 20 62  of=/dev/random b
1c60: 73 3d 38 6b 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  s=8k 2>/dev/null
1c70: 3b 20 5c 0a 09 65 6c 73 65 20 5c 0a 09 09 69 66  ; \..else \...if
1c80: 20 5b 20 2d 72 20 24 7b 45 4e 54 52 4f 50 59 5f   [ -r ${ENTROPY_
1c90: 46 49 4c 45 7d 20 5d 3b 20 74 68 65 6e 20 5c 0a  FILE} ]; then \.
1ca0: 09 09 09 64 64 20 73 74 61 74 75 73 3d 6e 6f 6e  ...dd status=non
1cb0: 65 20 69 66 3d 24 7b 45 4e 54 52 4f 50 59 5f 46  e if=${ENTROPY_F
1cc0: 49 4c 45 7d 20 6f 66 3d 2f 64 65 76 2f 72 61 6e  ILE} of=/dev/ran
1cd0: 64 6f 6d 20 62 73 3d 38 6b 20 32 3e 2f 64 65 76  dom bs=8k 2>/dev
1ce0: 2f 6e 75 6c 6c 3b 20 5c 0a 09 09 66 69 20 5c 0a  /null; \...fi \.
1cf0: 09 66 69 0a 09 73 79 73 63 74 6c 20 6b 65 72 6e  .fi..sysctl kern
1d00: 2e 73 65 65 64 65 6e 61 62 6c 65 3d 30 20 3e 20  .seedenable=0 > 
1d10: 2f 64 65 76 2f 6e 75 6c 6c 0a 0a 72 61 6e 64 6f  /dev/null..rando
1d20: 6d 5f 65 78 69 74 3a 0a 09 65 63 68 6f 20 22 4d  m_exit:..echo "M
1d30: 52 43 3a 24 40 3e 20 53 61 76 69 6e 67 20 65 6e  RC:$@> Saving en
1d40: 74 72 6f 70 79 2e 22 0a 09 72 6d 20 2d 66 20 24  tropy."..rm -f $
1d50: 7b 45 4e 54 52 4f 50 59 5f 46 49 4c 45 7d 3b 20  {ENTROPY_FILE}; 
1d60: 5c 0a 09 28 20 5c 0a 09 09 75 6d 61 73 6b 20 30  \..( \...umask 0
1d70: 37 37 3b 20 5c 0a 09 09 64 64 20 69 66 3d 2f 64  77; \...dd if=/d
1d80: 65 76 2f 72 61 6e 64 6f 6d 20 6f 66 3d 24 7b 45  ev/random of=${E
1d90: 4e 54 52 4f 50 59 5f 46 49 4c 45 7d 20 62 73 3d  NTROPY_FILE} bs=
1da0: 38 6b 20 63 6f 75 6e 74 3d 31 20 32 3e 2f 64 65  8k count=1 2>/de
1db0: 76 2f 6e 75 6c 6c 20 7c 7c 20 5c 0a 09 09 09 65  v/null || \....e
1dc0: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 65 6e 74  cho "MRC:$@> ent
1dd0: 72 6f 70 79 20 66 69 6c 65 20 77 72 69 74 65 20  ropy file write 
1de0: 66 61 69 6c 65 64 2e 22 3b 20 5c 0a 09 29 0a 0a  failed."; \..)..
1df0: 44 41 45 4d 4f 4e 5f 45 58 49 54 3a 20 72 61 6e  DAEMON_EXIT: ran
1e00: 64 6f 6d 5f 65 78 69 74 0a 0a 72 6f 6f 74 3a 20  dom_exit..root: 
1e10: 66 73 63 6b 20 62 6f 6f 74 66 73 0a 09 65 63 68  fsck bootfs..ech
1e20: 6f 20 22 4d 52 43 3a 24 40 3e 20 4d 6f 75 6e 74  o "MRC:$@> Mount
1e30: 20 72 6f 6f 74 20 52 2f 57 2e 22 0a 09 6d 6f 75   root R/W."..mou
1e40: 6e 74 20 2d 75 6f 20 72 77 0a 0a 73 61 76 65 63  nt -uo rw..savec
1e50: 6f 72 65 3a 20 64 75 6d 70 6f 6e 0a 2e 69 66 20  ore: dumpon..if 
1e60: 65 6d 70 74 79 28 44 55 4d 50 44 45 56 3a 74 6c  empty(DUMPDEV:tl
1e70: 3a 4d 6e 6f 29 20 26 26 20 65 78 69 73 74 73 28  :Mno) && exists(
1e80: 24 7b 44 55 4d 50 44 45 56 7d 29 20 26 26 20 65  ${DUMPDEV}) && e
1e90: 78 69 73 74 73 28 24 7b 44 55 4d 50 44 49 52 7d  xists(${DUMPDIR}
1ea0: 29 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e  )..echo "MRC:$@>
1eb0: 20 53 61 76 69 6e 67 20 63 6f 72 65 64 75 6d 70   Saving coredump
1ec0: 2e 22 0a 09 73 61 76 65 63 6f 72 65 20 24 7b 44  ."..savecore ${D
1ed0: 55 4d 50 44 49 52 7d 20 24 7b 44 55 4d 50 44 45  UMPDIR} ${DUMPDE
1ee0: 56 7d 0a 2e 69 66 20 65 6d 70 74 79 28 43 52 41  V}..if empty(CRA
1ef0: 53 48 49 4e 46 4f 5f 45 4e 41 42 4c 45 3a 74 6c  SHINFO_ENABLE:tl
1f00: 3a 4d 6e 6f 29 0a 09 63 72 61 73 68 69 6e 66 6f  :Mno)..crashinfo
1f10: 20 2d 64 20 24 7b 44 55 4d 50 44 49 52 7d 0a 2e   -d ${DUMPDIR}..
1f20: 65 6e 64 69 66 0a 2e 65 6e 64 69 66 0a 0a 73 77  endif..endif..sw
1f30: 61 70 3a 20 73 61 76 65 63 6f 72 65 0a 2e 69 66  ap: savecore..if
1f40: 20 24 7b 3a 21 73 79 73 63 74 6c 20 2d 6e 20 76   ${:!sysctl -n v
1f50: 6d 2e 73 77 61 70 5f 65 6e 61 62 6c 65 64 21 7d  m.swap_enabled!}
1f60: 7d 20 21 3d 20 30 0a 09 65 63 68 6f 20 22 4d 52  } != 0..echo "MR
1f70: 43 3a 24 40 3e 20 45 6e 61 62 6c 69 6e 67 20 73  C:$@> Enabling s
1f80: 77 61 70 2e 22 0a 09 73 77 61 70 6f 6e 20 2d 61  wap."..swapon -a
1f90: 0a 2e 65 6e 64 69 66 0a 0a 73 79 73 63 74 6c 3a  ..endif..sysctl:
1fa0: 20 6b 6c 64 20 72 6f 6f 74 0a 2e 69 66 20 65 78   kld root..if ex
1fb0: 69 73 74 73 28 2f 65 74 63 2f 73 79 73 63 74 6c  ists(/etc/sysctl
1fc0: 2e 63 6f 6e 66 29 0a 09 65 63 68 6f 20 22 4d 52  .conf)..echo "MR
1fd0: 43 3a 24 40 3e 20 53 65 74 74 69 6e 67 20 73 79  C:$@> Setting sy
1fe0: 73 63 74 6c 20 64 65 66 61 75 6c 74 73 2e 22 0a  sctl defaults.".
1ff0: 09 61 77 6b 20 27 24 24 30 7e 2f 5e 5b 20 5d 2a  .awk '$$0~/^[ ]*
2000: 28 23 2e 2a 29 3f 24 24 2f 7b 6e 65 78 74 7d 7b  (#.*)?$$/{next}{
2010: 70 72 69 6e 74 7d 27 20 3c 20 2f 65 74 63 2f 73  print}' < /etc/s
2020: 79 73 63 74 6c 2e 63 6f 6e 66 20 7c 20 5c 0a 09  ysctl.conf | \..
2030: 09 78 61 72 67 73 20 2d 6e 31 20 73 79 73 63 74  .xargs -n1 sysct
2040: 6c 0a 2e 65 6e 64 69 66 0a 0a 73 79 73 64 62 3a  l..endif..sysdb:
2050: 20 6d 6f 75 6e 74 6c 61 74 65 0a 09 65 63 68 6f   mountlate..echo
2060: 20 22 4d 52 43 3a 24 40 3e 20 42 75 69 6c 64 69   "MRC:$@> Buildi
2070: 6e 67 20 64 61 74 61 62 61 73 65 73 2e 22 0a 09  ng databases."..
2080: 69 6e 73 74 61 6c 6c 20 2d 63 20 2d 6d 20 36 34  install -c -m 64
2090: 34 20 2d 67 20 77 68 65 65 6c 20 2f 64 65 76 2f  4 -g wheel /dev/
20a0: 6e 75 6c 6c 20 2f 76 61 72 2f 72 75 6e 2f 75 74  null /var/run/ut
20b0: 6d 70 78 0a 0a 77 6c 61 6e 73 3a 20 6b 6c 64 0a  mpx..wlans: kld.
20c0: 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 43  .echo "MRC:$@> C
20d0: 6f 6e 66 69 67 75 72 69 6e 67 20 77 6c 61 6e 73  onfiguring wlans
20e0: 2e 22 20 3b 0a 09 66 6f 72 20 64 65 76 20 69 6e  ." ;..for dev in
20f0: 20 24 24 28 73 79 73 63 74 6c 20 2d 6e 20 6e 65   $$(sysctl -n ne
2100: 74 2e 77 6c 61 6e 2e 64 65 76 69 63 65 73 29 3b  t.wlan.devices);
2110: 20 64 6f 20 5c 0a 09 09 65 76 61 6c 20 61 6c 6c   do \...eval all
2120: 5f 77 6c 61 6e 73 3d 5c 24 24 7b 57 4c 41 4e 53  _wlans=\$${WLANS
2130: 5f 24 24 7b 64 65 76 7d 7d 3b 20 5c 0a 09 09 66  _$${dev}}; \...f
2140: 6f 72 20 77 6c 61 6e 20 69 6e 20 24 24 7b 61 6c  or wlan in $${al
2150: 6c 5f 77 6c 61 6e 73 7d 3b 20 64 6f 20 5c 0a 09  l_wlans}; do \..
2160: 09 09 7b 20 5c 0a 09 09 09 09 65 76 61 6c 20 77  ..{ \.....eval w
2170: 6c 61 6e 5f 61 72 67 73 3d 22 5c 24 24 7b 57 4c  lan_args="\$${WL
2180: 41 4e 53 5f 24 24 7b 77 6c 61 6e 7d 5f 41 52 47  ANS_$${wlan}_ARG
2190: 53 7d 22 20 26 26 20 5c 0a 09 09 09 09 69 66 63  S}" && \.....ifc
21a0: 6f 6e 66 69 67 20 24 24 7b 77 6c 61 6e 7d 20 63  onfig $${wlan} c
21b0: 72 65 61 74 65 20 77 6c 61 6e 64 65 76 20 24 24  reate wlandev $$
21c0: 7b 64 65 76 7d 20 26 26 20 5c 0a 09 09 09 09 7b  {dev} && \.....{
21d0: 20 5c 0a 09 09 09 09 09 69 66 63 6f 6e 66 69 67   \......ifconfig
21e0: 20 24 24 7b 77 6c 61 6e 7d 20 24 24 7b 77 6c 61   $${wlan} $${wla
21f0: 6e 5f 61 72 67 73 7d 3b 20 5c 0a 09 09 09 09 09  n_args}; \......
2200: 69 66 63 6f 6e 66 69 67 20 24 24 7b 77 6c 61 6e  ifconfig $${wlan
2210: 7d 20 75 70 3b 20 5c 0a 09 09 09 09 7d 3b 20 5c  } up; \.....}; \
2220: 0a 09 09 09 7d 20 7c 7c 20 65 63 68 6f 20 22 4d  ....} || echo "M
2230: 52 43 3a 24 40 3e 20 45 52 52 4f 52 3a 20 57 4c  RC:$@> ERROR: WL
2240: 41 4e 20 24 24 7b 77 6c 61 6e 7d 20 66 61 69 6c  AN $${wlan} fail
2250: 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65  ed to initialize
2260: 2e 22 3b 20 5c 0a 09 09 64 6f 6e 65 20 5c 0a 09  ."; \...done \..
2270: 64 6f 6e 65 0a 0a 7a 66 73 3a 0a 2e 69 66 20 65  done..zfs:..if e
2280: 6d 70 74 79 28 5a 46 53 5f 45 4e 41 42 4c 45 3a  mpty(ZFS_ENABLE:
2290: 74 6c 3a 4d 6e 6f 29 0a 09 7a 66 73 20 6d 6f 75  tl:Mno)..zfs mou
22a0: 6e 74 20 2d 76 61 20 7c 7c 20 65 78 69 74 20 24  nt -va || exit $
22b0: 24 3f 0a 09 7a 66 73 20 73 68 61 72 65 20 2d 61  $?..zfs share -a
22c0: 20 7c 7c 20 65 78 69 74 20 24 24 3f 0a 09 74 6f   || exit $$?..to
22d0: 75 63 68 20 2f 65 74 63 2f 7a 66 73 2f 65 78 70  uch /etc/zfs/exp
22e0: 6f 72 74 73 0a 2e 65 6e 64 69 66 0a 0a 72 75 6e  orts..endif..run
22f0: 73 68 6d 3a 20 63 6c 65 61 6e 76 61 72 0a 09 65  shm: cleanvar..e
2300: 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 50 72 65  cho "MRC:$@> Pre
2310: 70 61 72 69 6e 67 20 2f 76 61 72 2f 72 75 6e 2e  paring /var/run.
2320: 22 0a 2e 09 69 66 20 65 78 69 73 74 73 28 54 4d  "...if exists(TM
2330: 50 46 53 5f 56 41 52 5f 52 55 4e 5f 45 4e 41 42  PFS_VAR_RUN_ENAB
2340: 4c 45 29 0a 09 2f 72 65 73 63 75 65 2f 66 69 6e  LE)../rescue/fin
2350: 64 20 2f 76 61 72 2f 72 75 6e 20 2d 6d 69 6e 64  d /var/run -mind
2360: 65 70 74 68 20 31 20 2d 64 65 6c 65 74 65 0a 09  epth 1 -delete..
2370: 6d 6f 75 6e 74 5f 74 6d 70 66 73 20 64 75 6d 6d  mount_tmpfs dumm
2380: 79 20 2f 76 61 72 2f 72 75 6e 0a 2e 09 65 6c 73  y /var/run...els
2390: 65 0a 09 6d 6b 64 69 72 20 2d 70 20 2f 76 61 72  e..mkdir -p /var
23a0: 2f 72 75 6e 2f 73 68 6d 0a 09 6d 6f 75 6e 74 5f  /run/shm..mount_
23b0: 74 6d 70 66 73 20 2d 6d 20 30 31 37 37 37 20 64  tmpfs -m 01777 d
23c0: 75 6d 6d 79 20 2f 76 61 72 2f 72 75 6e 2f 73 68  ummy /var/run/sh
23d0: 6d 0a 2e 09 65 6e 64 69 66 0a 09 6d 74 72 65 65  m...endif..mtree
23e0: 20 2d 64 65 69 71 55 20 2d 66 20 2f 65 74 63 2f   -deiqU -f /etc/
23f0: 6d 74 72 65 65 2f 42 53 44 2e 76 61 72 2e 64 69  mtree/BSD.var.di
2400: 73 74 20 2d 70 20 2f 76 61 72 0a 0a 6d 6f 75 6e  st -p /var..moun
2410: 74 74 6d 70 66 73 3a 20 63 6c 65 61 6e 76 61 72  ttmpfs: cleanvar
2420: 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20  ..echo "MRC:$@> 
2430: 4d 6f 75 6e 74 20 74 6d 70 66 73 20 61 6e 64 20  Mount tmpfs and 
2440: 70 6f 70 75 6c 61 74 69 6e 67 20 2f 76 61 72 2f  populating /var/
2450: 72 75 6e 2e 22 0a 2e 69 66 20 65 78 69 73 74 73  run."..if exists
2460: 28 54 4d 50 46 53 5f 54 4d 50 5f 45 4e 41 42 4c  (TMPFS_TMP_ENABL
2470: 45 29 0a 09 6d 6f 75 6e 74 20 7c 20 61 77 6b 20  E)..mount | awk 
2480: 27 42 45 47 49 4e 7b 78 3d 31 7d 24 24 33 7e 2f  'BEGIN{x=1}$$3~/
2490: 5c 2f 74 6d 70 2f 7b 78 3d 30 7d 45 4e 44 7b 65  \/tmp/{x=0}END{e
24a0: 78 69 74 28 78 29 7d 27 20 7c 7c 20 7b 20 5c 0a  xit(x)}' || { \.
24b0: 09 09 2f 72 65 73 63 75 65 2f 66 69 6e 64 20 2f  ../rescue/find /
24c0: 74 6d 70 20 2d 6d 69 6e 64 65 70 74 68 20 31 20  tmp -mindepth 1 
24d0: 2d 64 65 6c 65 74 65 3b 20 5c 0a 09 09 6d 6f 75  -delete; \...mou
24e0: 6e 74 5f 74 6d 70 66 73 20 2d 6d 20 30 31 37 37  nt_tmpfs -m 0177
24f0: 37 20 64 75 6d 6d 79 20 2f 74 6d 70 3b 20 5c 0a  7 dummy /tmp; \.
2500: 09 7d 0a 2e 65 6e 64 69 66 0a 0a 75 64 65 76 64  .}..endif..udevd
2510: 5f 63 68 65 63 6b 3a 20 44 41 45 4d 4f 4e 0a 09  _check: DAEMON..
2520: 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 43 68  echo "MRC:$@> Ch
2530: 65 63 6b 20 75 64 65 76 64 20 50 49 44 2f 73 6f  eck udevd PID/so
2540: 63 6b 65 74 20 61 72 65 20 61 63 63 65 73 73 69  cket are accessi
2550: 62 6c 65 2e 22 0a 09 69 66 20 5b 20 21 20 2d 65  ble."..if [ ! -e
2560: 20 2f 76 61 72 2f 72 75 6e 2f 75 64 65 76 64 2e   /var/run/udevd.
2570: 70 69 64 20 2d 6f 20 21 20 2d 65 20 2f 74 6d 70  pid -o ! -e /tmp
2580: 2f 75 64 65 76 64 2e 73 6f 63 6b 65 74 20 5d 3b  /udevd.socket ];
2590: 20 74 68 65 6e 20 5c 0a 09 09 70 6b 69 6c 6c 20   then \...pkill 
25a0: 2d 48 55 50 20 2d 78 20 75 64 65 76 64 3b 20 5c  -HUP -x udevd; \
25b0: 0a 09 09 28 20 5c 0a 09 09 09 73 6c 65 65 70 20  ...( \....sleep 
25c0: 31 3b 20 5c 0a 09 09 09 69 66 20 5b 20 21 20 2d  1; \....if [ ! -
25d0: 65 20 2f 76 61 72 2f 72 75 6e 2f 75 64 65 76 64  e /var/run/udevd
25e0: 2e 70 69 64 20 2d 6f 20 21 20 2d 65 20 2f 74 6d  .pid -o ! -e /tm
25f0: 70 2f 75 64 65 76 64 2e 73 6f 63 6b 65 74 20 5d  p/udevd.socket ]
2600: 3b 20 74 68 65 6e 20 5c 0a 09 09 09 09 73 76 63  ; then \.....svc
2610: 20 72 65 73 74 61 72 74 20 75 64 65 76 64 3b 20   restart udevd; 
2620: 5c 0a 09 09 09 66 69 20 5c 0a 09 09 29 20 26 20  \....fi \...) & 
2630: 5c 0a 09 66 69 0a 0a 75 74 6d 70 78 3a 20 72 75  \..fi..utmpx: ru
2640: 6e 73 68 6d 0a 09 65 63 68 6f 20 22 4d 52 43 3a  nshm..echo "MRC:
2650: 24 40 3e 20 49 6e 73 74 61 6c 6c 20 75 74 6d 70  $@> Install utmp
2660: 78 2e 22 0a 09 69 6e 73 74 61 6c 6c 20 2d 6d 20  x."..install -m 
2670: 36 34 34 20 2d 67 20 77 68 65 65 6c 20 2f 64 65  644 -g wheel /de
2680: 76 2f 6e 75 6c 6c 20 2f 76 61 72 2f 72 75 6e 2f  v/null /var/run/
2690: 75 74 6d 70 78 0a                                utmpx.