Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: netbsd_1_1
Fetching contributors…

Cannot retrieve contributors at this time

file 242 lines (198 sloc) 5.717 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242
# $NetBSD: rc,v 1.54 1995/10/08 18:11:43 thorpej Exp $
# from: @(#)rc 8.2 (Berkeley) 3/17/94

# System startup script run by init on autoboot
# or after single-user.
# Output and error are redirected to console by init,
# and the console is the controlling terminal.

stty status '^T'

# Set shell to ignore SIGINT (2), but not children;
# shell catches SIGQUIT (3) and returns to single user after fsck.
trap : 2
trap : 3 # shouldn't be needed

HOME=/; export HOME
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH

# Configure ccd devices.
if [ -f /etc/ccd.conf ]
then
ccdconfig -C
fi

if [ -e /fastboot ]
then
echo "Fast boot: skipping disk checks."
elif [ $1x = autobootx ]
then
echo "Automatic boot in progress: starting file system checks."
fsck -p
case $? in
0)
;;
2)
exit 1
;;
4)
echo "Rebooting..."
reboot
echo "Reboot failed; help!"
exit 1
;;
8)
echo "Automatic file system check failed; help!"
exit 1
;;
12)
echo "Boot interrupted."
exit 1
;;
130)
# interrupt before catcher installed
exit 1
;;
*)
echo "Unknown error; help!"
exit 1
;;
esac
fi

trap "echo 'Boot interrupted.'; exit 1" 3

swapon -a

umount -a >/dev/null 2>&1
mount -a -t nonfs
rm -f /fastboot # XXX (root now writeable)

# set flags on ttys. (do early, in case they use tty for SLIP in netstart)
echo 'setting tty flags'
ttyflags -a

# set hostname, turn on network
echo 'starting network'
. /etc/netstart

mount /usr >/dev/null 2>&1
mount /var >/dev/null 2>&1

# clean up left-over files
rm -f /etc/nologin
rm -f /var/spool/lock/LCK.*
rm -f /var/spool/uucp/STST/*
(cd /var/run && { rm -rf -- *; install -c -m 664 -g utmp /dev/null utmp; })

echo -n 'starting rpc daemons:'
echo -n ' portmap'; portmap

if [ -f /usr/sbin/ypbind -a -d /var/yp ]; then
echo -n ' ypbind'; ypbind
fi

# $nfs_server is imported from /etc/netstart;
# if $nfs_server == YES, the machine is setup for being an nfs server
if [ X${nfs_server} = X"YES" -a -r /etc/exports ]; then
rm -f /var/db/mountdtab
echo -n > /var/db/mountdtab
echo -n ' mountd'; mountd
echo -n ' nfsd'; nfsd -tun 4
fi

# $nfs_client is imported from /etc/netstart;
# if $nfs_client == YES, the machine is setup for being an nfs client
if [ X${nfs_client} = X"YES" ]; then
echo -n ' nfsiod'; nfsiod -n 4
fi

if [ X${amd} = X"YES" -a -d ${amd_dir} -a -r ${amd_master} ]; then
echo -n ' amd'
amd -l syslog -x error,noinfo,nostats -p \
-a ${amd_dir} `cat ${amd_master}` > /var/run/amd.pid
fi

echo '.'
mount -a -t nfs

echo -n 'starting system logger'
rm -f /dev/log
syslogd

# $timed_flags is imported from /etc/netstart;
# if $timed_flags == NO, timed isn't run.
if [ "X${timed_flags}" != X"NO" ]; then
echo -n ', time daemon'; timed $timed_flags
fi
echo '.'

# /var/crash should be a directory or a symbolic link
# to the crash directory if core dumps are to be saved.
if [ -d /var/crash ]; then
echo checking for core dump...
savecore /var/crash
fi

echo -n 'checking quotas:'
quotacheck -a
echo ' done.'
quotaon -a

# build ps databases
echo 'building databases...'
kvm_mkdb /netbsd
dev_mkdb

chmod 666 /dev/tty[pqrs]*

# check the password temp/lock file
if [ -f /etc/ptmp ]
then
logger -s -p auth.err \
'password file may be incorrect -- /etc/ptmp exists'
fi

virecovery=/var/tmp/vi.recover/recover.*
if [ "$virecovery" != "/var/tmp/vi.recover/recover.*" ]; then
echo preserving editor files
for i in $virecovery; do
sendmail -t < $i
done
fi

echo clearing /tmp

# prune quickly with one rm, then use find to clean up /tmp/[lq]*
# (not needed with mfs /tmp, but doesn't hurt there...)
(cd /tmp && rm -rf [a-km-pr-zA-Z]* &&
    find . ! -name . ! -name lost+found ! -name quota.user \
! -name quota.group -exec rm -rf -- {} \; -type d -prune)

if [ -f /var/account/acct ]; then
echo 'turning on accounting'; accton /var/account/acct
fi

echo -n standard daemons:
echo -n ' update'; update
echo -n ' cron'; cron
echo '.'

echo -n starting network daemons:

# $gated and $routed_flags are imported from /etc/netstart.
# If $gated == YES, gated is used; otherwise routed.
# If $routed_flags == NO, routed isn't run.
if [ X${gated} = X"YES" -a -r /etc/gated.conf ]; then
echo -n ' gated'; gated $gated_flags
elif [ "X${routed_flags}" != X"NO" ]; then
echo -n ' routed'; routed $routed_flags
fi

# $name_flags is imported from /etc/netstart;
# if $named_flags != NO, named is run.
if [ "X${named_flags}" != X"NO" ]; then
echo -n ' named'; named $named_flags
fi

# $rwhod is imported from /etc/netstart;
# if $rwhod == YES, rwhod is run.
if [ X${rwhod} = X"YES" ]; then
echo -n ' rwhod'; rwhod
fi

echo -n ' printer'; lpd

# $sendmail_flags is imported from /etc/netstart;
# If $sendmail_flags == NO or /etc/sendmail.cf doesn't exist, then
# sendmail isn't run.
if [ "X${sendmail_flags}" != X"NO" -a -r /etc/sendmail.cf ]; then
echo -n ' sendmail'; sendmail ${sendmail_flags}
fi

echo -n ' inetd'; inetd

# $rarpd_flags is imported from /etc/netstart;
# If $rarpd_flags == NO or /etc/ethers doesn't exist, then
# rarpd isn't run.
if [ "X${rarpd_flags}" != X"NO" -a -r /etc/ethers ]; then
echo -n ' rarpd'; rarpd ${rarpd_flags}
fi

# $bootparamd_flags is imported from /etc/netstart;
# If $bootparamd_flags == NO or /etc/bootparams doesn't exist, then
# bootparamd isn't run.
if [ "X${bootparamd_flags}" != X"NO" -a -r /etc/bootparams ]; then
echo -n ' rpc.bootparamd'; rpc.bootparamd ${bootparamd_flags}
fi

# $rbootd_flags is imported from /etc/netstart;
# If $rbootd_flags == NO or /etc/rbootd.conf doesn't exist, then
# rbootd isn't run.
if [ "X${rbootd_flags}" != X"NO" -a -r /etc/rbootd.conf ]; then
echo -n ' rbootd'; rbootd ${rbootd_flags}
fi

echo '.'

. /etc/rc.local

date
exit 0
Something went wrong with that request. Please try again.