rc revision 7390
1167518Skmacy#!/bin/sh
2167518Skmacy#	$Id: rc,v 1.55 1995/03/24 00:16:24 jkh Exp $
3207643Snp#	From: @(#)rc	5.27 (Berkeley) 6/5/91
4167518Skmacy
5167518Skmacy# System startup script run by init on autoboot
6167518Skmacy# or after single-user.
7167518Skmacy# Output and error are redirected to console by init,
8167518Skmacy# and the console is the controlling terminal.
9167518Skmacy
10167518Skmacystty status '^T'
11167518Skmacy
12167518Skmacy# Set shell to ignore SIGINT (2), but not children;
13167518Skmacy# shell catches SIGQUIT (3) and returns to single user after fsck.
14167518Skmacytrap : 2
15167518Skmacytrap : 3	# shouldn't be needed
16167518Skmacy
17167518SkmacyHOME=/; export HOME
18167518SkmacyPATH=/sbin:/bin:/usr/sbin:/usr/bin
19167518Skmacyexport PATH
20167518Skmacy
21167518Skmacyswapon -a
22167518Skmacy
23167518Skmacyif [ $1x = autobootx ]
24167518Skmacythen
25167518Skmacy	echo Automatic reboot in progress...
26167518Skmacy	fsck -p
27167518Skmacy	case $? in
28167518Skmacy	0)
29167518Skmacy		;;
30167518Skmacy	2)
31167518Skmacy		exit 1
32167518Skmacy		;;
33167518Skmacy	4)
34167518Skmacy		reboot
35167518Skmacy		echo "reboot failed... help!"
36167518Skmacy		exit 1
37167518Skmacy		;;
38167518Skmacy	8)
39167518Skmacy		echo "Automatic file system check failed... help!"
40167518Skmacy		exit 1
41167518Skmacy		;;
42167518Skmacy	12)
43167518Skmacy		echo "Reboot interrupted"
44167518Skmacy		exit 1
45167518Skmacy		;;
46167518Skmacy	130)
47167518Skmacy		# interrupt before catcher installed
48167518Skmacy		exit 1
49167518Skmacy		;;
50167518Skmacy	*)
51167518Skmacy		echo "Unknown error in reboot"
52167518Skmacy		exit 1
53167518Skmacy		;;
54167518Skmacy	esac
55167518Skmacyelse
56167518Skmacy	echo Skipping disk checks ...
57182899Skmacyfi
58167518Skmacy
59167518Skmacytrap "echo 'Reboot interrupted'; exit 1" 3
60167518Skmacy
61167518Skmacy# root must be read/write both for NFS diskless and for VFS LKMs before
62167518Skmacy# proceeding any further.
63167518Skmacymount -u -o rw /
64167518Skmacy
65167518Skmacyumount -a >/dev/null 2>&1
66167518Skmacymount -a -t nonfs
67167518Skmacy
68167589Skmacy# If the machine runs wall CMOS clock (compatible with MSDOS),
69167589Skmacy# activate following line by creating empty file /etc/wall_cmos_clock
70167518Skmacy# If this file not exist, following line does nothing (assumed
71167518Skmacy# the machine runs UTC CMOS clock). See adjkerntz(8) for details.
72167518Skmacyadjkerntz -i
73167518Skmacy
74167518Skmacy# If there is a global system configuration file, suck it in.
75167518Skmacyif [ -f /etc/sysconfig ]; then
76167518Skmacy	. /etc/sysconfig
77167518Skmacyfi
78167518Skmacy
79167518Skmacy# configure serial devices
80167518Skmacyif [ -f /etc/rc.serial ]; then
81167518Skmacy	. /etc/rc.serial
82167518Skmacyfi
83182594Skmacy
84167518Skmacy# start up the network
85167518Skmacyif [ -f /etc/netstart ]; then
86167518Skmacy	. /etc/netstart
87167518Skmacyfi
88204267Snp
89204267Snp# Do system maintainance functions.
90167518Skmacyif [ -f /etc/rc.maint ]; then
91167518Skmacy	. /etc/rc.maint
92167518Skmacyfi
93182594Skmacy
94182594Skmacy# Now start up miscellaneous daemons that don't belong anywhere else
95182594Skmacy#
96207643Snpecho -n standard daemons:
97207643Snpecho -n ' cron';		cron
98207643Snpif [ "X${xtend}" != X"NO" -a -x /usr/libexec/xtend ]; then
99189643Sgnn 	echo -n ' xtend';   /usr/libexec/xtend
100189643Sgnnfi
101182594Skmacyecho -n ' printer';             lpd
102182594Skmacyecho '.'
103167518Skmacy
104167518Skmacymount -a -t nfs >/dev/null 2>&1 &	# XXX shouldn't need background
105182594Skmacy
106182594Skmacy# Make shared lib searching a little faster.  Leave /usr/lib first if you
107167518Skmacy# add your own entries or you may come to grief.
108182594Skmacyif [ -x /sbin/ldconfig ]; then
109182594Skmacy	_LDC=/usr/lib
110182594Skmacy	if [ -d /usr/X11R6/lib ]; then _LDC="${_LDC} /usr/X11R6/lib" ; fi
111182594Skmacy	if [ -d /usr/X386/lib ]; then _LDC="${_LDC} /usr/X386/lib" ; fi
112182594Skmacy	if [ -d /usr/local/lib ]; then _LDC="${_LDC} /usr/local/lib" ; fi
113167518Skmacy	if [ -d /usr/gnu/lib ]; then _LDC="${_LDC} /usr/gnu/lib" ; fi
114182594Skmacy	echo 'setting ldconfig path:' ${_LDC}
115182594Skmacy	ldconfig ${_LDC}
116182594Skmacyfi
117182594Skmacy
118167518Skmacy######################### Start Of Syscons Section #######################
119167518Skmacy
120182594Skmacykbdadjust=NO
121167518Skmacy[ "X${keymap}" != X"NO" -o "X${keyrate}" != X"NO" ] && kbdadjust=YES
122167518Skmacyvidadjust=NO
123167518Skmacy[ "X${scrnmap}" != X"NO" -o "X${font8x16}" != X"NO" -o \
124167518Skmacy	"X${font8x14}" != X"NO" -o "X${font8x8}" != X"NO" -o \
125167518Skmacy	"X${blanktime}" != X"NO" ] && vidadjust=YES
126167518Skmacy
127167518Skmacy[ "X${kbdadjust}" != X"NO" -o "X${vidadjust}" != X"NO" -o \
128167518Skmacy	"X${saver}" != X"NO" ] && echo "starting syscons:"
129167518Skmacy
130167518Skmacy[ "X${kbdadjust}" != X"NO" ] && echo "kbdcontrol: "
131167518Skmacy
132167518Skmacy# keymap
133167518Skmacyif [ "X${keymap}" != X"NO" ]; then
134167518Skmacy	echo -n "keymap "
135167518Skmacy	kbdcontrol -l ${keymap}
136167518Skmacyfi
137182594Skmacy
138167518Skmacy# keyrate
139167518Skmacyif [ "X${keyrate}" != X"NO" ]; then
140167518Skmacy	echo -n "keyrate "
141167518Skmacy	kbdcontrol -r ${keyrate}
142167518Skmacyfi
143204267Snp
144204267Snp[ "X${kbdadjust}" != X"NO" ] && echo
145167518Skmacy[ "X${vidadjust}" != X"NO" ] && echo "vidcontrol: "
146167518Skmacy
147167518Skmacy# screen mapping
148167518Skmacyif [ "X${scrnmap}" != X"NO" ]; then
149167518Skmacy	echo -n "screen_map "
150167518Skmacy	vidcontrol -l ${scrnmap}
151167518Skmacyfi
152167518Skmacy
153167518Skmacy# font 8x16
154167518Skmacyif [ "X${font8x16}" != X"NO" ]; then
155167518Skmacy	echo -n "font8x16 "
156167518Skmacy	vidcontrol -f 8x16 ${font8x16}
157167518Skmacyfi
158167518Skmacy
159167518Skmacy# font 8x14
160167518Skmacyif [ "X${font8x14}" != X"NO" ]; then
161167518Skmacy	echo -n "font8x14 "
162167518Skmacy	vidcontrol -f 8x14 ${font8x14}
163167518Skmacyfi
164167518Skmacy
165167518Skmacy# font 8x8
166167518Skmacyif [ "X${font8x8}" != X"NO" ]; then
167167518Skmacy	echo -n "font8x8 "
168167518Skmacy	vidcontrol -f 8x8 ${font8x8}
169167518Skmacyfi
170167518Skmacy
171167518Skmacy# blank time
172167518Skmacyif [ "X${blanktime}" != X"NO" ]; then
173167518Skmacy	echo -n "blank_time "
174167518Skmacy	vidcontrol -t ${blanktime}
175167518Skmacyfi
176167518Skmacy
177167518Skmacy[ "X${vidadjust}" != X"NO" ] && echo
178167518Skmacy
179167518Skmacy# screen saver
180204267Snpif [ "X${saver}" != X"NO" ] ; then
181204267Snp	echo -n "screensaver: "
182167518Skmacy	modstat | grep _saver || modload -u -o /tmp/saver_mod -e \
183167518Skmacy				 saver_init -q /lkm/${saver}_saver_mod.o
184167518Skmacyfi
185204267Snp
186167518Skmacy######################### End Of Syscons Section #######################
187167518Skmacy
188167518Skmacy# Start the SCO binary emulation if requested.
189167518Skmacyif [ "X${ibcs2}" = X"YES" ]; then
190167518Skmacy	ibcs2
191167518Skmacyfi
192167518Skmacy
193204267Snp# Do traditional (but rather obsolete) rc.local file if it exists.
194167518Skmacyif [ -f /etc/rc.local ]; then
195167518Skmacy	sh /etc/rc.local
196167518Skmacyfi
197167518Skmacy
198167518Skmacydate
199167518Skmacyexit 0
200204267Snp