c47a806047
- 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
47 lines
921 B
Bash
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
|