Annotation of src/etc/rc, Revision 1.1
1.1 ! deraadt 1: # $NetBSD: rc,v 1.54 1995/10/08 18:11:43 thorpej Exp $
! 2: # from: @(#)rc 8.2 (Berkeley) 3/17/94
! 3:
! 4: # System startup script run by init on autoboot
! 5: # or after single-user.
! 6: # Output and error are redirected to console by init,
! 7: # and the console is the controlling terminal.
! 8:
! 9: stty status '^T'
! 10:
! 11: # Set shell to ignore SIGINT (2), but not children;
! 12: # shell catches SIGQUIT (3) and returns to single user after fsck.
! 13: trap : 2
! 14: trap : 3 # shouldn't be needed
! 15:
! 16: HOME=/; export HOME
! 17: PATH=/sbin:/bin:/usr/sbin:/usr/bin
! 18: export PATH
! 19:
! 20: # Configure ccd devices.
! 21: if [ -f /etc/ccd.conf ]
! 22: then
! 23: ccdconfig -C
! 24: fi
! 25:
! 26: if [ -e /fastboot ]
! 27: then
! 28: echo "Fast boot: skipping disk checks."
! 29: elif [ $1x = autobootx ]
! 30: then
! 31: echo "Automatic boot in progress: starting file system checks."
! 32: fsck -p
! 33: case $? in
! 34: 0)
! 35: ;;
! 36: 2)
! 37: exit 1
! 38: ;;
! 39: 4)
! 40: echo "Rebooting..."
! 41: reboot
! 42: echo "Reboot failed; help!"
! 43: exit 1
! 44: ;;
! 45: 8)
! 46: echo "Automatic file system check failed; help!"
! 47: exit 1
! 48: ;;
! 49: 12)
! 50: echo "Boot interrupted."
! 51: exit 1
! 52: ;;
! 53: 130)
! 54: # interrupt before catcher installed
! 55: exit 1
! 56: ;;
! 57: *)
! 58: echo "Unknown error; help!"
! 59: exit 1
! 60: ;;
! 61: esac
! 62: fi
! 63:
! 64: trap "echo 'Boot interrupted.'; exit 1" 3
! 65:
! 66: swapon -a
! 67:
! 68: umount -a >/dev/null 2>&1
! 69: mount -a -t nonfs
! 70: rm -f /fastboot # XXX (root now writeable)
! 71:
! 72: # set flags on ttys. (do early, in case they use tty for SLIP in netstart)
! 73: echo 'setting tty flags'
! 74: ttyflags -a
! 75:
! 76: # set hostname, turn on network
! 77: echo 'starting network'
! 78: . /etc/netstart
! 79:
! 80: mount /usr >/dev/null 2>&1
! 81: mount /var >/dev/null 2>&1
! 82:
! 83: # clean up left-over files
! 84: rm -f /etc/nologin
! 85: rm -f /var/spool/lock/LCK.*
! 86: rm -f /var/spool/uucp/STST/*
! 87: (cd /var/run && { rm -rf -- *; install -c -m 664 -g utmp /dev/null utmp; })
! 88:
! 89: echo -n 'starting rpc daemons:'
! 90: echo -n ' portmap'; portmap
! 91:
! 92: if [ -f /usr/sbin/ypbind -a -d /var/yp ]; then
! 93: echo -n ' ypbind'; ypbind
! 94: fi
! 95:
! 96: # $nfs_server is imported from /etc/netstart;
! 97: # if $nfs_server == YES, the machine is setup for being an nfs server
! 98: if [ X${nfs_server} = X"YES" -a -r /etc/exports ]; then
! 99: rm -f /var/db/mountdtab
! 100: echo -n > /var/db/mountdtab
! 101: echo -n ' mountd'; mountd
! 102: echo -n ' nfsd'; nfsd -tun 4
! 103: fi
! 104:
! 105: # $nfs_client is imported from /etc/netstart;
! 106: # if $nfs_client == YES, the machine is setup for being an nfs client
! 107: if [ X${nfs_client} = X"YES" ]; then
! 108: echo -n ' nfsiod'; nfsiod -n 4
! 109: fi
! 110:
! 111: if [ X${amd} = X"YES" -a -d ${amd_dir} -a -r ${amd_master} ]; then
! 112: echo -n ' amd'
! 113: amd -l syslog -x error,noinfo,nostats -p \
! 114: -a ${amd_dir} `cat ${amd_master}` > /var/run/amd.pid
! 115: fi
! 116:
! 117: echo '.'
! 118: mount -a -t nfs
! 119:
! 120: echo -n 'starting system logger'
! 121: rm -f /dev/log
! 122: syslogd
! 123:
! 124: # $timed_flags is imported from /etc/netstart;
! 125: # if $timed_flags == NO, timed isn't run.
! 126: if [ "X${timed_flags}" != X"NO" ]; then
! 127: echo -n ', time daemon'; timed $timed_flags
! 128: fi
! 129: echo '.'
! 130:
! 131: # /var/crash should be a directory or a symbolic link
! 132: # to the crash directory if core dumps are to be saved.
! 133: if [ -d /var/crash ]; then
! 134: echo checking for core dump...
! 135: savecore /var/crash
! 136: fi
! 137:
! 138: echo -n 'checking quotas:'
! 139: quotacheck -a
! 140: echo ' done.'
! 141: quotaon -a
! 142:
! 143: # build ps databases
! 144: echo 'building databases...'
! 145: kvm_mkdb /netbsd
! 146: dev_mkdb
! 147:
! 148: chmod 666 /dev/tty[pqrs]*
! 149:
! 150: # check the password temp/lock file
! 151: if [ -f /etc/ptmp ]
! 152: then
! 153: logger -s -p auth.err \
! 154: 'password file may be incorrect -- /etc/ptmp exists'
! 155: fi
! 156:
! 157: virecovery=/var/tmp/vi.recover/recover.*
! 158: if [ "$virecovery" != "/var/tmp/vi.recover/recover.*" ]; then
! 159: echo preserving editor files
! 160: for i in $virecovery; do
! 161: sendmail -t < $i
! 162: done
! 163: fi
! 164:
! 165: echo clearing /tmp
! 166:
! 167: # prune quickly with one rm, then use find to clean up /tmp/[lq]*
! 168: # (not needed with mfs /tmp, but doesn't hurt there...)
! 169: (cd /tmp && rm -rf [a-km-pr-zA-Z]* &&
! 170: find . ! -name . ! -name lost+found ! -name quota.user \
! 171: ! -name quota.group -exec rm -rf -- {} \; -type d -prune)
! 172:
! 173: if [ -f /var/account/acct ]; then
! 174: echo 'turning on accounting'; accton /var/account/acct
! 175: fi
! 176:
! 177: echo -n standard daemons:
! 178: echo -n ' update'; update
! 179: echo -n ' cron'; cron
! 180: echo '.'
! 181:
! 182: echo -n starting network daemons:
! 183:
! 184: # $gated and $routed_flags are imported from /etc/netstart.
! 185: # If $gated == YES, gated is used; otherwise routed.
! 186: # If $routed_flags == NO, routed isn't run.
! 187: if [ X${gated} = X"YES" -a -r /etc/gated.conf ]; then
! 188: echo -n ' gated'; gated $gated_flags
! 189: elif [ "X${routed_flags}" != X"NO" ]; then
! 190: echo -n ' routed'; routed $routed_flags
! 191: fi
! 192:
! 193: # $name_flags is imported from /etc/netstart;
! 194: # if $named_flags != NO, named is run.
! 195: if [ "X${named_flags}" != X"NO" ]; then
! 196: echo -n ' named'; named $named_flags
! 197: fi
! 198:
! 199: # $rwhod is imported from /etc/netstart;
! 200: # if $rwhod == YES, rwhod is run.
! 201: if [ X${rwhod} = X"YES" ]; then
! 202: echo -n ' rwhod'; rwhod
! 203: fi
! 204:
! 205: echo -n ' printer'; lpd
! 206:
! 207: # $sendmail_flags is imported from /etc/netstart;
! 208: # If $sendmail_flags == NO or /etc/sendmail.cf doesn't exist, then
! 209: # sendmail isn't run.
! 210: if [ "X${sendmail_flags}" != X"NO" -a -r /etc/sendmail.cf ]; then
! 211: echo -n ' sendmail'; sendmail ${sendmail_flags}
! 212: fi
! 213:
! 214: echo -n ' inetd'; inetd
! 215:
! 216: # $rarpd_flags is imported from /etc/netstart;
! 217: # If $rarpd_flags == NO or /etc/ethers doesn't exist, then
! 218: # rarpd isn't run.
! 219: if [ "X${rarpd_flags}" != X"NO" -a -r /etc/ethers ]; then
! 220: echo -n ' rarpd'; rarpd ${rarpd_flags}
! 221: fi
! 222:
! 223: # $bootparamd_flags is imported from /etc/netstart;
! 224: # If $bootparamd_flags == NO or /etc/bootparams doesn't exist, then
! 225: # bootparamd isn't run.
! 226: if [ "X${bootparamd_flags}" != X"NO" -a -r /etc/bootparams ]; then
! 227: echo -n ' rpc.bootparamd'; rpc.bootparamd ${bootparamd_flags}
! 228: fi
! 229:
! 230: # $rbootd_flags is imported from /etc/netstart;
! 231: # If $rbootd_flags == NO or /etc/rbootd.conf doesn't exist, then
! 232: # rbootd isn't run.
! 233: if [ "X${rbootd_flags}" != X"NO" -a -r /etc/rbootd.conf ]; then
! 234: echo -n ' rbootd'; rbootd ${rbootd_flags}
! 235: fi
! 236:
! 237: echo '.'
! 238:
! 239: . /etc/rc.local
! 240:
! 241: date
! 242: exit 0