Subject: Re: syslogd started before /var is mounted
To: Lubomir Sedlacik <salo@Xtrmntr.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: netbsd-help
Date: 01/19/2005 10:01:53
Lubomir Sedlacik <salo@Xtrmntr.org> writes:

> /etc/rc.conf:
> 
> critical_filesystems_local="/var"

I've been having to change these variables quite often.  It seems
that there is a historical notion (perhaps still used) of a boot
sequence that looks like:

mount / from disk
perhaps start nfs
mount /usr perhaps from nfs

This is all fine, but presupposes that we will continue to have
everything needed to make the network work in /.  I run systems that
need to start OSPF to get routes.  (Of course they don't use NFS.)
On these, I put /usr in critical_filesystems_local, so I can start
quagga from pkgsrc in rc.

So, I wonder if it might make sense to have the boot logic do

mount_crit_local:
  mount / from disk
  if any of (/var /usr) are on local disk, mount them

start network

mount_crit_remote:
  if any of /var /usr exist and are not mounted yet, mount them

This would perhaps DTRT in more cases.

An underlying issue is that there are two concepts "basic netowrking"
(/etc/rc.d/NETWORKING) and 'full networking', which doesn't seem to
have a /etc/rc.d/ equivalent.  For example, routed seems to be in the
wrong place (2.0ish):

> rcorder *|egrep NET\|route\|network
network
staticroute
NETWORKING
mrouted
route6d
routed


-- 
        Greg Troxel <gdt@ir.bbn.com>