Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Apr 1997 12:09:10 -0700
From:      "Jordan K. Hubbard" <jkh@time.cdrom.com>
To:        Curt Sampson <cjs@portal.ca>
Cc:        Michael Smith <msmith@atrad.adelaide.edu.au>, hackers@freebsd.org
Subject:   Re: /etc/netstart bogons.. 
Message-ID:  <387.861908950@time.cdrom.com>
In-Reply-To: Your message of "Thu, 24 Apr 1997 11:54:15 PDT." <Pine.NEB.3.96.970424114719.5109I-100000@cynic.portal.ca> 

next in thread | previous in thread | raw e-mail | index | archive | help
OK, I haven't done anything with DEFAULT so far but here's the
rest of my changes relative to FreeBSD.

There are two files added (rc.conf and rc.network) and two files
deleted (sysconfig and netstart), so it's probably easiest for folks
to move the two deleted files out the way and unpack the attached shar
file into their /usr/src/etc directories, applying the patches as well
and then installing the relevant bits into /etc.  You should then
customize the new rc.conf file to taste using the old sysconfig file
as a guide.

If this meets with general approval, I then (boy scout's honor)
promise to also write (and commit with the rest of the stuff) an
rc.conf(8) man page which contains the much longer and more detailed
information that sysconfig used to but which also made sysconfig
unreadable and that much more difficult to customize.

Everything is also relative to 2.2.1 here since that's what I test
with.  I'd like it to go into -current, naturally, but I first have to
check and see if any new knobs have been added there recently.

Thanks!  FreeBSD folk - please do test this!  Thanks also to the
NetBSD folk for bringing their rc.conf stuff to my attention.  It was
definitely a kick in the right direction (and this represents just my
first draft, we can add more of their features like DEFAULT and such
as we evolve this).

					Jordan

First, the two new files in shar format:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	rc.conf
#	rc.network
#
echo x - rc.conf
sed 's/^X//' >rc.conf << 'END-of-rc.conf'
X#!/bin/sh
X#
X
X# This is rc.conf - a file full of useful variables that you can set 
X# to change the default startup behavior of your system.
X#
X#	$Id$
X
X##############################################################
X### Important initial Boot-time options  #####################
X##############################################################
X
Xswapfile=NO		# Set to name of swapfile if aux swapfile desired.
Xapm_enable=NO		# Set to YES if you want APM enabled.
Xpccard_enable=NO	# Set to YES if you want to configure PCCARD devices.
Xpccard_mem=DEFAULT	# If pccard_enable=YES, this is card memory address.
Xpccard_ifconfig=NO	# Specialized pccard ethernet configuration (or NO).
Xlocal_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d"	# startup script dirs.
X
X
X##############################################################
X###  Network configuration sub-section  ######################
X##############################################################
X
X### Basic network options: ###
Xhostname=myname.my.domain	# Set this!
Xnisdomainname=NO		# Set to NIS domain if using NIS (or NO).
Xfirewall=NO			# Set to firewall type or NO for none.
Xtcp_extentions=YES		# Allow RFC1323 & RFC1544 extentions (or NO).
Xnetwork_interfaces="lo0"	# List of network interfaces (lo0 is loopback).
Xifconfig_lo0="inet 127.0.0.1"	# default loopback device configuration.
X
X### Network daemon (miscellaneous) & NFS options: ###
Xsyslogd_enable=YES		# Run syslog daemon (or NO).
Xsyslogd_flags=""		# Flags to syslogd (if enabled).
Xnamed_enable=NO			# Run named, the DNS server (or NO).
Xnamed_flags=""			# Flags to named (if enabled).
Xkerberos_server_enable=NO	# Run a kerberos master server (or NO).
Xrwhod_enable=NO			# Run the rwho daemon (or NO).
Xamd_enable=NO			# Run amd service with $amd_flags (or NO).
Xamd_flags="-a /net -c 1800 -k i386 -d my.domain -l syslog /host /etc/amd.map"
Xnfs_client_enable=NO		# This host is an NFS client (or NO).
Xnfs_server_enable=NO		# This host is an NFS server (or NO).
Xweak_mountd_authentication=NO	# Running PCNFSD / other non-root nfsd (or NO).
Xnfs_reserved_port_only=NO	# Provide NFS only on secure port (or NO).
Xrpc_lockd_enable=NO		# Run NFS rpc.lockd (*broken!*) if nfs_server.
Xrpc_statd_enable=YES		# Run NFS rpc.statd if nfs_server (or NO).
Xportmap_enable=YES		# Run the portmapper service (or NO).
Xportmap_flags=""		# Flags to portmap (if enabled).
Xxtend_enable=NO			# Run the X-10 power controller daemon.
Xxtend_flags=""			# Flags to xtend (if enabled).
X
X### Network Time Services options: ###
Xtimed_enabled=NO		# Run the time daemon (or NO).
Xtimed_flags=""			# Flags to timed (if enabled).
Xntpdate_enable=NO		# Run the ntpdate to sync time (or NO).
Xntpdate_flags=""		# Flags to ntpdate (if enabled).
Xxntpd_enable=NO			# Run xntpd Network Time Protocol (or NO).
Xxntpd_flags=""			# Flags to xntpd (if enabled).
Xtickadj_enable=YES		# If xntp is enabled, also run tickadj.
Xtickadj_flags="-Aq"		# Flags to tickadj (if enabled).
X
X# Network Information Services (NIS) options: ###
Xnis_client_enable=NO		# We're an NIS client (or NO)
Xnis_client_flags=""		# Flags to ypbind (if enabled).
Xnis_ypset_enable=NO		# Run ypset at boot time (or NO).
Xnis_ypset_flags=""		# Flags to ypset (if enabled).
Xnis_server_enable=NO		# We're an NIS server (or NO)
Xnis_server_flags=""		# Flags to ypserv (if enabled).
Xnis_ypxfrd_enable=NO		# Run rpc.ypxfrd at boot time (or NO).
Xnis_ypxfrd_flags=""		# Flags to rpc.ypxfrd (if enabled).
Xnis_yppasswd_enable=NO		# Run rpc.yppasswd at boot time (or NO).
Xnis_yppasswd_flags=""		# Flags to rpc.yppasswd (if enabled).
X
X### Network routing options: ###
Xdefaultrouter=NO		# Set to default gateway (or NO).
Xstatic_routes=""		# Set to static route list (or leave empty).
Xgateway_enable=NO		# Set to YES if this host will be a gateway.
Xrouter_enable=YES		# Set to YES to enable a routing daemon.
Xrouter=routed			# Name of routing daemon to use if enabled.
Xrouter_flags=-q			# Flags for routing daemon.
Xmrouted_enable=NO		# Do multicast routing (see /etc/mrouted.conf)
Xipxgateway_enable=NO		# Set to YES to enable IPX routing.
Xipxrouted_enable=NO		# Set to YES to run the IPX routing daemon.
Xipxrouted_flags=""		# Flags for IPX routing daemon.
X
X
X##############################################################
X###  System console options  #################################
X##############################################################
X
Xkeymap=NO		# keymap in /usr/share/syscons/keymaps/* (or NO).
Xkeyrate=NO		# Keyboard rate to: slow, normal, fast (or NO).
Xkeychange=NO		# function keys default values (or NO).
Xcursor=NO		# cursor type {normal|blink|destructive} (or NO).
Xscrnmap=NO		# screen map in /usr/share/syscons/scrnmaps/* (or NO).
Xfont8x16=NO		# font 8x16 from /usr/share/syscons/fonts/* (or NO).
Xfont8x14=NO		# font 8x14 from /usr/share/syscons/fonts/* (or NO).
Xfont8x8=NO		# font 8x8 from /usr/share/syscons/fonts/* (or NO).
Xblanktime=NO		# blank time (in seconds) or "NO" to turn it off.
Xsaver=NO		# screen saver desired: blank/green/snake/star/NO.
Xmousedtype=NO		# See man page for rc.conf(8) for available settings.
Xmousedport=/dev/cuaa0	# Set to your mouse port (required if mousetype set)
Xmousedflags=""		# Any additional flags to moused.
X
X
X##############################################################
X###  Miscellaneous administrative options  ###################
X##############################################################
X
Xlpd=YES			# Run the line printer daemon
Xsendmail_enable=YES	# Run the sendmail daemon (or NO).
Xsendmail_flags="-bd -q30m" # -bd is pretty mandatory
Xsavecore_enable=NO	# Save kernel crashdumps for debugging (or NO).
Xdumpdev=NO		# Device name to crashdump to (if enabled).
Xcheck_quotas=NO		# Check quotas (or NO).
Xaccounting=NO		# Turn on process accounting (or NO).
Xibcs2_enable=NO		# Ibcs2 (SCO) emulation loaded at startup (or NO).
Xlinux_aout_enable=NO	# Linux a.out emulation loaded at startup (or NO).
Xrand_irqs="NO"		# Stir the entropy pool (or NO).
END-of-rc.conf
echo x - rc.network
sed 's/^X//' >rc.network << 'END-of-rc.network'
X#!/bin/sh -
X#
X#	$Id$
X#	From: @(#)netstart	5.9 (Berkeley) 3/30/91
X
X# Note that almost all the user-configurable behavior is no longer in
X# this file, but rather in /etc/rc.conf.  Please check that file
X# first before contemplating any changes here.  If you do need to change
X# this file for some reason, we would like to know about it.
X
X# First pass startup stuff.
X
Xnetwork_pass1() {
X    echo -n 'Doing initial network setup:'
X    # Set the host name if it is not already set
X    if [ -z "`hostname -s`" ] ; then
X	    hostname $hostname
X	    echo -n ' hostname'
X    fi
X
X    # Set the domainname if we're using NIS
X    if [ -n "$nisdomainname" -a "x$nisdomainname" != "xNO" ] ; then
X	    domainname $nisdomainname
X	    echo -n ' domain'
X    fi
X
X    # If IP filtering
X    if [ -n "$firewall" -a "x$firewall" != "xNO" -a -f /etc/rc.firewall ] ; then
X	    echo -n ' firewall'
X	    sh /etc/rc.firewall
X    fi
X    echo '.'
X
X    # Set up all the network interfaces, calling startup scripts if needed
X    for ifn in ${network_interfaces}; do
X	    if [ -e /etc/start_if.${ifn} ]; then
X		    . /etc/start_if.${ifn} ${ifn}
X	    fi
X	    # Do the primary ifconfig if specified
X	    eval ifconfig_args=\$ifconfig_${ifn}
X	    if [ -n "${ifconfig_args}" ] ; then
X		    ifconfig ${ifn} ${ifconfig_args}
X	    fi
X	    # Check to see if aliases need to be added
X	    alias=0
X	    while :
X	    do
X		    eval ifconfig_args=\$ifconfig_${ifn}_alias${alias}
X		    if [ -n "${ifconfig_args}" ]; then
X			    ifconfig ${ifn} ${ifconfig_args} alias
X			    alias=`expr ${alias} + 1`
X		    else
X			    break;
X		    fi
X	    done
X	    # Do ipx address if specified
X	    eval ifconfig_args=\$ifconfig_${ifn}_ipx
X	    if [ -n "${ifconfig_args}" ]; then
X		    ifconfig ${ifn} ${ifconfig_args}
X	    fi
X	    ifconfig ${ifn}
X    done
X    
X    if [ "x$defaultrouter" != "xNO" ] ; then
X	    static_routes="default ${static_routes}"
X	    route_default="default ${defaultrouter}"
X    fi
X    
X    # Set up any static routes.  This should be done before router discovery.
X    if [ "x${static_routes}" != "x" ]; then
X	    for i in ${static_routes}; do
X		    eval route_args=\$route_${i}
X		    route add ${route_args}
X	    done
X    fi
X
X    echo -n 'Additional routing options:'
X    if [ "X$gateway_enable" = X"YES" ]; then
X	    echo -n ' IP gateway=1'
X	    sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1
X    fi
X    
X    if [ "X$router_enable" = X"YES" ]; then
X	    echo -n " ${router}";	${router} ${router_flags}
X    fi
X    
X    if [ "X$ipxgateway_enable" = X"YES" ]; then
X	    echo -n ' IPX gateway=1'
X	    sysctl -w net.ipx.ipx.ipxforwarding=1 >/dev/null 2>&1
X    fi
X    
X    if [ "X$ipxrouted_enable" = X"YES" ]; then
X	    echo -n ' IPXrouted: '
X	    IPXrouted ${ipxrouted_flags} > /dev/null 2>&1
X    fi
X    echo '.'
X    network_pass1_done=YES	# Let future generations know we made it.
X}
X
Xnetwork_pass2() {
X    echo -n 'Doing additional network setup:'
X    if [ -n "$tcp_extensions" -a "x$tcp_extensions" != "xYES" ] ; then
X	    echon -n ' tcp extentions=0'
X	    sysctl -w net.inet.tcp.rfc1323=0 >/dev/null 2>&1
X	    sysctl -w net.inet.tcp.rfc1644=0 >/dev/null 2>&1
X    fi
X    if [ "X${named_enable}" = X"YES" ]; then
X	    echo -n ' named';		named ${named_flags}
X    fi
X
X    if [ "X${ntpdate_enable}" = X"YES" -o "X${xntpd_enable}" = X"YES" ]; then
X	    if [ "X${tickadj_enable}" = X"YES" ]; then
X		    echo -n ' tickadj';	tickadj ${tickadj_flags--Aq}
X	    fi
X
X	    if [ "X${ntpdate_enable}" = X"YES" ]; then
X		    echo -n ' ntpdate';	ntpdate ${ntpdate_flags} >/dev/null 2>&1
X	    fi
X
X	    if [ "X${xntpd_enable}" = X"YES" ]; then
X		    echo -n ' xntpd';	xntpd ${xntpd_flags}
X	    fi
X    fi
X
X    if [ "X${timed_enable}" = X"YES" ]; then
X	    echo -n ' timed';		timed ${timed_flags}
X    fi
X
X    if [ "X${portmap_enable}" = X"YES" ]; then
X	    echo -n ' portmap';		portmap ${portmap_flags}
X    fi
X
X    # Start ypserv if we're an NIS server.
X    # Run rpc.ypxfrd and rpc.yppasswdd only on the NIS master server.
X    if [ "X${nis_server_enable}" = X"YES" ]; then
X	    echo -n ' ypserv'; ypserv ${nis_server_flags}
X	    
X	    if [ "X${nis_ypxfrd_enable}" = X"YES" ]; then
X		    echo -n ' rpc.ypxfrd'; rpc.ypxfrd ${nis_ypxfrd_flags}
X	    fi
X	    
X	    if [ "X${nis_yppasswdd_enable}" = X"YES" ]; then
X		    echo -n ' rpc.yppasswdd'; rpc.yppasswdd ${nis_yppasswdd_flags}
X	    fi
X    fi
X
X    # Start ypbind if we're an NIS client
X    if [ "X${nis_client_enable}" = X"YES" ]; then
X	    echo -n ' ypbind'; ypbind ${nis_client_flags}
X	    if [ "X${nis_ypset_enable}" = X"YES" ]; then
X		    echo -n ' ypset'; ypset ${nis_ypset_flags}
X	    fi
X    fi
X
X    echo '.'
X    network_pass2_done=YES
X}
X
Xnetwork_pass3() {
X    echo -n 'Starting final network daemons:'
X
X    if [ "X${nfs_server_enable}" = X"YES" -a -r /etc/exports ]; then
X	    echo -n ' mountd'
X	    if [ "X${weak_mountd_authentication}" = X"YES" ]; then
X		    mountd_flags="-n"
X	    fi
X	    mountd ${mountd_flags}
X	    if [ "X${nfs_reserved_port_only}" = X"YES" ]; then
X		    echo -n ' nfsprivport=1'
X		    sysctl -w vfs.nfs.nfs_privport=1 >/dev/null 2>&1
X	    fi
X	    echo -n ' nfsd';		nfsd -u -t 4
X	    if [ "X$rpc_lockd_enable" = X"YES" ]; then
X		echo -n ' rpc.lockd';		rpc.lockd
X	    fi
X	    if [ "X$rpc_statd_enable" = X"YES" ]; then
X		echo -n ' rpc.statd';		rpc.statd
X	    fi
X    fi
X    
X    if [ "X${nfs_client_enable}" = X"YES" ]; then
X	    echo -n ' nfsiod';		nfsiod -n 4
X    fi
X
X    if [ "X${amd_enable}" = X"YES" ]; then
X	    echo -n ' amd'
X	    amd -p ${amd_flags} > /var/run/amd.pid 2> /dev/null
X    fi
X
X    if [ "X${rwhod_enable}" = X"YES" ]; then
X	    echo -n ' rwhod';	rwhod
X    fi
X
X    # Kerberos runs ONLY on the Kerberos server machine
X    if [ "X${kerberos_server_enable}" = X"YES" ]; then
X	    echo -n ' kerberos';	kerberos >> /var/log/kerberos.log &
X	    echo -n ' kadmind'; \
X		    (sleep 20; kadmind -n >/dev/null 2>&1 &) &
X    fi
X    
X    # IP multicast routing daemon
X    if [ "X${mrouted_enable}" = X"YES" ]; then
X	    echo -n ' mrouted'; mrouted ${mrouted_flags}
X    fi
X    echo '.'
X    network_pass3_done=YES
X}
END-of-rc.network
exit

And the patches to the rest of the files in /usr/src/etc:

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/etc/Makefile,v
retrieving revision 1.143.2.2
diff -u -r1.143.2.2 Makefile
--- Makefile	1996/12/14 11:35:56	1.143.2.2
+++ Makefile	1997/04/24 07:51:01
@@ -6,11 +6,11 @@
 BINGRP= wheel
 BIN1=   aliases amd.map csh.cshrc csh.login csh.logout dm.conf \
 	ftpusers gettytab group hosts host.conf hosts.equiv hosts.lpd \
-	inetd.conf login.access motd modems netstart networks \
+	inetd.conf login.access motd modems networks \
 	newsyslog.conf phones pccard.conf.sample printcap profile protocols \
-	rc rc.firewall rc.local rc.pccard rc.serial \
+	rc rc.conf rc.firewall rc.local rc.network rc.pccard rc.serial \
 	etc.${MACHINE}/rc.${MACHINE} \
-	remote security services sysconfig shells \
+	remote security services shells \
 	syslog.conf ttys etc.${MACHINE}/disktab rpc make.conf \
 	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
 	${.CURDIR}/../usr.bin/mail/misc/mail.rc \
Index: rc
===================================================================
RCS file: /home/ncvs/src/etc/rc,v
retrieving revision 1.104.2.7
diff -u -r1.104.2.7 rc
--- rc	1997/04/09 20:30:58	1.104.2.7
+++ rc	1997/04/24 18:34:04
@@ -8,7 +8,7 @@
 # and the console is the controlling terminal.
 
 # Note that almost all the user-configurable behavior is no longer in
-# this file, but rather in /etc/sysconfig.  Please check this file
+# this file, but rather in /etc/rc.conf.  Please check this file
 # first before contemplating any changes here.
 
 stty status '^T'
@@ -23,15 +23,13 @@
 export PATH
 
 # Configure ccd devices.
-if [ -f /etc/ccd.conf ]
-then
+if [ -f /etc/ccd.conf ]; then
 	ccdconfig -C
 fi
 
 swapon -a
 
-if [ $1x = autobootx ]
-then
+if [ $1x = autobootx ]; then
 	echo Automatic reboot in progress...
 	fsck -p
 	case $? in
@@ -84,20 +82,27 @@
 	exit 1
 fi
 
+# If there is a global system configuration file, suck it in.
+if [ -f /etc/rc.conf ]; then
+    . /etc/rc.conf
+fi
+
+# If old file exists, whine until they fix it.
+if [ -f /etc/sysconfig ]; then
+	echo "Warning: /etc/sysconfig has been replaced by /etc/rc.conf."
+	echo "You should switch to /etc/rc.conf ASAP to eliminate this warning."
+fi
+
 adjkerntz -i
 
 # Keep a copy of the boot messages around
-/sbin/dmesg > /var/run/dmesg.boot
+dmesg > /var/run/dmesg.boot
 
-# If there is a global system configuration file, suck it in.
-if [ -f /etc/sysconfig ]; then
-	. /etc/sysconfig
-fi
 
 # Add additional swapfile, if configured.
 if [ "x$swapfile" != "xNO" -a -w "$swapfile" -a -b /dev/vn0b ]; then
 	echo "Adding $swapfile as additional swap."
-	/usr/sbin/vnconfig /dev/vn0b $swapfile && swapon /dev/vn0b
+	vnconfig /dev/vn0b $swapfile && swapon /dev/vn0b
 fi
 
 # configure serial devices
@@ -110,9 +115,10 @@
 	. /etc/rc.pccard
 fi
 
-# start up the network
-if [ -f /etc/netstart ]; then
-	sh /etc/netstart
+# start up the initial network configuration.
+if [ -f /etc/rc.network ]; then
+	. /etc/rc.network	# We only need to do this once.
+	network_pass1
 fi
 
 mount -a -t nfs >/dev/null 2>&1
@@ -126,54 +132,26 @@
 rm -rf /var/spool/uucp/.Temp/*
 (cd /var/run && { cp /dev/null utmp; chmod 644 utmp; })
 
-#
-# Clearing /tmp at boot-time is essentially stupid, but seems to have
-# a long tradition.  It doesn't help in any way for long-living systems,
-# and it might accidentally clobber files you would rather like to have
-# preserved after a crash (if not using mfs /tmp anyway).
-#
-# See also the commented out example of another cleanup policy in
-# /etc/daily.
-#
-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 -d . ! -name . ! -name lost+found ! -name quotas -exec rm -rf -- {} \;)
-
-# The above is even more stupid since it prevents you from restarting
-# X11 after a system crash.  If you disable the above, make sure to
-# uncomment the line below.
-#
-# clean up leftover X lock files and local connection sockets
-#rm -f /tmp/.X*-lock /tmp/.X11-unix/*
-
-
 # enable dumpdev so that savecore can see it
-if [ "X${dumpdev}" != X"NO" ]; then
+if [ "X${dumpdev}" != X"NO" -a -e ${dumpdev} ]; then
 	dumpon ${dumpdev}
 fi
 
 # /var/crash should be a directory or a symbolic link
 # to the crash directory if core dumps are to be saved.
-if [ "X${savecore}" = X"YES" -a -d /var/crash ]; then
+if [ "X${savecore_enable}" = X"YES" -a -d /var/crash ]; then
 	echo -n checking for core dump...
 	savecore /var/crash
 fi
 
 # snapshot any kernel -c changes back to disk
 echo 'recording kernel -c changes'
-/sbin/dset -q
+dset -q
 
 # start system logging and name service (named needs to start before syslogd
 # if you don't have a /etc/resolv.conf)
 #
-echo -n starting system daemons:
-
-# If syslogdflags == NO, syslog isn't run
-if [ "X${syslogdflags}" != X"NO" ] ; then
-
+if [ "X${syslogd_enable}" = X"YES" ]; then
 	# Transitional symlink (for the next couple of years :) until all
 	# binaries had a chance to move towards /var/run/log.
 	if [ ! -h /dev/log ] ; then
@@ -182,69 +160,13 @@
 	fi
 
 	rm -f /var/run/log
-	echo ' syslogd.';		syslogd ${syslogdflags}
-fi
-
-echo -n starting early network daemons:
-
-# $namedflags is imported from /etc/sysconfig
-if [ "X${namedflags}" != X"NO" ]; then
-	echo -n ' named';		named $namedflags
-fi
-
-# $ntpdate and $xntpdflags are imported from /etc/sysconfig.
-# If $ntpdate != NO, run ntpdate $ntpdate to set the date correctly.
-# If $xntpdflags != NO, start xntpd.
-if [ "X${ntpdate}" != X"NO" -o "X${xntpdflags}" != X"NO" ]; then
-	if [ "X${tickadjflags}" != X"NO" ]; then
-		echo -n ' tickadj';	tickadj ${tickadjflags--Aq}
-	fi
-
-	if [ "X${ntpdate}" != X"NO" ]; then
-		echo -n ' ntpdate';	ntpdate ${ntpdate} >/dev/null 2>&1
-	fi
-
-	if [ "X${xntpdflags}" != X"NO" ]; then
-		echo -n ' xntpd';	xntpd ${xntpdflags}
-	fi
-fi
-
-# $timedflags is imported from /etc/sysconfig;
-# if $timedflags == NO, timed isn't run.
-if [ "X${timedflags}" != X"NO" ]; then
-	echo -n ' timed';		timed ${timedflags}
-fi
-
-# Portmapper should always be run, to provide RPC services for inetd.
-# if $portmapflags == NO, portmap isn't run.
-if [ -x /usr/sbin/portmap -a "X${portmapflags}" != X"NO" ]; then
-	echo -n ' portmap';		portmap ${portmapflags}
-fi
-
-# Start ypserv if we're an NIS server.
-# Run rpc.ypxfrd and rpc.yppasswdd only on the NIS master server.
-if [ "X${nis_serverflags}" != X"NO" ]; then
-	echo -n ' ypserv'; ypserv ${nis_serverflags}
-
-	if [ "X${ypxfrdflags}" != X"NO" ]; then
-		echo -n ' rpc.ypxfrd'; rpc.ypxfrd ${ypxfrdflags}
-	fi
-
-	if [ "X${yppasswddflags}" != X"NO" ]; then
-		echo -n ' rpc.yppasswdd'; rpc.yppasswdd ${yppasswddflags}
-	fi
+	echo 'Starting syslogd.';		syslogd ${syslogd_flags}
 fi
 
-# Start ypbind if we're an NIS client
-if [ "X${nis_clientflags}" != X"NO" ]; then
-	echo -n ' ypbind'; ypbind ${nis_clientflags}
-	if [ "X${nis_ypsetflags}" != X"NO" ]; then
-		echo -n ' ypset'; ypset ${nis_ypsetflags}
-	fi
+if [ -n "$network_pass1_done" ]; then
+    network_pass2
 fi
 
-echo '.'
-
 # Check the quotas (must be after ypbind if using NIS)
 if [ "X${check_quotas}" = X"YES" ]; then
 	echo -n 'checking quotas:'
@@ -253,53 +175,10 @@
 	quotaon -a
 fi
 
-echo -n starting other network daemons:
-
-if [ "X${nfs_server}" = X"YES" -a -r /etc/exports ]; then
-	echo -n ' mountd'
-	if [ "X${weak_mountd_authentication}" = X"YES" ]; then
-		mountd -n
-	else
-		mountd
-	fi
-	if [ "X${nfs_reserved_port_only}" = X"YES" ]; then
-		sysctl -w vfs.nfs.nfs_privport=1
-	fi
-	echo -n ' nfsd';		nfsd -u -t 4
-# Warning: rpc.lockd is broken.
-# Only uncomment this line if the consequences are fully understood.
-#	echo -n ' rpc.lockd';		rpc.lockd
-	echo -n ' rpc.statd';		rpc.statd
-fi
-
-if [ "X${nfs_client}" = X"YES" ]; then
-	echo -n ' nfsiod';		nfsiod -n 4
-fi
-
-if [ "X${amdflags}" != X"NO" ]; then
-	echo -n ' amd'
-	amd -p ${amdflags} > /var/run/amd.pid
+if [ -n "$network_pass2_done" ]; then
+    network_pass3
 fi
 
-# $rwhod is imported from /etc/sysconfig;
-# if $rwhod is set to YES, rwhod is run.
-if [ "X${rwhod}" = X"YES" ]; then
-	echo -n ' rwhod';	rwhod
-fi
-
-# Kerberos runs ONLY on the Kerberos server machine
-if [ "X${kerberos_server}" = X"YES" ]; then
-	echo -n ' kerberos';	kerberos >> /var/log/kerberos.log &
-	echo -n ' kadmind'; \
-		(sleep 20; kadmind -n >/dev/null 2>&1 &) &
-fi
-
-# IP multicast routing daemon
-if [ "X${mrouted}" != X"NO" -a -x /usr/sbin/mrouted ]; then
-	echo -n ' mrouted'; mrouted ${mrouted}
-fi
-
-echo '.'
 
 # build ps databases
 kvm_mkdb 
@@ -312,7 +191,7 @@
 	"password file may be incorrect -- /etc/ptmp exists"
 fi
 
-if [ "X${accounting}" = X"YES" -a -d /var/account ]; then
+if [ "X${accounting_enable}" = X"YES" -a -d /var/account ]; then
 	echo 'turning on accounting'
 	if [ ! -e /var/account/acct ]; then
 		touch /var/account/acct
@@ -322,15 +201,12 @@
 
 # Make shared lib searching a little faster.  Leave /usr/lib first if you
 # add your own entries or you may come to grief.
-if [ -x /sbin/ldconfig ]; then
-	_LDC=/usr/lib
-	if [ -d /usr/lib/compat ]; then _LDC="${_LDC} /usr/lib/compat" ; fi
-	if [ -d /usr/X11R6/lib ]; then _LDC="${_LDC} /usr/X11R6/lib" ; fi
-	if [ -d /usr/X386/lib ]; then _LDC="${_LDC} /usr/X386/lib" ; fi
-	if [ -d /usr/local/lib ]; then _LDC="${_LDC} /usr/local/lib" ; fi
-	echo 'setting ldconfig path:' ${_LDC}
-	ldconfig ${_LDC}
-fi
+_LDC=/usr/lib
+if [ -d /usr/lib/compat ]; then _LDC="${_LDC} /usr/lib/compat" ; fi
+if [ -d /usr/X11R6/lib ]; then _LDC="${_LDC} /usr/X11R6/lib" ; fi
+if [ -d /usr/local/lib ]; then _LDC="${_LDC} /usr/local/lib" ; fi
+echo 'setting ldconfig path:' ${_LDC}
+ldconfig ${_LDC}
 
 # Now start up miscellaneous daemons that don't belong anywhere else
 #
@@ -338,14 +214,12 @@
 echo -n ' inetd';		inetd
 echo -n ' cron';		cron
 
-if [ "X${lpd}" != X"NO" -a -x /usr/sbin/lpd ]; then
+if [ "X${lpd_enable}" = X"YES" ]; then
 	echo -n ' printer';		lpd
 fi
 
-# $sendmail_flags is imported from /etc/sysconfig;
-# if $sendmail_flags is something other than NO, sendmail is run.
-if [ "X${sendmail_flags}" != X"NO" -a -r /etc/sendmail.cf ]; then
-	echo -n ' sendmail';            /usr/sbin/sendmail ${sendmail_flags}
+if [ "X${sendmail_enable}" = X"YES" -a -r /etc/sendmail.cf ]; then
+	echo -n ' sendmail';	sendmail ${sendmail_flags}
 fi
 
 echo '.'
Index: rc.firewall
===================================================================
RCS file: /home/ncvs/src/etc/rc.firewall,v
retrieving revision 1.6
diff -u -r1.6 rc.firewall
--- rc.firewall	1996/09/05 11:22:09	1.6
+++ rc.firewall	1997/04/24 06:22:24
@@ -13,9 +13,6 @@
 # machine and ``simple'' will try to protect a whole network (entries should
 # be customized appropriately below).  To let no one in, use NONE.
 
-firewall_type=NONE
-
-
 ############
 #
 # If you don't know enough about packet filtering, we suggest that you
@@ -55,11 +52,11 @@
 
 
 # Prototype setups.
-if [ "${firewall_type}" = "open" ]; then
+if [ "${firewall}" = "open" ]; then
 
 	/sbin/ipfw add 65000 pass all from any to any
 
-elif [ "${firewall_type}" = "client" ]; then
+elif [ "${firewall}" = "client" ]; then
 
     ############
     # This is a prototype setup that will protect your system somewhat against
@@ -97,7 +94,7 @@
 
     # Everyting else is denied as default.
 
-elif [ "${firewall_type}" = "simple" ]; then
+elif [ "${firewall}" = "simple" ]; then
 
     ############
     # This is a prototype setup for a simple firewall.  Configure this machine 
Index: rc.pccard
===================================================================
RCS file: /home/ncvs/src/etc/rc.pccard,v
retrieving revision 1.1
diff -u -r1.1 rc.pccard
--- rc.pccard	1996/03/14 18:24:07	1.1
+++ rc.pccard	1997/04/24 06:01:16
@@ -4,17 +4,17 @@
 # HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
 #
 
-if [ "x$apm_enable" = "xYES" ] ; then
+if [ "X$apm_enable" = X"YES" ] ; then
 	echo "Enable APM BIOS."
-	/usr/sbin/apmconf -e
+	apmconf -e
 fi
 
-if [ "x$pccard_enable" != "xNO" ] ; then
+if [ "X$pccard_enable" = X"YES" ] ; then
 	if [ "x$pccard_mem" != "xDEFAULT" ] ; then
-		/usr/sbin/pccardc pccardmem $pccard_mem
+		pccardc pccardmem $pccard_mem
 	else
-		/usr/sbin/pccardc pccardmem 0xd0000
+		pccardc pccardmem 0xd0000
 	fi
 	echo -n "Enable PC-card." 
-	/usr/sbin/pccardd 2>&1 > /var/log/pccardd.debug &
+	pccardd 2>&1 > /var/log/pccardd.debug &
 fi
Index: etc.i386/rc.i386
===================================================================
RCS file: /home/ncvs/src/etc/etc.i386/rc.i386,v
retrieving revision 1.18
diff -u -r1.18 rc.i386
--- rc.i386	1996/09/09 19:59:14	1.18
+++ rc.i386	1997/04/24 18:56:19
@@ -4,24 +4,20 @@
 #	Do i386 specific processing
 #
 
-echo -n 'enabling FreeBSD/i386 options:'
-
+echo -n 'Initial rc.i386 initialization:'
 # Start the SCO binary emulation if requested.
-if [ "X${ibcs2}" = X"YES" ]; then
-	echo -n ' ';		ibcs2
-	# XXX BOGUS - ibcs2 script shouldn't make any output on success
+if [ "X${ibcs2_enable}" = X"YES" ]; then
+	echo -n ' ibcs2';		ibcs2 > /dev/null 2>&1
 fi
 
 # Start the Linux binary emulation if requested.
-if [ "X${linux}" = X"YES" ]; then
-	echo -n ' ';		linux
-	# XXX BOGUS - Linux script shouldn't make any output on success
+if [ "X${linux_aout_enable}" = X"YES" ]; then
+	echo -n ' linux';		linux > /dev/null 2>&1
 fi
 
-if [ "X${xtend}" != X"NO" -a -x /usr/libexec/xtend ]; then
+if [ "X${xtend_enable}" = X"YES" ]; then
  	echo -n ' xtend';	/usr/libexec/xtend
 fi
-
 echo '.'
 
 ##########################################################################
@@ -32,7 +28,7 @@
 kbddev=/dev/ttyv0
 viddev=/dev/ttyv0
 
-echo -n "configuring syscons:"
+echo -n "rc.i386 configuring syscons:"
 
 # keymap
 if [ "X${keymap}" != X"NO" ]; then
@@ -97,14 +93,13 @@
 	echo -n ' moused'
 	moused ${mousedflags} -p ${mousedport} -t ${mousedtype}
 fi
-
 echo '.'
 
 # interrupts for /dev/random device
 if [ "X${rand_irqs}" != X"NO" ] ; then
 	echo -n 'entropy source: '
 	rndcontrol ${rand_irqs}
+	echo '.'
 fi
 
-echo '.' # probably bogus
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?387.861908950>