NetBSD/etc/rc
lukem c47a806047 various speed-ups (and related work):
- only load rc.conf if $_rc_conf_loaded is not set
- use case instead of if for various string comparisons
- print the date at the start of the boot as well as at the end
- if $rc_fast_and_loose is set, always run the rc.d scripts in the
  current shell rather than in a subshell. this is not on by default
  because it's potentially dangerous (a rogue command could terminate
  the boot), but it is provided as an optional speedup for people
  with slow machines that have an expensive fork
2001-02-28 16:49:18 +00:00

47 lines
921 B
Bash

#!/bin/sh
#
# $NetBSD: rc,v 1.155 2001/02/28 16:49:18 lukem Exp $
#
# rc --
# Run the scripts in /etc/rc.d with rcorder.
# System startup script run by init(8) on autoboot or after single-user.
# Output and error are redirected to console by init, and the console
# is the controlling terminal.
export HOME=/
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
. /etc/rc.subr
. /etc/rc.conf
_rc_conf_loaded=YES
if ! checkyesno rc_configured; then
echo "/etc/rc.conf is not configured. Multiuser boot aborted."
exit 1
fi
if [ "$1" = autoboot ]; then
autoboot=yes
_rc_fast_run=yes # run_rc_command(): do fast booting
fi
stty status '^T'
# Set shell to ignore SIGINT (2), but not children;
# shell catches SIGQUIT (3) and returns to single user.
#
trap : 2
trap "echo 'Boot interrupted.'; exit 1" 3
files=`rcorder -s nostart /etc/rc.d/*`
date
for _rc_elem in $files; do
run_rc_script $_rc_elem start
done
date
exit 0