Hex Artifact Content
Logged in as anonymous

Artifact 6667146e8d29f13629d5fed769dd782c1c5e78e7cb1d369e823fdfc074adb221:


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.