Subject: Re: boot sequence problems
To: Dan McMahill <mcmahill@mtl.mit.edu>
From: David Brownlee <abs@anim.dreamworks.com>
List: netbsd-users
Date: 05/24/1998 18:34:53
If you can live with ipnat not being started until the end of
bootup then /etc/rc.local would be the ideal place to put it.
David/absolute
-=- "Why am I seething with this animosity" -=-
On Sun, 24 May 1998, Dan McMahill wrote:
>
>
> I just replaced the drive on my machine and at the same time went
> to seperate / and /usr partitions. After that the machine would
> not boot properly due to the order in which /etc/rc does things.
>
> The relevent stuff from /etc/rc is:
>
> umount -a >/dev/null 2>&1
> mount /
>
> {snip}
> # set hostname, turn on network
> echo 'starting network'
> sh /etc/netstart
> if [ $? -ne 0 ]; then
> exit 1
> fi
>
> for fs in /usr /var $critical_filesystems; do
> mount | (
> ismounted=no
> while read what _on on _type type; do
> if [ $on = $fs ]; then
> ismounted=yes
> fi
> done
> if [ $ismounted = no ]; then
> mount $fs >/dev/null 2>&1
> fi
> )
> done
>
> # "Critical" file systems are now mounted.
>
>
> The problem is this. The last line of /etc/netstart has
> if [ -s /etc/netstart.local ]; then
> . /etc/netstart.local
> fi
>
> and in /etc/netstart.local I have:
>
> dhclient ae1
>
> CONFLINE="map ae1 10.0.0.0/8 -> `ifconfig ae1 | grep "inet.*netmask" | cut -d " " -f 2 `/32 portmap
> tcp/udp 10000:20000"
> #CONFLINE="map ppp0 10.0.0.0/8 -> 18.62.4.149/32 portmap tcp/udp 10000:20000"
> echo $CONFLINE > /etc/ipnat.conf
> ipnat -f /etc/ipnat.conf
>
>
> Anyway the problem is that 'grep', and 'cut' live in /usr/bin and 'ipnat' lives
> in '/usr/sbin' but at this point /usr has not been mounted yet. For now I've
> simply put
> mount /usr >/dev/null 2>&1
> in /etc/rc just before the netstart stuff.
>
> Is this the "right way" to make it work? Should the mounting of critical
> file systems come before the network (or is this a problem for machines
> who nfs mount /usr). Perhaps there's a better way to start ipnat and dhcp?
>
> Comments?
>
> Thanks
>
> -- Dan
>